Hello. Sign In
Standards Store

ISO/IEC 9945-2

2003 Edition, August 15, 2003

Complete Document

Information technology - Portable Operating System Interface (POSIX®) - Part 2: System Interfaces TECHNICAL CORRIGENDUM 1

Includes all amendments and changes through Corrigendum , September 15, 2004

View Abstract
Product Details
Document History

Detail Summary

Superseded By:

Additional Comments:
Price (USD)
Single User
In Stock
Add to Cart

Product Details:

Description / Abstract:

IEEE Std 1003.1-2001 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. It is intended to be used by both applications developers and system implementors.

IEEE Std 1003.1-2001 comprises four major components (each in an associated volume):

 1. General terms, concepts, and interfaces common to all volumes of IEEE Std 1003.1-2001, including utility conventions and C-language header definitions, are included in the Base Definitions volume of IEEE Std 1003.1-2001.

 2. 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 of IEEE Std 1003.1-2001.

 3. 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 of IEEE Std 1003.1-2001.

 4. Extended rationale that did not fit well into the rest of the document structure, containing historical information concerning the contents of IEEE Std 1003.1-2001 and why features were included or discarded by the standard developers, is included in the Rationale (Informative) volume of IEEE Std 1003.1-2001.

The following areas are outside of the scope of IEEE Std 1003.1-2001:

 • Graphics interfaces

 • Database management system interfaces

 • Record I/O considerations

 • Object or binary code portability

 • System configuration and resource availability

IEEE Std 1003.1-2001 describes the external characteristics and facilities that are of importance to applications 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.

The facilities provided in IEEE Std 1003.1-2001 are drawn from the following base documents:

 • IEEE Std 1003.1-1996 (POSIX-1) (incorporating IEEE Stds 1003.1-1990, 1003.1b-1993, 1003.1c-1995, and 1003.1i-1995)

 • The following amendments to the POSIX.1-1990 standard:

 - IEEE P1003.1a draft standard (Additional System Services)

 - IEEE Std 1003.1d-1999 (Additional Realtime Extensions)

 - IEEE Std 1003.1g-2000 (Protocol-Independent Interfaces (PII))

 - IEEE Std 1003.1j-2000 (Advanced Realtime Extensions)

 - IEEE Std 1003.1q-2000 (Tracing)

 • IEEE Std 1003.2-1992 (POSIX-2) (includes IEEE Std 1003.2a-1992)

 • The following amendments to the ISO POSIX-2: 1993 standard:

 - IEEE P1003.2b draft standard (Additional Utilities)

 - IEEE Std 1003.2d-1994 (Batch Environment)

 • Open Group Technical Standard, February 1997, System Interface Definitions, Issue 5 (XBD5) (ISBN: 1-85912-186-1, C605)

 • Open Group Technical Standard, February 1997, Commands and Utilities, Issue 5 (XCU5) (ISBN: 1-85912-191-8, C604)

 • Open Group Technical Standard, February 1997, System Interfaces and Headers, Issue 5 (XSH5) (in 2 Volumes) (ISBN: 1-85912-181-0, C606) Note: XBD5, XCU5, and XSH5 are collectively referred to as the Base Specifications.

 • Open Group Technical Standard, January 2000, Networking Services, Issue 5.2 (XNS5.2) (ISBN: 1-85912-241-8, C808)

 • ISO/IEC 9899: 1999, Programming Languages - C. IEEE Std 1003.1-2001 uses the Base Specifications as its organizational basis and adds the following additional functionality to them, drawn from the base documents above:

 • Normative text from the ISO POSIX-1: 1996 standard and the ISO POSIX-2: 1993 standard not included in the Base Specifications

 • The amendments to the POSIX.l-1990 standard and the ISO POSIX-2: 1993 standard listed above, except for parts of IEEE Std 1003.1g-2000

 • Portability Considerations

 • Additional rationale and notes

