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:
Understand the ATM subsystem architecture
Configure ATM software
Understand how the different kernel interfaces operate
Write a kernel module
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:
The compiler system
Pragma preprocessor directives
Shared libraries
Debugging programs with
dbx
Debugging programs with Third Degree
Profiling programs to improve performance
Using and developing Atom tools
Optimizing techniques
Handling exception conditions
Developing thread-safe libraries
Open MP parallel processing
Posting and receiving EVM events
Using 32-bit pointers on Tru64 UNIX systems
Differences in the System V habitat
Creating dynamically configurable kernel subsystems
The "old-style" (pre-OpenMP) parallel-processing interface
Handling names of device special files
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:
Finding information with regular expressions and the
grep
command
Matching patterns and processing information with
awk
Editing files with the
sed
editor
Creating input language analyzers and parsers
Using m4 macros in programs
Managing source files with RCS or SCCS
Building programs with the
make
utility
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:
Developing internationalized software
Creating and using message catalogs
Handling wide-character data with
curses
routines
Creating internationalized X, Xt, and Motif applications
Using internationalized software
Creating locales
Setting up and using user-defined character databases
Setting up and using the Chinese phrase input method
Using DECterm localization features in programs
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:
Design, create, and view online help information
Create software applications that provide a fully integrated help facility
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:
Application developers who develop new CDE applications, or integrate existing OSF/Motif applications into CDE
Managers or project leaders interested in designing a project involving applications that will run on CDE
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:
Common Desktop Environment: ToolTalk Messaging Overview
The Common Desktop Environment: ToolTalk Messaging Overview describes how the ToolTalk service works and how it uses information that applications supply to deliver messages. It also describes how applications use the ToolTalk service and ToolTalk components.
The reader should be familiar with the ToolTalk service, UNIX operating system commands, system administrator commands, and system terminology.
The ToolTalk User's Guide is useful to developers who create or maintain applications that use the ToolTalk service to interoperate with other applications; it is also useful to system administrators who set up workstations.
The reader should be familiar with operating system commands, system administrator commands, and system terminology.
The ToolTalk Reference Manual describes components of the ToolTalk application programming interface such as enumerated types and functions. It also describes enhanced operating system shell commands, error messages, and standard ToolTalk messaging sets.
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.
X Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XFLD
The X Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XFLD manual describes the features of X Window System Version 11, Release 4. This manual was written by Robert W. Scheifler and James Gettys, and was originally published by Digital Press.
The X Window System Protocol manual describes Version 11, Release 6 of the X Window System protocol. This paper was written by Robert W. Scheifler.
Inter-Client Communication Conventions Manual
The Inter-Client Communication Conventions Manual proposes suitable conventions for interclient communications with X Window System Version 11 software. The proposed conventions do not attempt to enforce any particular user interface. To permit clients written in different languages to communicate, these conventions are expressed in terms of protocol operations, rather than the more familiar associated Xlib interfaces.
This manual (written by David Rosenthal) is based on the Release 6 software.
X Toolkit Intrinsics -- C Language Interface
Intrinsics are a programming library tailored to the special requirements of user-interface construction within a network window system -- specifically the X Window System. The Intrinsics and a widget set make up the X Toolkit. The X Toolkit Intrinsics -- C Language Interface manual describes the X Toolkit Intrinsics. It is based on Version 11, Release 6.
This manual (written by Joel McCormack, Paul Asente, and Ralph R. Swick) is intended for application programmers who will use one or more of the many widget sets built with the Intrinsics and by widget programmers who will use the Intrinsics to build widgets for one of the widget sets.
X Logical Font Description Conventions
The X Logical Font Description Conventions (XLFD) manual provides a standard logical font description and the conventions to be used in the core protocol, so that clients can query and access screen type libraries in a consistent manner across all X servers. In addition to completely specifying a given font by means of its FontName, the XLFD also provides a standard set of key FontProperties that describe the font in more detail.
Written by Jim Flowers, this manual is based on X Window System Version 11, Release 6.
Xlib -- C Language X Interface
The Xlib -- C Language X Interface manual provides reference information for the low-level C language interface to the X Window System protocol. It provides a detailed description of each function in the library, as well as a discussion of the related background information. It is not tutorial nor a user's guide to programming the X Window System.
This manual is based on Version 11, Release 6 of the X Window System. The reader should have a basic understanding of a graphics window system and of the C programming language. It was written by Robert W. Scheifler and James Gettys.