xref: /dflybsd-src/share/man/man7/standards.7 (revision 224ee6b3fe2ee5973c9bc7f7b6f3cde589ebad92)
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.\"
32*224ee6b3SSascha Wildner.Dd July 4, 2010
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
39*224ee6b3SSascha Wildner.Fd "#define _XOPEN_SOURCE 600"
40*224ee6b3SSascha Wildner.Pp
41e478b9b4SSascha Wildner.In sys/cdefs.h
42e478b9b4SSascha Wildner.Sh DESCRIPTION
43*224ee6b3SSascha WildnerA number of
44*224ee6b3SSascha Wildner.Dq feature test macros ,
45*224ee6b3SSascha Wildnernamely
46*224ee6b3SSascha Wildner.Dv _POSIX_C_SOURCE
47*224ee6b3SSascha Wildnerand
48*224ee6b3SSascha Wildner.Dv _XOPEN_SOURCE ,
49*224ee6b3SSascha Wildnercan be used by applications to indicate desired sets of features (beyond
50*224ee6b3SSascha Wildnerthose specified by the C standard) in the programming environment supplied by
51*224ee6b3SSascha Wildner.Dx .
52*224ee6b3SSascha WildnerThese macros determine which prototypes are exposed by header files and so on.
53*224ee6b3SSascha Wildner.Pp
54*224ee6b3SSascha WildnerIf neither
55*224ee6b3SSascha Wildner.Dv _POSIX_C_SOURCE
56*224ee6b3SSascha Wildnerand
57*224ee6b3SSascha Wildner.Dv _XOPEN_SOURCE
58*224ee6b3SSascha Wildnerare set, the programming environment defaults to
59*224ee6b3SSascha Wildner.St -susv3 .
60*224ee6b3SSascha WildnerIn addition, a number of
61*224ee6b3SSascha Wildner.Bx
62*224ee6b3SSascha Wildnerspecific prototypes, definitions etc.\& are made visible.
63*224ee6b3SSascha 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.
101e478b9b4SSascha Wildner.El
102e478b9b4SSascha Wildner.Pp
103e478b9b4SSascha WildnerDefining
104e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
105e478b9b4SSascha Wildnerto any value lower than
106e478b9b4SSascha Wildner.Li 199009
107e478b9b4SSascha Wildner(other than
108e478b9b4SSascha Wildner.Li 1
109e478b9b4SSascha Wildneror
110e478b9b4SSascha Wildner.Li 2 )
111e478b9b4SSascha Wildnermakes it default to
112e478b9b4SSascha Wildner.Li 198808
113e478b9b4SSascha Wildnerwhich makes definitions conforming to
114e478b9b4SSascha Wildner.St -p1003.1-88
115e478b9b4SSascha Wildnervisible.
116e478b9b4SSascha WildnerNo C standard is implied in this case.
117e478b9b4SSascha Wildner.Pp
118e478b9b4SSascha WildnerDefining the obsolete
119e478b9b4SSascha Wildner.Dv _POSIX_SOURCE
120e478b9b4SSascha Wildnermacro without defining
121e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
122e478b9b4SSascha Wildneris equivalent to defining
123e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
124e478b9b4SSascha Wildnerto
125e478b9b4SSascha Wildner.Li 198808 .
126*224ee6b3SSascha Wildner.Ss X/Open CAE Specifications (_XOPEN_SOURCE)
127e478b9b4SSascha WildnerThe value of the
128e478b9b4SSascha Wildner.Dv _XOPEN_SOURCE
129e478b9b4SSascha Wildnermacro determines which X/Open CAE specification the programming
130e478b9b4SSascha Wildnerenvironment conforms to.
131e478b9b4SSascha Wildner.Bl -tag -width ".Li 500"
132e478b9b4SSascha Wildner.It Li 500
133e478b9b4SSascha WildnerMake defintions conforming to the
134e478b9b4SSascha Wildner.St -susv2
135e478b9b4SSascha Wildnervisible.
136e478b9b4SSascha WildnerImplies defining
137e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
138e478b9b4SSascha Wildnerto
139e478b9b4SSascha Wildner.Li 199506 .
140e478b9b4SSascha Wildner.It Li 600
141e478b9b4SSascha WildnerMake definitions conforming to the
142e478b9b4SSascha Wildner.St -susv3
143e478b9b4SSascha Wildnervisible.
144e478b9b4SSascha WildnerImplies defining
145e478b9b4SSascha Wildner.Dv _POSIX_C_SOURCE
146e478b9b4SSascha Wildnerto
147e478b9b4SSascha Wildner.Li 200112 .
148e478b9b4SSascha WildnerThis is the default.
149e478b9b4SSascha Wildner.El
150e478b9b4SSascha Wildner.Pp
151e478b9b4SSascha WildnerIf both CAE and POSIX conformance is required, only
152e478b9b4SSascha Wildner.Dv _XOPEN_SOURCE
153e478b9b4SSascha Wildnercan be set.
154e478b9b4SSascha Wildner.\".Ss Miscellaneous Macros
155e478b9b4SSascha Wildner.\".Dv _ANSI_SOURCE
156e478b9b4SSascha Wildner.\".Dv _C99_SOURCE
157e478b9b4SSascha Wildner.\".Dv _DRAGONFLY_SOURCE
158e478b9b4SSascha Wildner.\".Dv _NETBSD_SOURCE
159e478b9b4SSascha Wildner.Sh HISTORY
160e478b9b4SSascha WildnerA
161e478b9b4SSascha Wildner.Nm
162e478b9b4SSascha Wildnermanual page first appeared in
163e478b9b4SSascha Wildner.Dx 2.7 .
164