The following features, marked legacy or obsolescent in the base documents, are not carried forward into IEEE Std 1003.1-2001. Other features from the base documents marked legacy or obsolescent are carried forward unless otherwise noted.

From XSH5, the following legacy interfaces, headers, and external variables are not carried forward:

advance( ), brk( ), chroot( ), compile( ), cuserid( ), gamma( ), getdtablesize( ), getpagesize( ), getpass( ), getw( ), putw( ), re_comp( ), re_exec( ), regcmp( ), regex( ), sbrk( ), sigstack( ), step( ), ttyslot( ), valloc( ), wait3( ), <re_comp.h>, <regexp.h>, <varargs.h>, loc1, ___loc1, loc2, locs

From XCU5, the following legacy utilities are not carried forward:

calendar, cancel, cc, col, cpio, cu, dircmp, dis, egrep, fgrep, line, lint, lpstat, mail, pack, pcat, pg, spell, sum, tar, unpack, uulog, uuname, uupick, uuto

In addition, legacy features within non-legacy reference pages (for example, headers) are not carried forward.

From the ISO POSIX-1: 1996 standard, the following obsolescent features are not carried forward:

Page 112, CLK_TCK

Page 197 tcgetattr ( ) rate returned option

From the ISO POSIX-2: 1993 standard, obsolescent features within the following pages are not carried forward:

Page 75, zero-length prefix within PATH

Page 156,159 set

Page 178, awk, use of no argument and no parentheses with length

Page 259, ed

Page 272, env

Page 282, find -perm[-]onum

Page 295-296, egrep

Page 299-300, head

Page 305-306, join

Page 309-310, kill

Page 431-433,435-436, sort

Page 444-445, tail

Page 453,455-456, touch

Page 464-465, tty

Page 472, uniq

Page 515-516, ex

Page 542-543, expand

Page 563-565, more

Page 574-576, newgrp

Page 578, nice

Page 594-596, renice

Page 597-598, split

Page 600-601, strings

Page 624-625, vi Page 693, lex

The c89 utility (which specified a compiler for the C Language specified by the ISO/IEC 9899: 1990 standard) has been replaced by a c99 utility (which specifies a compiler for the C Language specified by the ISO/IEC 9899: 1999 standard).

From XSH5, text marked OH (Optional Header) has been reviewed on a case-by-case basis and removed where appropriate. The XCU5 text marked OF (Output Format Incompletely Specified) and UN (Possibly Unsupportable Feature) has been reviewed on a case-by-case basis and removed where appropriate.

For the networking interfaces, the base document is the XNS, Issue 5.2 specification. The following parts of the XNS, Issue 5.2 specification are out of scope and not included in IEEE Std 1003.1-2001:

 • Part 3 (XTI)

 • Part 4 (Appendixes)

Since there is much duplication between the XNS, Issue 5.2 specification and IEEE Std 1003.1g-2000, material only from the following sections of IEEE Std 1003.1g-2000 has been included:

 • General terms related to sockets (Section 2.2.2)

 • Socket concepts (Sections 5.1 through 5.3, inclusive)

 • The pselect ( ) function (Sections and 6.2.3)

 • The sockatmark ( ) function (Section 5.4.13)

 • The <sys/select.h>  header (Section 6.2)

Emphasis is placed on standardizing existing practice for existing users, with changes and additions limited to correcting deficiencies in the following areas:

 • Issues raised by IEEE or ISO/IEC Interpretations against IEEE Std 1003.1 and IEEE Std 1003.2

 • Issues raised in corrigenda for the Base Specifications and working group resolutions from The Open Group

 • Corrigenda and resolutions passed by The Open Group for the XNS, Issue 5.2 specification

 • Changes to make the text self-consistent with the additional material merged

 • A reorganization of the options in order to facilitate profiling, both for smaller profiles such as IEEE Std 1003.13, and larger profiles such as the Single UNIX Specification

 • Alignment with the ISO/IEC 9899: 1999 standard
The 9000 Store