Open System Services Programmer's Guide
About This Document
The Open System Services Programmer’s Guide describes how to write software applications for
the OSS environment. Emphasis is on the C and C++ programming languages. This guide includes
information about:
• How the OSS environment differs from the standard UNIX programming environment
• When you need to use the Guardian application program interface (API) in OSS C programs
• Which tasks can be performed only from the Guardian or OSS API
• Performance considerations
• 64-bit support, beginning with the H06.24 and J06.13 RVUs
The basics of how to program in a UNIX environment are well documented in commercial texts
and are not an objective of this guide. Please refer to the following books for information about
programming in a UNIX environment.
• Advanced Programming in the UNIX Environment, W. Richard Stevens, Addison-Wesley,
1992.
• Multithreaded Programming with Pthreads, Bill Lewis and Daniel J. Berg, Sun Microsystems
Press, 1998.
• POSIX Programmer’s Guide, Donald Lewine, O’Reilly and Associates, Inc., 1991.
• Practical UNIX & Internet Security, Simon Garfinkel and Gene Spafford, O’Reilly and
Associates, Inc., 1996.
• Pthreads Programming, Bradford Nichols, Dick Buttlar, and Jacqueline Proulx Farrell, O’Reilly
and Associates, Inc., 1996.
• UNIX Network Programming, 2nd Edition, W. Richard Stevens, Prentice-Hall, 1997.
About TNS, TNS/R Native, and TNS/E Native Processes
A TNS process is initiated by executing a TNS interpreted or accelerated object file; TNS object
code executes on TNS, TNS/R, and TNS/E systems. A TNS/R native process is initiated by
executing a TNS/R native object file; TNS/R native object code executes only on TNS/R systems.
A TNS/E native process is initiated by executing a TNS/E native object file; TNS/E native object
code executes only on TNS/E systems.
In this guide, the term “native process” refers generically to TNS/R and TNS/E native processes.
When it is necessary to distinguish between platforms, the terms “TNS/R native process” and
“TNS/E native process” are used. In most cases, the behavior of TNS and native processes is the
same. When it is not, the guide provides considerations or notes about how TNS process behavior
differs from that of native processes.
About the Examples
This guide contains programming examples in C to illustrate how programming in the OSS
environment differs from programming in a standard UNIX environment.
The examples are designed to focus on a particular function or programming construct. They are
intentionally short and to-the-point to avoid distracting from the example’s primary focus.
The effort to keep the examples concise means, however, that the programming examples are not
models of how an experienced programmer would verify user input. Verifying user input can require
a lot of code, and this guide assumes you are an experienced programmer who knows how to
edit user input.
About TNS, TNS/R Native, and TNS/E Native Processes 15