ISO/IEC/IEEE 9945:2009 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:2009 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:2009 and why features were included or discarded by the ISO/IEC/IEEE 9945:2009 developers, is included in the Rationale (Informative) volume.
The following areas are outside the scope of ISO/IEC/IEEE 9945:2009:
- graphics interfaces;
- database management system interfaces;
- record I/O considerations;
- object or binary code portability;
- system configuration and resource availability.
ISO/IEC/IEEE 9945:2009 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.
Status: Under development
Technical Committee: ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces