4    Programming Documentation

This chapter describes the documentation designed for software developers who write applications on or for the Tru64 UNIX operating system. The books in this category are generally geared toward advanced users. Each document is individually described.

Books that are printed can be purchased from Compaq in the documentation kits described in Section 1.5.

Except for a few externally published manuals, the documentation described here was produced by Compaq writers working closely with the developers of the Tru64 UNIX operating system.

Books identified as revised, were updated with the Version 5.1A release.

4.1    Printed and Online Documentation

The documentation described in this section is provided on the Tru64 UNIX Documentation CD-ROM and in the optional printed documentation kits. For more information on the printed documentation set, see Section 1.5.

4.1.1    Assembly Language Programmer's Guide

The Assembly Language Programmer's Guide describes the Alpha hardware architecture's assembly language, which is supported by the Tru64 UNIX compiler system. The manual describes the assembly language syntax rules, and how to write assembly language programs.

This manual is for system software developers who are writing assembly language programs on or for Tru64 UNIX.

4.1.2    Asynchronous Transfer Mode

The Asynchronous Transfer Mode manual describes the Tru64 UNIX Asynchronous Transfer Mode (ATM) subsystem, how to configure the subsystem, and how to use the ATM kernel interfaces. It is written for experienced UNIX kernel programmers who are responsible for writing ATM device drivers and kernel modules. After reading this manual, a kernel programmer should be able to do the following:

This manual does not describe the application programming interface (API) that user-level applications would use to access the ATM subsystem. This manual is not an ATM networking tutorial.

4.1.3    Calling Standard for Alpha Systems

The Calling Standard for Alpha Systems manual defines the requirements, mechanisms, and conventions used in the interface that supports procedure calls on Tru64 UNIX for Alpha systems. The standard defines data structures, constants, algorithms, conventions, methods, and functional interfaces, which enable a native, user-mode procedure to operate correctly in the multilanguage and multithreaded Tru64 UNIX environment on Alpha hardware.

Although this manual primarily defines requirements for compiler and debugger writers, the information applies to procedure calling for all programmers at all levels of programming.

4.1.4    Cluster Highly Available Applications (revised)

The online version of the Cluster Highly Available Applications manual is included with the programming information because it contains information of interest to programmers. The printed version is included in the Tru64 UNIX media kit and with the TruCluster Server product. See Section 2.1.9 for information about this manual.

See Section 3.1.4 for information about this manual.

4.1.5    Compaq C Language Reference Manual (revised)

The Compaq C Language Reference Manual (previously called the DEC C Language Reference Manual) provides reference information for using the Compaq C language on Compaq systems. Compaq C is an ISO/ANSI-compliant C compiler for Tru64 UNIX and OpenVMS, VAX, and Alpha systems.

The C language is based on the ISO C Standard (ISO 9899:1990[1992]), formerly the ANSI X3J11 committee's standard for the C programming language (commonly called ANSI C). This manual describes all library functions and language extensions to the ANSI C standard.

This manual is intended for programmers who need reference information on the Compaq C language. For task-oriented information or platform-specific information, see the cc(1) reference page and the Programmer's Guide.

4.1.6    Guide to Preparing Product Kits (revised)

The Guide to Preparing Product Kits describes the procedures for creating, maintaining, and installing the collections of files and directories that make up a layered product kit. A kit is the standard mechanism by which layered product modifications are delivered and maintained on a Tru64 UNIX system. Kits are distributed on CD-ROM, diskettes, or tape for installation on customers' systems.

This is the same manual that is included in the Tru64 UNIX Device Drivers Kit (Chapter 7).

4.1.7    Guide to Realtime Programming

The Guide to Realtime Programming is for programmers who are developing realtime applications on Tru64 UNIX systems. It provides information on writing new realtime applications and porting existing realtime applications from other systems.

This manual does not present function syntax or reference information; the online reference pages provide that information.

This manual is for application programmers or system engineers who are already familiar with the C programming language. Readers should have experience with UNIX operating systems and with UNIX software development tools.

4.1.8    Guide to the POSIX Threads Library

The Guide to the POSIX Threads Library (formerly called Guide to DECthreads) provides usage and reference information on POSIX Threads Library routines. It provides information on the three POSIX Threads Library interfaces used to perform multithreaded operations: cma, pthread, and pthread exception-returning.

This manual is for programmers writing multithreaded applications. Readers should have experience with a high-level programming language (such as C), with UNIX operating systems, and with UNIX software development tools.

4.1.9    Network Programmer's Guide (revised)

