Standards

Each function description begins with a table to indicate the standards/extensions, language support, and dependencies. See the table below for more details:

Standards / Extensions C or C++ Dependencies
ISO C C only POSIX(ON)
ISO C Amendment C++ only OS/390 V2R6
POSIX.1 both OS/390 V2R7
POSIX.1a   OS/390 V2R8
POSIX.2   OS/390 V2R9
POSIX.4a   OS/390 V2R10
POSIX.4b   z/OS V1R1
BSD 4.3   z/OS V1R2
XPG4   z/OS V1R3
XPG4.2   z/OS V1R4
SAA   z/OS V1R5
C Library   z/OS® V1R6
Language Environment®   z/OS V1R7
z/OS UNIX   z/OS V1R8
Single UNIX Specification, Version 2   z/OS V1R9
ISO/ANSI C++   AMODE 64
RFC2292    
RFC2553    
RFC3678    
ANSI/IEEE Standard P754    
C99    
Single UNIX Specification, Version 3    
C/C++ DFP    
C++ TR1 C99    

By indicating a standard, we refer to the origin of the function, not necessarily the compliance. For example, functions that are enriched by features from XPG4 have XPG4 listed.

These are the standards referred to:

These standards do have some overlap, as illustrated in Figure 1.

Figure 1. Overlap of C Standards and Extensions
Overlap of C Standards and Extensions

The C library contains several functions that are extensions to the SAA CPI Level 2 definition. These library functions are available only if the LANGLVL(EXTENDED) compile-time option is in effect. As indicated, some of the stub routines for the extensions are available if you specify LANGLVL(ANSI). They are made available for compatibility with Version 1; they may not be available in the future. (Within runtime libraries, a stub routine is a routine that contains the minimum lines of code required to locate a given routine at run time.)

Many of the symbols that are defined in headers are “protected” by a feature test macro. For information on the relationships between feature test macros and the standards, see Feature test macros.