386 lines
9.7 KiB
HTML
386 lines
9.7 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of STANDARDS</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>STANDARDS</H1>
|
|
Section: Linux Programmer's Manual (7)<BR>Updated: 2017-11-26<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
standards - C and UNIX Standards
|
|
<A NAME="lbAC"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
The CONFORMING TO section that appears in many manual pages identifies
|
|
various standards to which the documented interface conforms.
|
|
The following list briefly describes these standards.
|
|
<DL COMPACT>
|
|
<DT id="1"><B>V7</B>
|
|
|
|
<DD>
|
|
Version 7 (also known as Seventh Edition) UNIX,
|
|
released by AT&T/Bell Labs in 1979.
|
|
After this point, UNIX systems diverged into two main dialects:
|
|
BSD and System V.
|
|
<DT id="2"><B>4.2BSD</B>
|
|
|
|
<DD>
|
|
This is an implementation standard defined by the 4.2 release
|
|
of the
|
|
<I>Berkeley Software Distribution,</I>
|
|
|
|
released by the University of California at Berkeley.
|
|
This was the first Berkeley release that contained a TCP/IP
|
|
stack and the sockets API.
|
|
4.2BSD was released in 1983.
|
|
<DT id="3"><DD>
|
|
Earlier major BSD releases included
|
|
<I>3BSD</I>
|
|
|
|
(1980),
|
|
<I>4BSD</I>
|
|
|
|
(1980),
|
|
and
|
|
<I>4.1BSD</I>
|
|
|
|
(1981).
|
|
<DT id="4"><B>4.3BSD</B>
|
|
|
|
<DD>
|
|
The successor to 4.2BSD, released in 1986.
|
|
<DT id="5"><B>4.4BSD</B>
|
|
|
|
<DD>
|
|
The successor to 4.3BSD, released in 1993.
|
|
This was the last major Berkeley release.
|
|
<DT id="6"><B>System V</B>
|
|
|
|
<DD>
|
|
This is an implementation standard defined by AT&T's milestone 1983
|
|
release of its commercial System V (five) release.
|
|
The previous major AT&T release was
|
|
<I>System III</I>,
|
|
|
|
released in 1981.
|
|
<DT id="7"><B>System V release 2 (SVr2)</B>
|
|
|
|
<DD>
|
|
This was the next System V release, made in 1985.
|
|
The SVr2 was formally described in the
|
|
<I>System V Interface Definition version 1</I>
|
|
|
|
(<I>SVID 1</I>)
|
|
|
|
published in 1985.
|
|
<DT id="8"><B>System V release 3 (SVr3)</B>
|
|
|
|
<DD>
|
|
This was the successor to SVr2, released in 1986.
|
|
This release was formally described in the
|
|
<I>System V Interface Definition version 2</I>
|
|
|
|
(<I>SVID 2</I>).
|
|
|
|
<DT id="9"><B>System V release 4 (SVr4)</B>
|
|
|
|
<DD>
|
|
This was the successor to SVr3, released in 1989.
|
|
This version of System V is described in the "Programmer's Reference
|
|
Manual: Operating System API (Intel processors)" (Prentice-Hall
|
|
1992, ISBN 0-13-951294-2)
|
|
This release was formally described in the
|
|
<I>System V Interface Definition version 3</I>
|
|
|
|
(<I>SVID 3</I>),
|
|
|
|
and is considered the definitive System V release.
|
|
<DT id="10"><B>SVID 4</B>
|
|
|
|
<DD>
|
|
System V Interface Definition version 4, issued in 1995.
|
|
Available online at
|
|
|
|
|
|
<DT id="11"><B>C89</B>
|
|
|
|
<DD>
|
|
This was the first C language standard, ratified by ANSI
|
|
(American National Standards Institute) in 1989
|
|
(<I>X3.159-1989</I>).
|
|
|
|
Sometimes this is known as
|
|
<I>ANSI C</I>,
|
|
|
|
but since C99 is also an
|
|
ANSI standard, this term is ambiguous.
|
|
This standard was also ratified by
|
|
ISO (International Standards Organization) in 1990
|
|
(<I>ISO/IEC 9899:1990</I>),
|
|
|
|
and is thus occasionally referred to as
|
|
<I>ISO C90</I>.
|
|
|
|
<DT id="12"><B>C99</B>
|
|
|
|
<DD>
|
|
This revision of the C language standard was ratified by ISO in 1999
|
|
(<I>ISO/IEC 9899:1999</I>).
|
|
|
|
Available online at
|
|
|
|
|
|
<DT id="13"><B>C11</B>
|
|
|
|
<DD>
|
|
This revision of the C language standard was ratified by ISO in 2011
|
|
(<I>ISO/IEC 9899:2011</I>).
|
|
|
|
<DT id="14"><B>POSIX.1-1990</B>
|
|
|
|
<DD>
|
|
"Portable Operating System Interface for Computing Environments".
|
|
IEEE 1003.1-1990 part 1, ratified by ISO in 1990
|
|
(<I>ISO/IEC 9945-1:1990</I>).
|
|
|
|
The term "POSIX" was coined by Richard Stallman.
|
|
<DT id="15"><B>POSIX.2</B>
|
|
|
|
<DD>
|
|
IEEE Std 1003.2-1992,
|
|
describing commands and utilities, ratified by ISO in 1993
|
|
(<I>ISO/IEC 9945-2:1993</I>).
|
|
|
|
<DT id="16"><B>POSIX.1b</B> (formerly known as <I>POSIX.4</I>)
|
|
|
|
<DD>
|
|
IEEE Std 1003.1b-1993,
|
|
describing real-time facilities
|
|
for portable operating systems, ratified by ISO in 1996
|
|
(<I>ISO/IEC 9945-1:1996</I>).
|
|
|
|
<DT id="17"><B>POSIX.1c</B>
|
|
|
|
<DD>
|
|
IEEE Std 1003.1c-1995, which describes the POSIX threads interfaces.
|
|
<DT id="18"><B>POSIX.1d</B>
|
|
|
|
<DD>
|
|
IEEE Std 1003.1c-1999, which describes additional real-time extensions.
|
|
<DT id="19"><B>POSIX.1g</B>
|
|
|
|
<DD>
|
|
IEEE Std 1003.1g-2000, which describes networking APIs (including sockets).
|
|
<DT id="20"><B>POSIX.1j</B>
|
|
|
|
<DD>
|
|
IEEE Std 1003.1j-2000, which describes advanced real-time extensions.
|
|
<DT id="21"><B>POSIX.1-1996</B>
|
|
|
|
<DD>
|
|
A 1996 revision of POSIX.1 which incorporated POSIX.1b and POSIX.1c.
|
|
<DT id="22"><B>XPG3</B>
|
|
|
|
<DD>
|
|
Released in 1989, this was the first significant release of the
|
|
<I>X/Open Portability Guide</I>,
|
|
|
|
produced by the
|
|
X/Open Company, a multivendor consortium.
|
|
This multivolume guide was based on the POSIX standards.
|
|
<DT id="23"><B>XPG4</B>
|
|
|
|
<DD>
|
|
A revision of the X/Open Portability Guide, released in 1992.
|
|
<DT id="24"><B>XPG4v2</B>
|
|
|
|
<DD>
|
|
A 1994 revision of XPG4.
|
|
This is also referred to as
|
|
<I>Spec 1170</I>,
|
|
|
|
where 1170 referred to the number of interfaces
|
|
defined by this standard.
|
|
<DT id="25"><B>SUS (SUSv1)</B>
|
|
|
|
<DD>
|
|
Single UNIX Specification.
|
|
This was a repackaging of XPG4v2 and other X/Open standards
|
|
(X/Open Curses Issue 4 version 2,
|
|
X/Open Networking Service (XNS) Issue 4).
|
|
Systems conforming to this standard can be branded
|
|
<I>UNIX 95</I>.
|
|
|
|
<DT id="26"><B>SUSv2</B>
|
|
|
|
<DD>
|
|
Single UNIX Specification version 2.
|
|
Sometimes also referred to as
|
|
<I>XPG5</I>.
|
|
|
|
This standard appeared in 1997.
|
|
Systems conforming to this standard can be branded
|
|
<I>UNIX 98</I>.
|
|
|
|
See also
|
|
|
|
|
|
<DT id="27"><B>POSIX.1-2001, SUSv3</B>
|
|
|
|
<DD>
|
|
This was a 2001 revision and consolidation of the
|
|
POSIX.1, POSIX.2, and SUS standards into a single document,
|
|
conducted under the auspices of the Austin Group
|
|
|
|
|
|
The standard is available online at
|
|
|
|
|
|
and the interfaces that it describes are also available in the Linux
|
|
manual pages package under sections 1p and 3p (e.g., "man 3p open").
|
|
<DT id="28"><DD>
|
|
The standard defines two levels of conformance:
|
|
<I>POSIX conformance</I>,
|
|
|
|
which is a baseline set of interfaces required of a conforming system;
|
|
and
|
|
<I>XSI Conformance,</I>
|
|
|
|
which additionally mandates a set of interfaces
|
|
(the "XSI extension") which are only optional for POSIX conformance.
|
|
XSI-conformant systems can be branded
|
|
<I>UNIX 03</I>.
|
|
|
|
(XSI conformance constitutes the
|
|
<I>Single UNIX Specification version 3</I>
|
|
|
|
(<I>SUSv3</I>).)
|
|
|
|
<DT id="29"><DD>
|
|
The POSIX.1-2001 document is broken into four parts:
|
|
<DT id="30"><DD>
|
|
<B>XBD</B>:
|
|
|
|
Definitions, terms and concepts, header file specifications.
|
|
<DT id="31"><DD>
|
|
<B>XSH</B>:
|
|
|
|
Specifications of functions (i.e., system calls and library
|
|
functions in actual implementations).
|
|
<DT id="32"><DD>
|
|
<B>XCU</B>:
|
|
|
|
Specifications of commands and utilities
|
|
(i.e., the area formerly described by POSIX.2).
|
|
<DT id="33"><DD>
|
|
<B>XRAT</B>:
|
|
|
|
Informative text on the other parts of the standard.
|
|
<DT id="34"><DD>
|
|
POSIX.1-2001 is aligned with C99, so that all of the
|
|
library functions standardized in C99 are also
|
|
standardized in POSIX.1-2001.
|
|
<DT id="35"><DD>
|
|
Two Technical Corrigenda (minor fixes and improvements)
|
|
of the original 2001 standard have occurred:
|
|
TC1 in 2003 (also known as
|
|
<I>POSIX.1-2003</I>),
|
|
|
|
and TC2 in 2004 (also known as
|
|
<I>POSIX.1-2004</I>).
|
|
|
|
<DT id="36"><B>POSIX.1-2008, SUSv4</B>
|
|
|
|
<DD>
|
|
Work on the next revision of POSIX.1/SUS was completed and
|
|
ratified in 2008.
|
|
<DT id="37"><DD>
|
|
The changes in this revision are not as large as those
|
|
that occurred for POSIX.1-2001/SUSv3,
|
|
but a number of new interfaces are added
|
|
and various details of existing specifications are modified.
|
|
Many of the interfaces that were optional in
|
|
POSIX.1-2001 become mandatory in the 2008 revision of the standard.
|
|
A few interfaces that are present in POSIX.1-2001 are marked
|
|
as obsolete in POSIX.1-2008, or removed from the standard altogether.
|
|
<DT id="38"><DD>
|
|
The revised standard is broken into the same four parts as POSIX.1-2001,
|
|
and again there are two levels of conformance: the baseline
|
|
<I>POSIX Conformance</I>,
|
|
|
|
and
|
|
<I>XSI Conformance</I>,
|
|
|
|
which mandates an additional set of interfaces
|
|
beyond those in the base specification.
|
|
<DT id="39"><DD>
|
|
In general, where the CONFORMING TO section of a manual page
|
|
lists POSIX.1-2001, it can be assumed that the interface also
|
|
conforms to POSIX.1-2008, unless otherwise noted.
|
|
<DT id="40"><DD>
|
|
Technical Corrigendum 1 (minor fixes and improvements)
|
|
of this standard was released in 2013
|
|
(also known as
|
|
<I>POSIX.1-2013</I>).
|
|
|
|
<DT id="41"><DD>
|
|
Technical Corrigendum 2 of this standard was released in 2016
|
|
(also known as
|
|
<I>POSIX.1-2016</I>).
|
|
|
|
<DT id="42"><DD>
|
|
Further information can be found on the Austin Group web site,
|
|
|
|
|
|
</DL>
|
|
<A NAME="lbAD"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?1+getconf">getconf</A></B>(1),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+confstr">confstr</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+pathconf">pathconf</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+sysconf">sysconf</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+attributes">attributes</A></B>(7),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+feature_test_macros">feature_test_macros</A></B>(7),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+libc">libc</A></B>(7),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+posixoptions">posixoptions</A></B>(7)
|
|
|
|
<A NAME="lbAE"> </A>
|
|
<H2>COLOPHON</H2>
|
|
|
|
This page is part of release 5.05 of the Linux
|
|
<I>man-pages</I>
|
|
|
|
project.
|
|
A description of the project,
|
|
information about reporting bugs,
|
|
and the latest version of this page,
|
|
can be found at
|
|
<A HREF="https://www.kernel.org/doc/man-pages/.">https://www.kernel.org/doc/man-pages/.</A>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="43"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="44"><A HREF="#lbAC">DESCRIPTION</A><DD>
|
|
<DT id="45"><A HREF="#lbAD">SEE ALSO</A><DD>
|
|
<DT id="46"><A HREF="#lbAE">COLOPHON</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:10 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|