]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man7/standards.7
Changes: Ready for 5.02
[thirdparty/man-pages.git] / man7 / standards.7
CommitLineData
c11b1abf 1.\" Copyright (c) 2006, Michael Kerrisk <mtk.manpages@gmail.com>
d8f1eb2e 2.\"
1dd72f9c 3.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
d8f1eb2e
MK
4.\" This is free documentation; you can redistribute it and/or
5.\" modify it under the terms of the GNU General Public License as
6.\" published by the Free Software Foundation; either version 2 of
7.\" the License, or (at your option) any later version.
8.\"
9.\" The GNU General Public License's references to "object code"
10.\" and "executables" are to be interpreted as the output of any
11.\" document formatting or typesetting system, including
12.\" intermediate and printed output.
13.\"
14.\" This manual is distributed in the hope that it will be useful,
15.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.\" GNU General Public License for more details.
18.\"
19.\" You should have received a copy of the GNU General Public
c715f741
MK
20.\" License along with this manual; if not, see
21.\" <http://www.gnu.org/licenses/>.
6a8d8745 22.\" %%%LICENSE_END
d8f1eb2e 23.\"
1c6f59c2 24.TH STANDARDS 7 2017-11-26 "Linux" "Linux Programmer's Manual"
d8f1eb2e 25.SH NAME
64ceb688 26standards \- C and UNIX Standards
d8f1eb2e 27.SH DESCRIPTION
3d341b33 28The CONFORMING TO section that appears in many manual pages identifies
d8f1eb2e
MK
29various standards to which the documented interface conforms.
30The following list briefly describes these standards.
31.TP
2b886a28 32.B V7
442bd855
MK
33Version 7 (also known as Seventh Edition) UNIX,
34released by AT&T/Bell Labs in 1979.
35After this point, UNIX systems diverged into two main dialects:
36BSD and System V.
c13182ef 37.TP
2b886a28
MK
38.B 4.2BSD
39This is an implementation standard defined by the 4.2 release
c13182ef 40of the
2b886a28
MK
41.IR "Berkeley Software Distribution",
42released by the University of California at Berkeley.
43This was the first Berkeley release that contained a TCP/IP
44stack and the sockets API.
454.2BSD was released in 1983.
a721e8b2 46.IP
aeb9b6a6 47Earlier major BSD releases included
51700fd7 48.IR 3BSD
aeb9b6a6
MK
49(1980),
50.I 4BSD
51(1980),
52and
53.I 4.1BSD
54(1981).
c13182ef 55.TP
2b886a28
MK
56.B 4.3BSD
57The successor to 4.2BSD, released in 1986.
c13182ef 58.TP
2b886a28
MK
59.B 4.4BSD
60The successor to 4.3BSD, released in 1993.
61This was the last major Berkeley release.
62.TP
63.B System V
64This is an implementation standard defined by AT&T's milestone 1983
65release of its commercial System V (five) release.
c13182ef 66The previous major AT&T release was
2b886a28
MK
67.IR "System III" ,
68released in 1981.
69.TP
70.B System V release 2 (SVr2)
71This was the next System V release, made in 1985.
72The SVr2 was formally described in the
0daa9e92 73.I "System V Interface Definition version 1"
2b886a28
MK
74.RI ( "SVID 1" )
75published in 1985.
76.TP
77.B System V release 3 (SVr3)
78This was the successor to SVr2, released in 1986.
79This release was formally described in the
0daa9e92 80.I "System V Interface Definition version 2"
2b886a28
MK
81.RI ( "SVID 2" ).
82.TP
83.B System V release 4 (SVr4)
84This was the successor to SVr3, released in 1989.
85This version of System V is described in the "Programmer's Reference
d8f1eb2e
MK
86Manual: Operating System API (Intel processors)" (Prentice-Hall
871992, ISBN 0-13-951294-2)
2b886a28 88This release was formally described in the
0daa9e92 89.I "System V Interface Definition version 3"
2b886a28
MK
90.RI ( "SVID 3" ),
91and is considered the definitive System V release.
d8f1eb2e 92.TP
2b886a28
MK
93.B SVID 4
94System V Interface Definition version 4, issued in 1995.
608bf950
SK
95Available online at
96.UR http://www.sco.com\:/developers\:/devspecs/
97.UE .
c13182ef
MK
98.TP
99.B C89
100This was the first C language standard, ratified by ANSI
101(American National Standards Institute) in 1989
d8f1eb2e 102.RI ( X3.159-1989 ).
c13182ef
MK
103Sometimes this is known as
104.IR "ANSI C" ,
d8f1eb2e
MK
105but since C99 is also an
106ANSI standard, this term is ambiguous.
c13182ef
MK
107This standard was also ratified by
108ISO (International Standards Organization) in 1990
d8f1eb2e 109.RI ( "ISO/IEC 9899:1990" ),
c13182ef 110and is thus occasionally referred to as
d8f1eb2e
MK
111.IR "ISO C90" .
112.TP
2b886a28 113.B C99
c13182ef 114This revision of the C language standard was ratified by ISO in 1999
d8f1eb2e 115.RI ( "ISO/IEC 9899:1999" ).
cb5df216 116Available online at
5465ae95 117.UR http://www.open\-std.org\:/jtc1\:/sc22\:/wg14\:/www\:/standards
608bf950 118.UE .
d8f1eb2e 119.TP
8285d50f
MK
120.B C11
121This revision of the C language standard was ratified by ISO in 2011
122.RI ( "ISO/IEC 9899:2011" ).
123.TP
2b886a28 124.B POSIX.1-1990
d8f1eb2e
MK
125"Portable Operating System Interface for Computing Environments".
126IEEE 1003.1-1990 part 1, ratified by ISO in 1990
127.RI ( "ISO/IEC 9945-1:1990" ).
d8f1eb2e 128The term "POSIX" was coined by Richard Stallman.
c13182ef 129.TP
2b886a28 130.B POSIX.2
c13182ef 131IEEE Std 1003.2-1992,
d8f1eb2e
MK
132describing commands and utilities, ratified by ISO in 1993
133.RI ( "ISO/IEC 9945-2:1993" ).
134.TP
2b886a28 135.BR POSIX.1b " (formerly known as \fIPOSIX.4\fP)"
f1596307 136IEEE Std 1003.1b-1993,
4314687b 137describing real-time facilities
d8f1eb2e
MK
138for portable operating systems, ratified by ISO in 1996
139.RI ( "ISO/IEC 9945-1:1996" ).
d8f1eb2e 140.TP
2b886a28 141.B POSIX.1c
f1596307 142IEEE Std 1003.1c-1995, which describes the POSIX threads interfaces.
d8f1eb2e 143.TP
1f271126 144.B POSIX.1d
f1596307 145IEEE Std 1003.1c-1999, which describes additional real-time extensions.
1f271126
MK
146.TP
147.B POSIX.1g
f1596307 148IEEE Std 1003.1g-2000, which describes networking APIs (including sockets).
1f271126
MK
149.TP
150.B POSIX.1j
f1596307 151IEEE Std 1003.1j-2000, which describes advanced real-time extensions.
1f271126 152.TP
2b886a28 153.B POSIX.1-1996
d8f1eb2e
MK
154A 1996 revision of POSIX.1 which incorporated POSIX.1b and POSIX.1c.
155.TP
2b886a28 156.B XPG3
d8f1eb2e
MK
157Released in 1989, this was the first significant release of the
158.IR "X/Open Portability Guide" ,
159produced by the
ae03dc66
MK
160X/Open Company, a multivendor consortium.
161This multivolume guide was based on the POSIX standards.
d8f1eb2e 162.TP
2b886a28 163.B XPG4
d8f1eb2e
MK
164A revision of the X/Open Portability Guide, released in 1992.
165.TP
2b886a28 166.B XPG4v2
d8f1eb2e
MK
167A 1994 revision of XPG4.
168This is also referred to as
169.IR "Spec 1170" ,
c13182ef 170where 1170 referred to the number of interfaces
d8f1eb2e
MK
171defined by this standard.
172.TP
6ea90ba9 173.B "SUS (SUSv1)"
bf31de0e 174Single UNIX Specification.
2b886a28 175This was a repackaging of XPG4v2 and other X/Open standards
c13182ef 176(X/Open Curses Issue 4 version 2,
d8f1eb2e
MK
177X/Open Networking Service (XNS) Issue 4).
178Systems conforming to this standard can be branded
179.IR "UNIX 95" .
180.TP
2b886a28 181.B SUSv2
bf31de0e 182Single UNIX Specification version 2.
d8f1eb2e
MK
183Sometimes also referred to as
184.IR XPG5 .
185This standard appeared in 1997.
186Systems conforming to this standard can be branded
187.IR "UNIX 98" .
188See also
5465ae95 189.UR http://www.UNIX\-systems.org\:/version2/
608bf950 190.UE .)
d8f1eb2e 191.TP
2b886a28 192.B POSIX.1-2001, SUSv3
c13182ef
MK
193This was a 2001 revision and consolidation of the
194POSIX.1, POSIX.2, and SUS standards into a single document,
1bcb7fdb 195conducted under the auspices of the Austin Group
608bf950
SK
196.UR http://www.opengroup.org\:/austin/
197.UE .
c13182ef 198The standard is available online at
5465ae95 199.UR http://www.unix\-systems.org\:/version3/
608bf950 200.UE ,
c13182ef 201and the interfaces that it describes are also available in the Linux
d8f1eb2e 202manual pages package under sections 1p and 3p (e.g., "man 3p open").
a721e8b2 203.IP
c13182ef 204The standard defines two levels of conformance:
d8f1eb2e 205.IR "POSIX conformance" ,
c13182ef 206which is a baseline set of interfaces required of a conforming system;
d8f1eb2e 207and
c13182ef 208.IR "XSI Conformance",
d8f1eb2e 209which additionally mandates a set of interfaces
c13182ef 210(the "XSI extension") which are only optional for POSIX conformance.
d8f1eb2e
MK
211XSI-conformant systems can be branded
212.IR "UNIX 03" .
e670f722 213(XSI conformance constitutes the
bf31de0e 214.I "Single UNIX Specification version 3"
e670f722 215.RI ( SUSv3 ).)
a721e8b2 216.IP
e670f722 217The POSIX.1-2001 document is broken into four parts:
a721e8b2 218.IP
e670f722
MK
219.BR XBD :
220Definitions, terms and concepts, header file specifications.
a721e8b2 221.IP
e670f722 222.BR XSH :
c13182ef 223Specifications of functions (i.e., system calls and library
e670f722 224functions in actual implementations).
a721e8b2 225.IP
e670f722
MK
226.BR XCU :
227Specifications of commands and utilities
228(i.e., the area formerly described by POSIX.2).
a721e8b2 229.IP
e670f722
MK
230.BR XRAT :
231Informative text on the other parts of the standard.
a721e8b2 232.IP
d8f1eb2e 233POSIX.1-2001 is aligned with C99, so that all of the
d9bfdb9c 234library functions standardized in C99 are also
81b36e1d 235standardized in POSIX.1-2001.
a721e8b2 236.IP
c13182ef 237Two Technical Corrigenda (minor fixes and improvements)
d8f1eb2e 238of the original 2001 standard have occurred:
36712271 239TC1 in 2003 (also known as
c13182ef 240.IR POSIX.1-2003 ),
36712271 241and TC2 in 2004 (also known as
d8f1eb2e 242.IR POSIX.1-2004 ).
21247ac6 243.TP
30106ecf
MK
244.B POSIX.1-2008, SUSv4
245Work on the next revision of POSIX.1/SUS was completed and
246ratified in 2008.
a721e8b2 247.IP
c8500297
MK
248The changes in this revision are not as large as those
249that occurred for POSIX.1-2001/SUSv3,
250but a number of new interfaces are added
21247ac6
MK
251and various details of existing specifications are modified.
252Many of the interfaces that were optional in
30106ecf 253POSIX.1-2001 become mandatory in the 2008 revision of the standard.
e2858a6d 254A few interfaces that are present in POSIX.1-2001 are marked