1STANDARDS(7) Linux Programmer's Manual STANDARDS(7)
2
3
4
6 standards - C and UNIX Standards
7
9 The CONFORMING TO section that appears in many manual pages identifies
10 various standards to which the documented interface conforms. The fol‐
11 lowing list briefly describes these standards.
12
13 V7 Version 7 (also known as Seventh Edition) UNIX, released by
14 AT&T/Bell Labs in 1979. After this point, UNIX systems diverged
15 into two main dialects: BSD and System V.
16
17 4.2BSD This is an implementation standard defined by the 4.2 release of
18 the Berkeley Software Distribution, released by the University
19 of California at Berkeley. This was the first Berkeley release
20 that contained a TCP/IP stack and the sockets API. 4.2BSD was
21 released in 1983.
22
23 Earlier major BSD releases included 3BSD (1980), 4BSD (1980),
24 and 4.1BSD (1981).
25
26 4.3BSD The successor to 4.2BSD, released in 1986.
27
28 4.4BSD The successor to 4.3BSD, released in 1993. This was the last
29 major Berkeley release.
30
31 System V
32 This is an implementation standard defined by AT&T's milestone
33 1983 release of its commercial System V (five) release. The
34 previous major AT&T release was System III, released in 1981.
35
36 System V release 2 (SVr2)
37 This was the next System V release, made in 1985. The SVr2 was
38 formally described in the System V Interface Definition version
39 1 (SVID 1) published in 1985.
40
41 System V release 3 (SVr3)
42 This was the successor to SVr2, released in 1986. This release
43 was formally described in the System V Interface Definition ver‐
44 sion 2 (SVID 2).
45
46 System V release 4 (SVr4)
47 This was the successor to SVr3, released in 1989. This version
48 of System V is described in the "Programmer's Reference Manual:
49 Operating System API (Intel processors)" (Prentice-Hall 1992,
50 ISBN 0-13-951294-2) This release was formally described in the
51 System V Interface Definition version 3 (SVID 3), and is consid‐
52 ered the definitive System V release.
53
54 SVID 4 System V Interface Definition version 4, issued in 1995. Avail‐
55 able online at ⟨http://www.sco.com/developers/devspecs/⟩.
56
57 C89 This was the first C language standard, ratified by ANSI (Ameri‐
58 can National Standards Institute) in 1989 (X3.159-1989). Some‐
59 times this is known as ANSI C, but since C99 is also an ANSI
60 standard, this term is ambiguous. This standard was also rati‐
61 fied by ISO (International Standards Organization) in 1990
62 (ISO/IEC 9899:1990), and is thus occasionally referred to as ISO
63 C90.
64
65 C99 This revision of the C language standard was ratified by ISO in
66 1999 (ISO/IEC 9899:1999). Available online at
67 ⟨http://www.open-std.org/jtc1/sc22/wg14/www/standards⟩.
68
69 C11 This revision of the C language standard was ratified by ISO in
70 2011 (ISO/IEC 9899:2011).
71
72 LFS The Large File Summit specification, completed in 1996.
73 This specification defined mechanisms that allowed 32-bit sys‐
74 tems to support the use of large files (i.e., 64-bit file off‐
75 sets). See ⟨https://www.opengroup.org/platform/lfs.html⟩.
76
77 POSIX.1-1988
78 This was the first POSIX standard, ratified by IEEE as IEEE Std
79 1003.1-1988, and subsequently adopted (with minor revisions) as
80 an ISO standard in 1990. The term "POSIX" was coined by Richard
81 Stallman.
82
83 POSIX.1-1990
84 "Portable Operating System Interface for Computing Environ‐
85 ments". IEEE 1003.1-1990 part 1, ratified by ISO in 1990
86 (ISO/IEC 9945-1:1990).
87
88 POSIX.2
89 IEEE Std 1003.2-1992, describing commands and utilities, rati‐
90 fied by ISO in 1993 (ISO/IEC 9945-2:1993).
91
92 POSIX.1b (formerly known as POSIX.4)
93 IEEE Std 1003.1b-1993, describing real-time facilities for por‐
94 table operating systems, ratified by ISO in 1996 (ISO/IEC
95 9945-1:1996).
96
97 POSIX.1c (formerly known as POSIX.4a)
98 IEEE Std 1003.1c-1995, which describes the POSIX threads inter‐
99 faces.
100
101 POSIX.1d
102 IEEE Std 1003.1c-1999, which describes additional real-time ex‐
103 tensions.
104
105 POSIX.1g
106 IEEE Std 1003.1g-2000, which describes networking APIs (includ‐
107 ing sockets).
108
109 POSIX.1j
110 IEEE Std 1003.1j-2000, which describes advanced real-time exten‐
111 sions.
112
113 POSIX.1-1996
114 A 1996 revision of POSIX.1 which incorporated POSIX.1b and
115 POSIX.1c.
116
117 XPG3 Released in 1989, this was the first release of the X/Open
118 Portability Guide to be based on a POSIX standard
119 (POSIX.1-1988). This multivolume guide was developed by the
120 X/Open Group, a multivendor consortium.
121
122 XPG4 A revision of the X/Open Portability Guide, released in 1992.
123 This revision incorporated POSIX.2.
124
125 XPG4v2 A 1994 revision of XPG4. This is also referred to as Spec 1170,
126 where 1170 referred to the number of interfaces defined by this
127 standard.
128
129 SUS (SUSv1)
130 Single UNIX Specification. This was a repackaging of XPG4v2 and
131 other X/Open standards (X/Open Curses Issue 4 version 2, X/Open
132 Networking Service (XNS) Issue 4). Systems conforming to this
133 standard can be branded UNIX 95.
134
135 SUSv2 Single UNIX Specification version 2. Sometimes also referred to
136 (incorrectly) as XPG5. This standard appeared in 1997. Systems
137 conforming to this standard can be branded UNIX 98. See also
138 ⟨http://www.unix.org/version2/⟩.)
139
140 POSIX.1-2001, SUSv3
141 This was a 2001 revision and consolidation of the POSIX.1,
142 POSIX.2, and SUS standards into a single document, conducted un‐
143 der the auspices of the Austin Group ⟨http://www.opengroup.org
144 /austin/⟩. The standard is available online at
145 ⟨http://www.unix.org/version3/⟩.
146
147 The standard defines two levels of conformance: POSIX confor‐
148 mance, which is a baseline set of interfaces required of a con‐
149 forming system; and XSI Conformance, which additionally mandates
150 a set of interfaces (the "XSI extension") which are only op‐
151 tional for POSIX conformance. XSI-conformant systems can be
152 branded UNIX 03.
153
154 The POSIX.1-2001 document is broken into four parts:
155
156 XBD: Definitions, terms, and concepts, header file specifica‐
157 tions.
158
159 XSH: Specifications of functions (i.e., system calls and library
160 functions in actual implementations).
161
162 XCU: Specifications of commands and utilities (i.e., the area
163 formerly described by POSIX.2).
164
165 XRAT: Informative text on the other parts of the standard.
166
167 POSIX.1-2001 is aligned with C99, so that all of the library
168 functions standardized in C99 are also standardized in
169 POSIX.1-2001.
170
171 The Single UNIX Specification version 3 (SUSv3) comprises the
172 Base Specifications containing XBD, XSH, XCU, and XRAT as above,
173 plus X/Open Curses Issue 4 version 2 as an extra volume that is
174 not in POSIX.1-2001.
175
176 Two Technical Corrigenda (minor fixes and improvements) of the
177 original 2001 standard have occurred: TC1 in 2003 and TC2 in
178 2004.
179
180 POSIX.1-2008, SUSv4
181 Work on the next revision of POSIX.1/SUS was completed and rati‐
182 fied in 2008. The standard is available online at
183 ⟨http://www.unix.org/version4/⟩.
184
185 The changes in this revision are not as large as those that oc‐
186 curred for POSIX.1-2001/SUSv3, but a number of new interfaces
187 are added and various details of existing specifications are
188 modified. Many of the interfaces that were optional in
189 POSIX.1-2001 become mandatory in the 2008 revision of the stan‐
190 dard. A few interfaces that are present in POSIX.1-2001 are
191 marked as obsolete in POSIX.1-2008, or removed from the standard
192 altogether.
193
194 The revised standard is structured in the same way as its prede‐
195 cessor. The Single UNIX Specification version 4 (SUSv4) com‐
196 prises the Base Specifications containing XBD, XSH, XCU, and
197 XRAT, plus X/Open Curses Issue 7 as an extra volume that is not
198 in POSIX.1-2008.
199
200 Again there are two levels of conformance: the baseline POSIX
201 Conformance, and XSI Conformance, which mandates an additional
202 set of interfaces beyond those in the base specification.
203
204 In general, where the CONFORMING TO section of a manual page
205 lists POSIX.1-2001, it can be assumed that the interface also
206 conforms to POSIX.1-2008, unless otherwise noted.
207
208 Technical Corrigendum 1 (minor fixes and improvements) of this
209 standard was released in 2013.
210
211 Technical Corrigendum 2 of this standard was released in 2016.
212
213 Further information can be found on the Austin Group web site,
214 ⟨http://www.opengroup.org/austin/⟩.
215
216 SUSv4 2016 edition
217 This is equivalent to POSIX.1-2008, with the addition of Techni‐
218 cal Corrigenda 1 and 2 and the XCurses specification.
219
220 POSIX.1-2017
221 This revision of POSIX is technically identical to POSIX.1-2008
222 with Technical Corrigenda 1 and 2 applied.
223
224 SUSv4 2018 edition
225 This is equivalent to POSIX.1-2017, with the addition of the
226 XCurses specification.
227
228 The interfaces documented in POSIX.1/SUS are available as manual pages
229 under sections 0p (header files), 1p (commands), and 3p (functions);
230 thus one can write "man 3p open".
231
233 getconf(1), confstr(3), pathconf(3), sysconf(3), attributes(7), fea‐
234 ture_test_macros(7), libc(7), posixoptions(7), system_data_types(7)
235
237 This page is part of release 5.13 of the Linux man-pages project. A
238 description of the project, information about reporting bugs, and the
239 latest version of this page, can be found at
240 https://www.kernel.org/doc/man-pages/.
241
242
243
244Linux 2020-11-01 STANDARDS(7)