1 @c Define common macros used to keep phrasing consistent in the manual.
6 @c Names used to refer to the library, as noun phrases at the start or
7 @c not at the start of a sentence.
15 @c Name used to refer to the library as an adjective.
20 @c Description applying to all GNU systems; that is, used in
21 @c describing a property of a system such that no system without that
22 @c property would be considered a variant of the GNU system.
27 @c Systems that are not GNU systems.
32 @c Description applying to GNU/Linux and GNU/Hurd systems, but not
33 @c necessarily to other variants of the GNU system.
34 @macro gnulinuxhurdsystems
35 GNU/Linux and GNU/Hurd systems
38 @c Description applying to GNU/Hurd systems; that is, systems using the
39 @c GNU Hurd with the GNU C Library.
44 @c Description applying to GNU/Linux systems; that is, systems using
45 @c the Linux kernel with the GNU C Library.
46 @macro gnulinuxsystems
50 @c Document the safety functions as preliminary. It does NOT expand its
52 @macro prelim {comments}
56 @c Document a function as thread safe.
57 @macro mtsafe {comments}
61 @c Document a function as thread unsafe.
62 @macro mtunsafe {comments}
63 | MT-Unsafe \comments\
66 @c Document a function as safe for use in asynchronous signal handlers.
67 @macro assafe {comments}
71 @c Document a function as unsafe for use in asynchronous signal
72 @c handlers. This distinguishes unmarked functions, for which this
73 @c property has not been assessed, from those that have been analyzed.
74 @macro asunsafe {comments}
75 | AS-Unsafe \comments\
78 @c Document a function as safe for use when asynchronous cancellation is
80 @macro acsafe {comments}
84 @c Document a function as unsafe for use when asynchronous cancellation
85 @c is enabled. This distinguishes unmarked functions, for which this
86 @c property has not been assessed, from those that have been analyzed.
87 @macro acunsafe {comments}
88 | AC-Unsafe \comments\
91 @c Format safety properties without referencing the section of the
92 @c definitions. To be used in the definitions of the properties
94 @macro sampsafety {notes}
100 @c Format the safety properties of a function.
101 @macro safety {notes}
102 \notes\| @xref{POSIX Safety Concepts}.
106 @c Function is MT- and AS-Unsafe due to an internal race.
107 @macro mtasurace {comments}
110 @c Function is AS-Unsafe due to an internal race.
111 @macro asurace {comments}
114 @c Function is MT-Safe, but with potential race on user-supplied object
116 @macro mtsrace {comments}
119 @c Function is MT- and AS-Unsafe for modifying an object that is decreed
120 @c MT-constant due to MT-Unsafe accesses elsewhere.
121 @macro mtasuconst {comments}
124 @c Function accesses the assumed-constant locale object.
125 @macro mtslocale {comments}
128 @c Function accesses the assumed-constant environment.
129 @macro mtsenv {comments}
132 @c Function accesses the assumed-constant hostid.
133 @macro mtshostid {comments}
136 @c Function accesses the assumed-constant _sigintr variable.
137 @macro mtssigintr {comments}
140 @c Function performs MT-Unsafe initialization at the first call.
141 @macro mtuinit {comments}
144 @c Function performs libc_once AS-Unsafe initialization.
145 @macro asuinit {comments}
148 @c Function performs libc_once AC-Unsafe initialization.
149 @macro acuinit {comments}
152 @c Function is AS-Unsafe because it takes a non-recursive mutex that may
153 @c already be held by the function interrupted by the signal.
154 @macro asulock {comments}
157 @c Function is AC-Unsafe because it may fail to release a mutex.
158 @macro aculock {comments}
161 @c Function is AS-Unsafe because some data structure may be inconsistent
162 @c due to an ongoing updated interrupted by a signal.
163 @macro asucorrupt {comments}
166 @c Function is AC-Unsafe because some data structure may be left
167 @c inconsistent when cancelled.
168 @macro acucorrupt {comments}
171 @c Function is AS- and AC-Unsafe because of malloc/free.
172 @macro ascuheap {comments}
175 @c Function is AS-Unsafe because of malloc/free.
176 @macro asuheap {comments}
179 @c Function is AS- and AC-Unsafe because of dlopen/dlclose.
180 @macro ascudlopen {comments}
183 @c Function is AS- and AC-Unsafe because of unknown plugins.
184 @macro ascuplugin {comments}
187 @c Function is AS- and AC-Unsafe because of i18n.
188 @macro ascuintl {comments}
191 @c Function is AS--Unsafe because of i18n.
192 @macro asuintl {comments}
195 @c Function may leak file descriptors if async-cancelled.
196 @macro acsfd {comments}
199 @c Function may leak memory if async-cancelled.
200 @macro acsmem {comments}
203 @c Function is unsafe due to temporary overriding a signal handler.
204 @macro mtascusig {comments}
207 @c Function is MT- and AS-Unsafe due to temporarily changing attributes
208 @c of the controlling terminal.
209 @macro mtasuterm {comments}
212 @c Function is AC-Unsafe for failing to restore attributes of the
213 @c controlling terminal.
214 @macro acuterm {comments}
217 @c Function sets timers atomically.
218 @macro mtstimer {comments}
221 @c Function sets and restores timers.
222 @macro mtascutimer {comments}
225 @c Function temporarily changes the current working directory.
226 @macro mtasscwd {comments}
229 @c Function may fail to restore to the original current working
230 @c directory after temporarily changing it.
231 @macro acscwd {comments}
234 @c Function is MT-Safe while POSIX says it needn't be MT-Safe.
235 @macro mtsposix {comments}
238 @c Function is MT-Unsafe while POSIX says it should be MT-Safe.
239 @macro mtuposix {comments}
242 @c Function is AS-Safe while POSIX says it needn't be AS-Safe.
243 @macro assposix {comments}
246 @c Function is AS-Unsafe while POSIX says it should be AS-Safe.
247 @macro asuposix {comments}
250 @c Function is AC-Safe while POSIX says it needn't be AC-Safe.
251 @macro acsposix {comments}
254 @c Function is AC-Unsafe while POSIX says it should be AC-Safe.
255 @macro acuposix {comments}
270 @c Used by errlist.awk and errnos.awk to generate other files.
271 @c Note that error values have ABI implications for the Hurd.
272 @macro errno {err, val, str}
277 @c Dummy placeholder while converting annotations.
278 @c For details on expected use, see `summary.pl --help'.
279 @macro standards {standard, header}
281 @c To be used for @*x lists of elements.
282 @macro standardsx {element, standard, header}