The Network Programmer's Guide describes the Tru64 UNIX network programming environment. It provides an in-depth description of the X/Open Transport Interface (XTI) and the sockets and STREAMS programming frameworks, including information about system calls, header files, and libraries. Additionally, it provides information about porting sockets-based applications to XTI.

This manual also describes the software bridge ifnet (STREAMS module and DLPI STREAMS pseudodevice driver) that the Tru64 UNIX operating system supports. This bridge allows programs that use sockets-based protocol stacks to access STREAMS drivers and programs that use STREAMS-based protocol stacks to access BSD-based drivers.

This manual is for experienced UNIX programmers.

4.1.10    Programmer's Guide

The Programmer's Guide describes the programming environment of the Tru64 UNIX operating system, with an emphasis on the C programming language.

Topics include the following:

This manual is for programmers who use the Tru64 UNIX operating system to create or maintain programs in any supported language.

4.1.11    Programming Support Tools

The Programming Support Tools manual describes commands and utilities for text manipulation, macro and program generation, and source file management on Tru64 UNIX.

Although the commands and utilities described in this manual are primarily for programmers, some of them (such as grep and sed) are useful for general users.

The following topics are among those discussed:

This manual is for moderately experienced users of UNIX systems.

4.1.12    Programming with ONC RPC

The Programming with ONC RPC manual provides an overview of high-level programming with remote procedure calls (RPC) in the Open-Network Computing Environment (ONC). It describes how to use the rpcgen protocol compiler to create RPC applications and describes the RPC programming interface.

This manual is for programmers who want to write network applications without knowledge of the underlying network.

4.1.13    Security (revised)

The online version of the Security manual is included with the programming information because it contains information of interest to programmers. However, the printed version is included only in the End User Documentation Kit. See Section 2.1.9 for information about this manual.

4.1.14    Writing Kernel Modules

Kernel modules are binary images containing code and data structures that run in the UNIX kernel. These modules provide a level of common code that improves the efficiency of a system by combining like tasks in a single area and eliminating redundant code.

The Writing Kernel Modules manual provides information for developers who want to augment the kernel with modules tailored to their particular environment.

This manual is also included in the Tru64 UNIX Device Drivers Kit ( Chapter 7).

4.1.15    Writing Software for the International Market

Internationalization (often called I18N) is the process of designing or adapting programs to interact with users in their own language and to reflect the culture of the user's region.

The Writing Software for the International Market manual provides an overview of internationalization concepts. It also provides details about writing internationalized programs, creating and using message catalogs, and developing or customizing locales.

The following topics are among those discussed:

Also included is a summary of worldwide portability interfaces (WPI) that are defined by Version 5 of the X/Open CAE specification for system interfaces and headers (XSH), and sample locale source files.

This manual is for programmers developing internationalized applications for the Tru64 UNIX operating system.

4.2    Printed-Only Documentation

The documentation described in this section is provided only in printed books and is included in the Tru64 UNIX documentation kits.

4.2.1    OSF/Motif Programmer's Guide

The OSF/Motif Programmer's Guide (produced by the OSF and published by Prentice Hall) provides programming information on how to use the various components of the OSF/Motif environment: the Toolkit, window manager, and user interface language.

This manual is for programmers who want to create applications in the OSF/Motif environment.

4.2.2    OSF/Motif Style Guide

The OSF/Motif Style Guide (produced by the OSF and published by Prentice Hall) provides a framework of behavior specifications to guide application developers, widget developers, and window manager developers in the design and implementation of products consistent with the Presentation Manager and the OSF/Motif user interface.

This manual establishes consistent behavior among new products by drawing out common elements from a variety of current behavioral models.

This manual is for programmers and interface designers developing OSF/Motif applications who want to present a uniform and usable software interface consistent with other OSF/Motif applications.

4.2.3    Programmer's Guide: STREAMS

The Programmer's Guide: STREAMS (published by Prentice Hall) provides information on the use of the STREAMS mechanism at the user and kernel levels. It contains introductory information for those who are unfamiliar with the STREAMS mechanism.

This manual addresses topics such as using STREAMS to monitor, control, and poll STREAMS; designing and implementing STREAMS modules and drivers; and using STREAMS-based pipes and FIFOs. It also describes the STREAMS multiplexing facility and the STREAMS-based terminal and pseudo-terminal subsystems.

4.3    Online-Only Documentation

The documentation described in this section is provided on the Documentation CD-ROM and the Web.

