OSDN Git Service

(split) LDP: Update original to LDP v3.52.
[linuxjm/LDP_man-pages.git] / original / 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
47 .IR 3BSD
48 (1980),
49 .I 4BSD
50 (1980),
51 and
52 .I 4.1BSD
53 (1981).
54 .TP
55 .B 4.3BSD
56 The successor to 4.2BSD, released in 1986.
57 .TP
58 .B 4.4BSD
59 The successor to 4.3BSD, released in 1993.
60 This was the last major Berkeley release.
61 .TP
62 .B System V
63 This is an implementation standard defined by AT&T's milestone 1983
64 release of its commercial System V (five) release.
65 The previous major AT&T release was
66 .IR "System III" ,
67 released in 1981.
68 .TP
69 .B System V release 2 (SVr2)
70 This was the next System V release, made in 1985.
71 The SVr2 was formally described in the
72 .I "System V Interface Definition version 1"
73 .RI ( "SVID 1" )
74 published in 1985.
75 .TP
76 .B System V release 3 (SVr3)
77 This was the successor to SVr2, released in 1986.
78 This release was formally described in the
79 .I "System V Interface Definition version 2"
80 .RI ( "SVID 2" ).
81 .TP
82 .B System V release 4 (SVr4)
83 This was the successor to SVr3, released in 1989.
84 This version of System V is described in the "Programmer's Reference
85 Manual: Operating System API (Intel processors)" (Prentice-Hall
86 1992, ISBN 0-13-951294-2)
87 This release was formally described in the
88 .I "System V Interface Definition version 3"
89 .RI ( "SVID 3" ),
90 and is considered the definitive System V release.
91 .TP
92 .B SVID 4
93 System V Interface Definition version 4, issued in 1995.
94 Available online at
95 .UR http://www.sco.com\:/developers\:/devspecs/
96 .UE .
97 .TP
98 .B C89
99 This was the first C language standard, ratified by ANSI
100 (American National Standards Institute) in 1989
101 .RI ( X3.159-1989 ).
102 Sometimes this is known as
103 .IR "ANSI C" ,
104 but since C99 is also an
105 ANSI standard, this term is ambiguous.
106 This standard was also ratified by
107 ISO (International Standards Organization) in 1990
108 .RI ( "ISO/IEC 9899:1990" ),
109 and is thus occasionally referred to as
110 .IR "ISO C90" .
111 .TP
112 .B C99
113 This revision of the C language standard was ratified by ISO in 1999
114 .RI ( "ISO/IEC 9899:1999" ).
115 Available online at
116 .UR http://www.open-std.org\:/jtc1\:/sc22\:/wg14\:/www\:/standards
117 .UE .
118 .TP
119 .B POSIX.1-1990
120 "Portable Operating System Interface for Computing Environments".
121 IEEE 1003.1-1990 part 1, ratified by ISO in 1990
122 .RI ( "ISO/IEC 9945-1:1990" ).
123 The term "POSIX" was coined by Richard Stallman.
124 .TP
125 .B POSIX.2
126 IEEE Std 1003.2-1992,
127 describing commands and utilities, ratified by ISO in 1993
128 .RI ( "ISO/IEC 9945-2:1993" ).
129 .TP
130 .BR POSIX.1b " (formerly known as \fIPOSIX.4\fP)"
131 IEEE Std 1003.1b-1993
132 describing real-time facilities
133 for portable operating systems, ratified by ISO in 1996
134 .RI ( "ISO/IEC 9945-1:1996" ).
135 .TP
136 .B POSIX.1c
137 IEEE Std 1003.1c-1995 describing the POSIX threads interfaces.
138 .TP
139 .B POSIX.1d
140 IEEE Std 1003.1c-1999 describing additional real-time extensions.
141 .TP
142 .B POSIX.1g
143 IEEE Std 1003.1g-2000 describing networking APIs (including sockets).
144 .TP
145 .B POSIX.1j
146 IEEE Std 1003.1j-2000 describing advanced real-time extensions.
147 .TP
148 .B POSIX.1-1996
149 A 1996 revision of POSIX.1 which incorporated POSIX.1b and POSIX.1c.
150 .TP
151 .B XPG3
152 Released in 1989, this was the first significant release of the
153 .IR "X/Open Portability Guide" ,
154 produced by the
155 X/Open Company, a multivendor consortium.
156 This multivolume guide was based on the POSIX standards.
157 .TP
158 .B XPG4
159 A revision of the X/Open Portability Guide, released in 1992.
160 .TP
161 .B XPG4v2
162 A 1994 revision of XPG4.
163 This is also referred to as
164 .IR "Spec 1170" ,
165 where 1170 referred to the number of interfaces
166 defined by this standard.
167 .TP
168 .B SUS  (SUSv1)
169 Single UNIX Specification.
170 This was a repackaging of XPG4v2 and other X/Open standards
171 (X/Open Curses Issue 4 version 2,
172 X/Open Networking Service (XNS) Issue 4).
173 Systems conforming to this standard can be branded
174 .IR "UNIX 95" .
175 .TP
176 .B SUSv2
177 Single UNIX Specification version 2.
178 Sometimes also referred to as
179 .IR XPG5 .
180 This standard appeared in 1997.
181 Systems conforming to this standard can be branded
182 .IR "UNIX 98" .
183 See also
184 .UR http://www.UNIX-systems.org\:/version2/
185 .UE .)
186 .TP
187 .B POSIX.1-2001, SUSv3
188 This was a 2001 revision and consolidation of the
189 POSIX.1, POSIX.2, and SUS standards into a single document,
190 conducted under the auspices of the Austin group
191 .UR http://www.opengroup.org\:/austin/
192 .UE .
193 The standard is available online at
194 .UR http://www.unix-systems.org\:/version3/
195 .UE ,
196 and the interfaces that it describes are also available in the Linux
197 manual pages package under sections 1p and 3p (e.g., "man 3p open").
198
199 The standard defines two levels of conformance:
200 .IR "POSIX conformance" ,
201 which is a baseline set of interfaces required of a conforming system;
202 and
203 .IR "XSI Conformance",
204 which additionally mandates a set of interfaces
205 (the "XSI extension") which are only optional for POSIX conformance.
206 XSI-conformant systems can be branded
207 .IR "UNIX 03" .
208 (XSI conformance constitutes the
209 .I "Single UNIX Specification version 3"
210 .RI ( SUSv3 ).)
211
212 The POSIX.1-2001 document is broken into four parts:
213
214 .BR XBD :
215 Definitions, terms and concepts, header file specifications.
216
217 .BR XSH :
218 Specifications of functions (i.e., system calls and library
219 functions in actual implementations).
220
221 .BR XCU :
222 Specifications of commands and utilities
223 (i.e., the area formerly described by POSIX.2).
224
225 .BR XRAT :
226 Informative text on the other parts of the standard.
227
228 POSIX.1-2001 is aligned with C99, so that all of the
229 library functions standardized in C99 are also
230 standardized in POSIX.1-2001.
231
232 Two Technical Corrigenda (minor fixes and improvements)
233 of the original 2001 standard have occurred:
234 TC1 in 2003 (referred to as
235 .IR POSIX.1-2003 ),
236 and TC2 in 2004 (referred to as
237 .IR POSIX.1-2004 ).
238 .TP
239 .B POSIX.1-2008, SUSv4
240 Work on the next revision of POSIX.1/SUS was completed and
241 ratified in 2008.
242
243 The changes in this revision are not as large as those
244 that occurred for POSIX.1-2001/SUSv3,
245 but a number of new interfaces are added
246 and various details of existing specifications are modified.
247 Many of the interfaces that were optional in
248 POSIX.1-2001 become mandatory in the 2008 revision of the standard.
249 A few interfaces that are present in POSIX.1-2001 are marked
250 as obsolete in POSIX.1-2008, or removed from the standard altogether.
251
252 The revised standard is broken into the same four parts as POSIX.1-2001,
253 and again there are two levels of conformance: the baseline
254 .IR "POSIX Conformance" ,
255 and
256 .IR "XSI Conformance" ,
257 which mandates an additional set of interfaces
258 beyond those in the base specification.
259
260 In general, where the CONFORMING TO section of a manual page
261 lists POSIX.1-2001, it can be assumed that the interface also
262 conforms to POSIX.1-2008, unless otherwise noted.
263
264 Further information can be found on the Austin group web site,
265 .UR http://www.opengroup.org\:/austin/
266 .UE .
267 .SH SEE ALSO
268 .BR feature_test_macros (7),
269 .BR libc (7),
270 .BR posixoptions (7)