summaryrefslogtreecommitdiff
path: root/manual/macros.texi
blob: f280a8170a36cb21256d442c4633d93679de9a3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
@c Define common macros used to keep phrasing consistent in the manual.

@ifclear MACROS
@set MACROS

@c Names used to refer to the library, as noun phrases at the start or
@c not at the start of a sentence.
@macro Theglibc
The GNU C Library
@end macro
@macro theglibc
the GNU C Library
@end macro

@c Name used to refer to the library as an adjective.
@macro glibcadj
GNU C Library
@end macro

@c Description applying to all GNU systems; that is, used in
@c describing a property of a system such that no system without that
@c property would be considered a variant of the GNU system.
@macro gnusystems
GNU systems
@end macro

@c Systems that are not GNU systems.
@macro nongnusystems
non-GNU systems
@end macro

@c Description applying to GNU/Linux and GNU/Hurd systems, but not
@c necessarily to other variants of the GNU system.
@macro gnulinuxhurdsystems
GNU/Linux and GNU/Hurd systems
@end macro

@c Descrption applying to GNU/Hurd systems; that is, systems using the
@c GNU Hurd with the GNU C Library.
@macro gnuhurdsystems
GNU/Hurd systems
@end macro

@c Descrption applying to GNU/Linux systems; that is, systems using
@c the Linux kernel with the GNU C Library.
@macro gnulinuxsystems
GNU/Linux systems
@end macro

@c Document the safety functions as preliminary.  It does NOT expand its
@c comments.
@macro prelim {comments}
Preliminary:

@end macro
@c Document a function as thread safe.
@macro mtsafe {comments}
| MT-Safe \comments\

@end macro
@c Document a function as thread unsafe.
@macro mtunsafe {comments}
| MT-Unsafe \comments\

@end macro
@c Document a function as safe for use in asynchronous signal handlers.
@macro assafe {comments}
| AS-Safe \comments\

@end macro
@c Document a function as unsafe for use in asynchronous signal
@c handlers.  This distinguishes unmarked functions, for which this
@c property has not been assessed, from those that have been analyzed.
@macro asunsafe {comments}
| AS-Unsafe \comments\

@end macro
@c Document a function as safe for use when asynchronous cancellation is
@c enabled.
@macro acsafe {comments}
| AC-Safe \comments\

@end macro
@c Document a function as unsafe for use when asynchronous cancellation
@c is enabled.  This distinguishes unmarked functions, for which this
@c property has not been assessed, from those that have been analyzed.
@macro acunsafe {comments}
| AC-Unsafe \comments\

@end macro
@c Format safety properties without referencing the section of the
@c definitions.  To be used in the definitions of the properties
@c themselves.
@macro sampsafety {notes}
@noindent
\notes\|


@end macro
@c Format the safety properties of a function.
@macro safety {notes}
\notes\| @xref{POSIX Safety Concepts}.


@end macro
@macro mtasurace {comments}
race\comments\
@end macro
@macro asurace {comments}
race\comments\
@end macro
@macro mtsrace {comments}
race\comments\
@end macro
@macro mtasuconst {comments}
const\comments\
@end macro
@macro mtslocale {comments}
locale\comments\
@end macro
@macro mtsenv {comments}
env\comments\
@end macro
@macro mtshostid {comments}
hostid\comments\
@end macro
@macro mtssigintr {comments}
sigintr\comments\
@end macro
@macro mtuinit {comments}
init\comments\
@end macro
@macro asuinit {comments}
init\comments\
@end macro
@macro acuinit {comments}
init\comments\
@end macro
@macro asulock {comments}
lock\comments\
@end macro
@macro aculock {comments}
lock\comments\
@end macro
@macro asucorrupt {comments}
corrupt\comments\
@end macro
@macro acucorrupt {comments}
corrupt\comments\
@end macro
@macro ascuheap {comments}
heap\comments\
@end macro
@macro asuheap {comments}
heap\comments\
@end macro
@macro ascudlopen {comments}
dlopen\comments\
@end macro
@macro ascuplugin {comments}
plugin\comments\
@end macro
@macro ascuintl {comments}
i18n\comments\
@end macro
@macro asuintl {comments}
i18n\comments\
@end macro
@macro acsfd {comments}
fd\comments\
@end macro
@macro acsmem {comments}
mem\comments\
@end macro
@macro mtascusig {comments}
sig\comments\
@end macro
@macro mtasuterm {comments}
term\comments\
@end macro
@macro acuterm {comments}
term\comments\
@end macro
@macro mtstimer {comments}
timer\comments\
@end macro
@macro mtascutimer {comments}
timer\comments\
@end macro
@macro mtasscwd {comments}
cwd\comments\
@end macro
@macro acscwd {comments}
cwd\comments\
@end macro
@macro mtsposix {comments}
!posix\comments\
@end macro
@macro mtuposix {comments}
!posix\comments\
@end macro
@macro assposix {comments}
!posix\comments\
@end macro
@macro asuposix {comments}
!posix\comments\
@end macro
@macro acsposix {comments}
!posix\comments\
@end macro
@macro acuposix {comments}
!posix\comments\
@end macro

@end ifclear