4.3.1    Common Desktop Environment: Application Builder User's Guide

The Common Desktop Environment: Application Builder User's Guide introduces the Application Builder and explains how to use it to build CDE applications. Because the Application Builder helps to easily create and modify user interfaces, it is a powerful tool for programmers, user interface designers, and project managers.

4.3.2    Common Desktop Environment: Desktop KornShell User's Guide

The Common Desktop Environment: Desktop KornShell User's Guide provides the information needed to create Motif applications with KornShell (ksh) scripts. It also provides several example scripts of increasing complexity.

This manual is for programmers who want to develop Motif applications using KornShell scripts rather than the C programming language. Readers should have knowledge of KornShell programming, Motif, and the Xt Intrinsics, as well as familiarity with the X programming library (Xlib).

4.3.3    Common Desktop Environment: Help System Author's and Programmer's Guide

The Common Desktop Environment: Help System Author's and Programmer's Guide describes how to develop online help for CDE applications. It describes how to create help topics and how to integrate online help into a CDE application.

This manual is for application programmers who want to do the following:

4.3.4    Common Desktop Environment: Internationalization Programmer's Guide

The Common Desktop Environment: Internationalization Programmer's Guide provides information for internationalizing the desktop and enabling applications to support various languages and cultural conventions in a consistent user interface.

This manual is for CDE application programmers whose products are available worldwide.

4.3.5    Common Desktop Environment: Product Glossary

This Common Desktop Environment: Product Glossary provides a comprehensive list of terms used in the Common Desktop Environment.

This manual is for all CDE users.

4.3.6    Common Desktop Environment: Programmer's Guide

The Common Desktop Environment: Programmer's Guide contains the information needed to integrate an existing application into the CDE desktop. It also describes how to write new CDE applications.

Readers should be familiar with Motif, X, UNIX, and C programming.

4.3.7    Common Desktop Environment: Programmer's Overview

The Common Desktop Environment: Programmer's Overview provides a high-level view of the development environment and the developer documentation set for CDE. It is for the following audiences:

4.3.8    Common Desktop Environment: Style Guide and Certification Checklist

The Common Desktop Environment: Style Guide and Certification Checklist provides style guidelines for CDE application design and lists the requirements for CDE application-level certification. CDE requirements consist of the OSF/Motif Version 1.2 requirements with CDE-specific additions.

4.3.9    Java Documentation

The Tru64 UNIX operating system includes a JavaTM Development Kit (JDK), which provides tools to develop and run Java applets and programs on the Tru64 UNIX operating system.

The Java Development Kit (overview) provides a link to Compaq's Java web site, which offers free Java downloads for Compaq's Alpha platforms and online documentation for you to read prior to downloading a Java kit. It also provides access to a site were you can offer comments, make suggestions, or ask questions about the Compaq JDK and Java SDK product.

4.3.10    Ladebug Debugger Manual (revised)

The Ladebug Debugger is a tool for debugging executable programs at the source-code and machine-code levels. It can debug programs written in C and C++, Ada, COBOL, and Fortran.

The Ladebug Debugger Manual is for developers who need to debug multiprocess and multithreaded applications, perform kernel debugging, and perform remote client/server debugging.

4.3.11    Object File and Symbol Table Format Specification

The Object File and Symbol Table Format Specification provides technical information for compiler and debugger writers and other developers who must access or manipulate object files on the Tru64 UNIX operating system. It supplements or replaces information that has been previously available in the Assembly Language Programmer's Guide. Readers should be familiar with basic program development and symbol table concepts.

4.3.12    Technical References for Asian Languages

The following guides provide language-specific information and describe the features of several Asian languages supported on the Tru64 UNIX system. The guides describe character and code sets, locales, device setup, keyboards, printing, and input methods. The information in these guides is useful to programmers and to some advanced users of the Tru64 UNIX system:

4.3.13    ToolTalk Service Documentation

ToolTalk is an interapplication communication service that is included as part of the Common Desktop Environment. ToolTalk provides a way for applications and desktop components to request services from each other and to announce events. The following books provide information about the ToolTalk service:

4.3.14    X Window System Documentation

The X Window System is a network-transparent window system, in which multiple applications can run simultaneously in windows, generating text and graphics in monochrome or color on a bitmap display. Network transparency means that application programs can run on machines scattered throughout the network. Because the X Window System permits applications to be device-independent, applications need not be rewritten, recompiled, or even relinked to work with new display hardware.

The documentation described in this section was written by the engineers who developed the X Window System and was provided by the X Consortium.