Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)
Open System Services accomplishes interoperability between environments using standard function
calls and HP extensions to these calls and to the Guardian procedures. Chapter 1 (page 23),
discusses the relationships of the OSS and Guardian environments to the NonStop operating
system.
Figure 2 illustrates interoperability between the OSS and Guardian environments. The line weight
of the arrows represents the degree of availability and effectiveness of operations within one
environment and between environments. The thick, vertical arrows signify the availability of more
services, functions, procedures, utilities and so on for one-environment operations. The thin arrows
pointing to the objects signify that fewer services are available for these operations.
Whenever possible, stay within a single environment when it makes sense to do so.
For example, it would not be efficient to select an OSS process to use a Guardian application
program interface (API) to access an OSS object; this operation would involve additional, internal
exchanges. The more direct route is to stay in the OSS environment for this operation.
Figure 2 OSS and Guardian Interoperability
Beginning with the H06.24 and J06.13 RVUs, features have been added for interoperability
between the 64-bit OSS programming environment and the Guardian programming environment.
For information about this type of interoperability, see the 64-Bit Support in OSS and Guardian
chapter in the Open System Services Programmer's Guide.
C Programming and Interoperability
Writing C programs for the Open System Services (OSS) environment is nearly identical to writing
C programs for a UNIX environment. Programs must comply with the ISO/ANSI C standard and
can call most of the function calls specified by the POSIX.1 standard and the XPG4 specifications.
Because the NonStop operating system supports both the OSS and Guardian environments, you
can write programs that manipulate objects in both environments. The HP C compiler complies
with the ISO/ANSI C standard. Any C program that strictly conforms with this standard and does
not use features beyond this standard can immediately be compiled with the HP C compiler.
Programs written in Common C (also called Kernighan and Ritchie C) must be converted to
ISO/ANSI C. Refer to the Open System Services Programmer’s Guide and the C/C++ Programmer’s
Purpose of Interoperability 53