1@c Define common macros used to keep phrasing consistent in the manual.
2
3@ifclear MACROS
4@set MACROS
5
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.
8@macro Theglibc
9The GNU C Library
10@end macro
11@macro theglibc
12the GNU C Library
13@end macro
14
15@c Name used to refer to the library as an adjective.
16@macro glibcadj
17GNU C Library
18@end macro
19
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.
23@macro gnusystems
24GNU systems
25@end macro
26
27@c Systems that are not GNU systems.
28@macro nongnusystems
29non-GNU systems
30@end macro
31
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
35GNU/Linux and GNU/Hurd systems
36@end macro
37
38@c Description applying to GNU/Hurd systems; that is, systems using the
39@c GNU Hurd with the GNU C Library.
40@macro gnuhurdsystems
41GNU/Hurd systems
42@end macro
43
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
47GNU/Linux systems
48@end macro
49
50@c Document the safety functions as preliminary.  It does NOT expand its
51@c comments.
52@macro prelim {comments}
53Preliminary:
54
55@end macro
56@c Document a function as thread safe.
57@macro mtsafe {comments}
58| MT-Safe \comments\
59
60@end macro
61@c Document a function as thread unsafe.
62@macro mtunsafe {comments}
63| MT-Unsafe \comments\
64
65@end macro
66@c Document a function as safe for use in asynchronous signal handlers.
67@macro assafe {comments}
68| AS-Safe \comments\
69
70@end macro
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\
76
77@end macro
78@c Document a function as safe for use when asynchronous cancellation is
79@c enabled.
80@macro acsafe {comments}
81| AC-Safe \comments\
82
83@end macro
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\
89
90@end macro
91@c Format safety properties without referencing the section of the
92@c definitions.  To be used in the definitions of the properties
93@c themselves.
94@macro sampsafety {notes}
95@noindent
96\notes\|
97
98
99@end macro
100@c Format the safety properties of a function.
101@macro safety {notes}
102\notes\| @xref{POSIX Safety Concepts}.
103
104
105@end macro
106@c Function is MT- and AS-Unsafe due to an internal race.
107@macro mtasurace {comments}
108race\comments\
109@end macro
110@c Function is AS-Unsafe due to an internal race.
111@macro asurace {comments}
112race\comments\
113@end macro
114@c Function is MT-Safe, but with potential race on user-supplied object
115@c of opaque type.
116@macro mtsrace {comments}
117race\comments\
118@end macro
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}
122const\comments\
123@end macro
124@c Function accesses the assumed-constant locale object.
125@macro mtslocale {comments}
126locale\comments\
127@end macro
128@c Function accesses the assumed-constant environment.
129@macro mtsenv {comments}
130env\comments\
131@end macro
132@c Function accesses the assumed-constant hostid.
133@macro mtshostid {comments}
134hostid\comments\
135@end macro
136@c Function accesses the assumed-constant _sigintr variable.
137@macro mtssigintr {comments}
138sigintr\comments\
139@end macro
140@c Function performs MT-Unsafe initialization at the first call.
141@macro mtuinit {comments}
142init\comments\
143@end macro
144@c Function performs libc_once AS-Unsafe initialization.
145@macro asuinit {comments}
146init\comments\
147@end macro
148@c Function performs libc_once AC-Unsafe initialization.
149@macro acuinit {comments}
150init\comments\
151@end macro
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}
155lock\comments\
156@end macro
157@c Function is AC-Unsafe because it may fail to release a mutex.
158@macro aculock {comments}
159lock\comments\
160@end macro
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}
164corrupt\comments\
165@end macro
166@c Function is AC-Unsafe because some data structure may be left
167@c inconsistent when cancelled.
168@macro acucorrupt {comments}
169corrupt\comments\
170@end macro
171@c Function is AS- and AC-Unsafe because of malloc/free.
172@macro ascuheap {comments}
173heap\comments\
174@end macro
175@c Function is AS-Unsafe because of malloc/free.
176@macro asuheap {comments}
177heap\comments\
178@end macro
179@c Function is AS- and AC-Unsafe because of dlopen/dlclose.
180@macro ascudlopen {comments}
181dlopen\comments\
182@end macro
183@c Function is AS- and AC-Unsafe because of unknown plugins.
184@macro ascuplugin {comments}
185plugin\comments\
186@end macro
187@c Function is AS- and AC-Unsafe because of i18n.
188@macro ascuintl {comments}
189i18n\comments\
190@end macro
191@c Function is AS--Unsafe because of i18n.
192@macro asuintl {comments}
193i18n\comments\
194@end macro
195@c Function may leak file descriptors if async-cancelled.
196@macro acsfd {comments}
197fd\comments\
198@end macro
199@c Function may leak memory if async-cancelled.
200@macro acsmem {comments}
201mem\comments\
202@end macro
203@c Function is unsafe due to temporary overriding a signal handler.
204@macro mtascusig {comments}
205sig\comments\
206@end macro
207@c Function is MT- and AS-Unsafe due to temporarily changing attributes
208@c of the controlling terminal.
209@macro mtasuterm {comments}
210term\comments\
211@end macro
212@c Function is AC-Unsafe for failing to restore attributes of the
213@c controlling terminal.
214@macro acuterm {comments}
215term\comments\
216@end macro
217@c Function sets timers atomically.
218@macro mtstimer {comments}
219timer\comments\
220@end macro
221@c Function sets and restores timers.
222@macro mtascutimer {comments}
223timer\comments\
224@end macro
225@c Function temporarily changes the current working directory.
226@macro mtasscwd {comments}
227cwd\comments\
228@end macro
229@c Function may fail to restore to the original current working
230@c directory after temporarily changing it.
231@macro acscwd {comments}
232cwd\comments\
233@end macro
234@c Function is MT-Safe while POSIX says it needn't be MT-Safe.
235@macro mtsposix {comments}
236!posix\comments\
237@end macro
238@c Function is MT-Unsafe while POSIX says it should be MT-Safe.
239@macro mtuposix {comments}
240!posix\comments\
241@end macro
242@c Function is AS-Safe while POSIX says it needn't be AS-Safe.
243@macro assposix {comments}
244!posix\comments\
245@end macro
246@c Function is AS-Unsafe while POSIX says it should be AS-Safe.
247@macro asuposix {comments}
248!posix\comments\
249@end macro
250@c Function is AC-Safe while POSIX says it needn't be AC-Safe.
251@macro acsposix {comments}
252!posix\comments\
253@end macro
254@c Function is AC-Unsafe while POSIX says it should be AC-Safe.
255@macro acuposix {comments}
256!posix\comments\
257@end macro
258
259@iftex
260@macro twoexp{exp}
261@math{2^{{\exp\}}}
262@end macro
263@end iftex
264@ifnottex
265@macro twoexp{exp}
2662^\exp\
267@end macro
268@end ifnottex
269
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}
273@cindex \str\
274``\str\.''
275@end macro
276
277@c Dummy placeholder while converting annotations.
278@c For details on expected use, see `summary.pl --help'.
279@macro standards {standard, header}
280@end macro
281@c To be used for @*x lists of elements.
282@macro standardsx {element, standard, header}
283@end macro
284
285@end ifclear
286