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