Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

File Summit (LFS) submission, version 1.5 (March 20, 1996), and are supported on systems
running G06.29 or later G-series RVUs, H06.06 or later H-series RVUs, and on J-series RVUs.
Functions that support OSS access control lists (ACLs) are based on the HP-UX implementation
and Information Technology Portable Operating System Interface (POSIX) Part 1: System
Application Program Interface (API) Amendment #: Protection, Audit, and Control Interfaces
[C Language] (IEEE Draft P1003.1e), October 1997. These functions are supported systems
running Version 3 OSS filesets.
OSS Compliance With UNIX 98 and Other Open Group Technical Standards
In general, current Open Group standards are supersets of the XPG4 specifications. Standards
such as the Single UNIX Specification, Version 2, are provided for vendors who want to achieve
branding of a product as (for example) UNIX 98. (The OSS environment is not branded.)
When a specific OSS function or command is XPG4-compliant, it is compliant with the Open Group
successor standard as well. However, not all features defined by the Single UNIX Specification
are available in the OSS environment. For example, certain feature test macros such as
_XOPEN_LEGACY are not provided and the feature test macro _XOPEN_SOURCE does not have
the value 500.
Open System Services provides many of the APIs and utilities found in the UNIX 98 operating
systems. In particular, OSS provides the APIs and utilities used for developing and managing server
applications, as opposed to client applications.
ISO/ANSI C Standard and the HP NonStop C Compiler
The ISO/ANSI C standard specifies C language semantics. It specifies the language syntax for C,
C header files, and the C run-time library routines. The ISO/ANSI C standard is documented by
ANSI and ISO.
The HP NonStop C compiler is ISO/ANSI C compliant and does not support compilation of
Common C programs.
ISO/ANSI C Features
Some ISO/ANSI C standard features are implementation-defined. The vendor can choose what
values to give to those features.
Table 1 lists new ISO/ANSI C features, not supported in Common C. New ISO/ANSI C features
are important only if your program is written in Common C.
Table 1 ISO/ANSI C Features Not Supported in Common C
ISO/ANSI C FeatureFeature Type
Preprocessor ## added for concatenation of tokens
# added for creation of strings
#pragma added (nonportable)
#elif added
Parameters inside strings are not replaced
Splicing lines with the backslash (\) is allowed everywhere
Character set Trigraphs added
wchar_t added for wide-character strings
Can be signed as well as unsigned
Identifiers Minimum significance of internal identifiers increased to
31 characters
Names beginning with underscore (_) followed by another
underscore or a capital letter are reserved by the system
Inclusion of the system header file might result in some
names being reserved
26 Introduction to Porting