ISO/IEC/IEEE 9945:2008 defines a standard operating system interface and environment, including a command interpreter (or "shell"), and common utility programs to support applications portability at the source code level. ISO/IEC/IEEE 9945:2008 is intended to be used by both application developers and system implementers and comprises four major components (each in an associated volume).
General terms, concepts, and interfaces common to all volumes of this standard, including utility conventions and C-language header definitions, are included in the Base Definitions volume.
Definitions for system service functions and subroutines, language-specific system services for the C programming language, function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume.
Definitions for a standard source code-level interface to command interpretation services (a "shell") and common utility programs for application programs are included in the Shell and Utilities volume.
Extended rationale that did not fit well into the rest of the document structure, which contains historical information concerning the contents of ISO/IEC/IEEE 9945:2008 and why features were included or discarded by the ISO/IEC/IEEE 9945:2008 developers, is included in the Rationale (Informative) volume.
The following areas are outside the scope of ISO/IEC/IEEE 9945:2008:
database management system interfaces;
record I/O considerations;
object or binary code portability;
system configuration and resource availability.
ISO/IEC/IEEE 9945:2008 describes the external characteristics and facilities that are of importance to application developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on those functions and facilities that are needed in a wide variety of commercial applications.