xref: /dflybsd-src/share/man/man7/standards.7 (revision 6a067d55f7de3046f50f9e03f6258d6dc765d582)
1e478b9b4SSascha Wildner.\"
2e478b9b4SSascha Wildner.\" Copyright (c) 2010
3e478b9b4SSascha Wildner.\"	The DragonFly Project.  All rights reserved.
4e478b9b4SSascha Wildner.\"
5e478b9b4SSascha Wildner.\" Redistribution and use in source and binary forms, with or without
6e478b9b4SSascha Wildner.\" modification, are permitted provided that the following conditions
7e478b9b4SSascha Wildner.\" are met:
8e478b9b4SSascha Wildner.\"
9e478b9b4SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
10e478b9b4SSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
11e478b9b4SSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
12e478b9b4SSascha Wildner.\"    notice, this list of conditions and the following disclaimer in
13e478b9b4SSascha Wildner.\"    the documentation and/or other materials provided with the
14e478b9b4SSascha Wildner.\"    distribution.
15e478b9b4SSascha Wildner.\" 3. Neither the name of The DragonFly Project nor the names of its
16e478b9b4SSascha Wildner.\"    contributors may be used to endorse or promote products derived
17e478b9b4SSascha Wildner.\"    from this software without specific, prior written permission.
18e478b9b4SSascha Wildner.\"
19e478b9b4SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20e478b9b4SSascha Wildner.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21e478b9b4SSascha Wildner.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22e478b9b4SSascha Wildner.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
23e478b9b4SSascha Wildner.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24e478b9b4SSascha Wildner.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
25e478b9b4SSascha Wildner.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26e478b9b4SSascha Wildner.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27e478b9b4SSascha Wildner.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28e478b9b4SSascha Wildner.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29e478b9b4SSascha Wildner.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30e478b9b4SSascha Wildner.\" SUCH DAMAGE.
31e478b9b4SSascha Wildner.\"
3293be9aacSSascha Wildner.Dd December 20, 2012
33e478b9b4SSascha Wildner.Dt STANDARDS 7
34e478b9b4SSascha Wildner.Os
35e478b9b4SSascha Wildner.Sh NAME
36e478b9b4SSascha Wildner.Nm standards
37e478b9b4SSascha Wildner.Nd standards supported by DragonFly
38e478b9b4SSascha Wildner.Sh SYNOPSIS
39224ee6b3SSascha Wildner.Fd "#define _XOPEN_SOURCE 600"
40224ee6b3SSascha Wildner.Pp
41e478b9b4SSascha Wildner.In sys/cdefs.h
42e478b9b4SSascha Wildner.Sh DESCRIPTION
43224ee6b3SSascha WildnerA number of
44224ee6b3SSascha Wildner.Dq feature test macros ,
45224ee6b3SSascha Wildnernamely
46224ee6b3SSascha Wildner.Dv _POSIX_C_SOURCE
47224ee6b3SSascha Wildnerand
48224ee6b3SSascha Wildner.Dv _XOPEN_SOURCE ,
49224ee6b3SSascha Wildnercan be used by applications to indicate desired sets of features (beyond
50224ee6b3SSascha Wildnerthose specified by the C standard) in the programming environment supplied by
51224ee6b3SSascha Wildner.Dx .
52224ee6b3SSascha WildnerThese macros determine which prototypes are exposed by header files and so on.
53224ee6b3SSascha Wildner.Pp
54224ee6b3SSascha WildnerIf neither
55224ee6b3SSascha Wildner.Dv _POSIX_C_SOURCE
56224ee6b3SSascha Wildnerand
57224ee6b3SSascha Wildner.Dv _XOPEN_SOURCE
58224ee6b3SSascha Wildnerare set, the programming environment defaults to
59224ee6b3SSascha Wildner.St -susv3 .
60224ee6b3SSascha WildnerIn addition, a number of
61224ee6b3SSascha Wildner.Bx
62224ee6b3SSascha Wildnerspecific prototypes, definitions etc.\& are made visible.
63224ee6b3SSascha Wildner.Ss POSIX Standards (_POSIX_C_SOURCE)
64e478b9b4SSascha WildnerThe value of the
65e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
66e478b9b4SSascha Wildnermacro determines which
67e478b9b4SSascha Wildner.Tn POSIX
68e478b9b4SSascha Wildnerstandard the programming environment conforms to.
69e478b9b4SSascha Wildner.Bl -tag -width ".Li 199009"
70e478b9b4SSascha Wildner.It Li 1
71e478b9b4SSascha WildnerMake definitions conforming to
72e478b9b4SSascha Wildner.St -p1003.1-90
73e478b9b4SSascha Wildnervisible.
74e478b9b4SSascha WildnerImplies
75e478b9b4SSascha Wildner.St -isoC-90 .
76e478b9b4SSascha Wildner.It Li 2
77e478b9b4SSascha WildnerAdditionally, make definitions conforming to
78e478b9b4SSascha Wildner.St -p1003.2-92
79e478b9b4SSascha Wildnervisible.
80e478b9b4SSascha Wildner.It Li 199009
81e478b9b4SSascha WildnerSame as
82e478b9b4SSascha Wildner.Li 1 .
83e478b9b4SSascha Wildner.It Li 199209
84e478b9b4SSascha WildnerSame as
85e478b9b4SSascha Wildner.Li 2 .
86e478b9b4SSascha Wildner.It Li 199309
87e478b9b4SSascha WildnerAdditionally, make definitions conforming to
88e478b9b4SSascha Wildner.St -p1003.1b-93
89e478b9b4SSascha Wildnervisible.
90e478b9b4SSascha Wildner.It Li 199506
91e478b9b4SSascha WildnerAdditionally, make definitions conforming to
92e478b9b4SSascha Wildner.St -p1003.1c-95
93e478b9b4SSascha Wildnervisible.
94e478b9b4SSascha Wildner.It Li 200112
95e478b9b4SSascha WildnerAdditionally, make definitions conforming to
96e478b9b4SSascha Wildner.St -p1003.1-2001
97e478b9b4SSascha Wildnervisible.
98e478b9b4SSascha WildnerImplies
99e478b9b4SSascha Wildner.St -isoC-99 .
100e478b9b4SSascha WildnerThis is the default.
101ae2ee8eeSSascha Wildner.It Li 200809
102ae2ee8eeSSascha WildnerAdditionally, make definitions conforming to
103ae2ee8eeSSascha Wildner.St -p1003.1-2008
104ae2ee8eeSSascha Wildnervisible.
105ae2ee8eeSSascha WildnerImplies
106ae2ee8eeSSascha Wildner.St -isoC-99 .
107e478b9b4SSascha Wildner.El
108e478b9b4SSascha Wildner.Pp
109e478b9b4SSascha WildnerDefining
110e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
111e478b9b4SSascha Wildnerto any value lower than
112e478b9b4SSascha Wildner.Li 199009
113e478b9b4SSascha Wildner(other than
114e478b9b4SSascha Wildner.Li 1
115e478b9b4SSascha Wildneror
116e478b9b4SSascha Wildner.Li 2 )
117e478b9b4SSascha Wildnermakes it default to
118e478b9b4SSascha Wildner.Li 198808
119e478b9b4SSascha Wildnerwhich makes definitions conforming to
120e478b9b4SSascha Wildner.St -p1003.1-88
121e478b9b4SSascha Wildnervisible.
122e478b9b4SSascha WildnerNo C standard is implied in this case.
123e478b9b4SSascha Wildner.Pp
124e478b9b4SSascha WildnerDefining the obsolete
125e478b9b4SSascha Wildner.Dv _POSIX_SOURCE
126e478b9b4SSascha Wildnermacro without defining
127e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
128e478b9b4SSascha Wildneris equivalent to defining
129e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
130e478b9b4SSascha Wildnerto
131e478b9b4SSascha Wildner.Li 198808 .
132224ee6b3SSascha Wildner.Ss X/Open CAE Specifications (_XOPEN_SOURCE)
133e478b9b4SSascha WildnerThe value of the
134e478b9b4SSascha Wildner.Dv _XOPEN_SOURCE
135e478b9b4SSascha Wildnermacro determines which X/Open CAE specification the programming
136e478b9b4SSascha Wildnerenvironment conforms to.
137e478b9b4SSascha Wildner.Bl -tag -width ".Li 500"
138e478b9b4SSascha Wildner.It Li 500
139*9a098784SSascha WildnerMake definitions conforming to the
140e478b9b4SSascha Wildner.St -susv2
141e478b9b4SSascha Wildnervisible.
142e478b9b4SSascha WildnerImplies defining
143e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
144e478b9b4SSascha Wildnerto
145e478b9b4SSascha Wildner.Li 199506 .
146e478b9b4SSascha Wildner.It Li 600
147e478b9b4SSascha WildnerMake definitions conforming to the
148e478b9b4SSascha Wildner.St -susv3
149e478b9b4SSascha Wildnervisible.
150e478b9b4SSascha WildnerImplies defining
151e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
152e478b9b4SSascha Wildnerto
153e478b9b4SSascha Wildner.Li 200112 .
154e478b9b4SSascha WildnerThis is the default.
155ae2ee8eeSSascha Wildner.It Li 700
156ae2ee8eeSSascha WildnerMake definitions conforming to
157ae2ee8eeSSascha Wildner.St -p1003.1-2008
158ae2ee8eeSSascha Wildnerand to the corresponding XSI extensions visible.
159e478b9b4SSascha Wildner.El
160e478b9b4SSascha Wildner.Pp
161e478b9b4SSascha WildnerIf both CAE and POSIX conformance is required, only
162e478b9b4SSascha Wildner.Dv _XOPEN_SOURCE
163e478b9b4SSascha Wildnercan be set.
164e478b9b4SSascha Wildner.\".Ss Miscellaneous Macros
165e478b9b4SSascha Wildner.\".Dv _ANSI_SOURCE
166e478b9b4SSascha Wildner.\".Dv _C99_SOURCE
16793be9aacSSascha Wildner.Sh SEE ALSO
16893be9aacSSascha Wildner.Bl -tag -width xx
16993be9aacSSascha Wildner.It Pa http://pubs.opengroup.org/onlinepubs/9699919799/
17093be9aacSSascha Wildner.St -p1003.1-2008
17193be9aacSSascha Wildner.It Pa http://pubs.opengroup.org/onlinepubs/009695399/
17293be9aacSSascha Wildner.St -p1003.1-2004
17393be9aacSSascha Wildner.It Pa http://pubs.opengroup.org/onlinepubs/7908799/
17493be9aacSSascha Wildner.St -susv2
17593be9aacSSascha Wildner.It Pa http://pubs.opengroup.org/onlinepubs/9695969499/toc.pdf
17693be9aacSSascha Wildner.St -xsh4.2
17793be9aacSSascha Wildner.El
178e478b9b4SSascha Wildner.Sh HISTORY
179e478b9b4SSascha WildnerA
180e478b9b4SSascha Wildner.Nm
181e478b9b4SSascha Wildnermanual page first appeared in
182e478b9b4SSascha Wildner.Dx 2.7 .
183