OSDN Git Service

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