Blame manual/macros.texi

Packit Service 82fcde
@c Define common macros used to keep phrasing consistent in the manual.
Packit Service 82fcde
Packit Service 82fcde
@ifclear MACROS
Packit Service 82fcde
@set MACROS
Packit Service 82fcde
Packit Service 82fcde
@c Names used to refer to the library, as noun phrases at the start or
Packit Service 82fcde
@c not at the start of a sentence.
Packit Service 82fcde
@macro Theglibc
Packit Service 82fcde
The GNU C Library
Packit Service 82fcde
@end macro
Packit Service 82fcde
@macro theglibc
Packit Service 82fcde
the GNU C Library
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Name used to refer to the library as an adjective.
Packit Service 82fcde
@macro glibcadj
Packit Service 82fcde
GNU C Library
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Description applying to all GNU systems; that is, used in
Packit Service 82fcde
@c describing a property of a system such that no system without that
Packit Service 82fcde
@c property would be considered a variant of the GNU system.
Packit Service 82fcde
@macro gnusystems
Packit Service 82fcde
GNU systems
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Systems that are not GNU systems.
Packit Service 82fcde
@macro nongnusystems
Packit Service 82fcde
non-GNU systems
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Description applying to GNU/Linux and GNU/Hurd systems, but not
Packit Service 82fcde
@c necessarily to other variants of the GNU system.
Packit Service 82fcde
@macro gnulinuxhurdsystems
Packit Service 82fcde
GNU/Linux and GNU/Hurd systems
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Description applying to GNU/Hurd systems; that is, systems using the
Packit Service 82fcde
@c GNU Hurd with the GNU C Library.
Packit Service 82fcde
@macro gnuhurdsystems
Packit Service 82fcde
GNU/Hurd systems
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Description applying to GNU/Linux systems; that is, systems using
Packit Service 82fcde
@c the Linux kernel with the GNU C Library.
Packit Service 82fcde
@macro gnulinuxsystems
Packit Service 82fcde
GNU/Linux systems
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Document the safety functions as preliminary.  It does NOT expand its
Packit Service 82fcde
@c comments.
Packit Service 82fcde
@macro prelim {comments}
Packit Service 82fcde
Preliminary:
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as thread safe.
Packit Service 82fcde
@macro mtsafe {comments}
Packit Service 82fcde
| MT-Safe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as thread unsafe.
Packit Service 82fcde
@macro mtunsafe {comments}
Packit Service 82fcde
| MT-Unsafe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as safe for use in asynchronous signal handlers.
Packit Service 82fcde
@macro assafe {comments}
Packit Service 82fcde
| AS-Safe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as unsafe for use in asynchronous signal
Packit Service 82fcde
@c handlers.  This distinguishes unmarked functions, for which this
Packit Service 82fcde
@c property has not been assessed, from those that have been analyzed.
Packit Service 82fcde
@macro asunsafe {comments}
Packit Service 82fcde
| AS-Unsafe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as safe for use when asynchronous cancellation is
Packit Service 82fcde
@c enabled.
Packit Service 82fcde
@macro acsafe {comments}
Packit Service 82fcde
| AC-Safe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Document a function as unsafe for use when asynchronous cancellation
Packit Service 82fcde
@c is enabled.  This distinguishes unmarked functions, for which this
Packit Service 82fcde
@c property has not been assessed, from those that have been analyzed.
Packit Service 82fcde
@macro acunsafe {comments}
Packit Service 82fcde
| AC-Unsafe \comments\
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Format safety properties without referencing the section of the
Packit Service 82fcde
@c definitions.  To be used in the definitions of the properties
Packit Service 82fcde
@c themselves.
Packit Service 82fcde
@macro sampsafety {notes}
Packit Service 82fcde
@noindent
Packit Service 82fcde
\notes\|
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Format the safety properties of a function.
Packit Service 82fcde
@macro safety {notes}
Packit Service 82fcde
\notes\| @xref{POSIX Safety Concepts}.
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT- and AS-Unsafe due to an internal race.
Packit Service 82fcde
@macro mtasurace {comments}
Packit Service 82fcde
race\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Unsafe due to an internal race.
Packit Service 82fcde
@macro asurace {comments}
Packit Service 82fcde
race\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT-Safe, but with potential race on user-supplied object
Packit Service 82fcde
@c of opaque type.
Packit Service 82fcde
@macro mtsrace {comments}
Packit Service 82fcde
race\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT- and AS-Unsafe for modifying an object that is decreed
Packit Service 82fcde
@c MT-constant due to MT-Unsafe accesses elsewhere.
Packit Service 82fcde
@macro mtasuconst {comments}
Packit Service 82fcde
const\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function accesses the assumed-constant locale object.
Packit Service 82fcde
@macro mtslocale {comments}
Packit Service 82fcde
locale\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function accesses the assumed-constant environment.
Packit Service 82fcde
@macro mtsenv {comments}
Packit Service 82fcde
env\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function accesses the assumed-constant hostid.
Packit Service 82fcde
@macro mtshostid {comments}
Packit Service 82fcde
hostid\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function accesses the assumed-constant _sigintr variable.
Packit Service 82fcde
@macro mtssigintr {comments}
Packit Service 82fcde
sigintr\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function performs MT-Unsafe initialization at the first call.
Packit Service 82fcde
@macro mtuinit {comments}
Packit Service 82fcde
init\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function performs libc_once AS-Unsafe initialization.
Packit Service 82fcde
@macro asuinit {comments}
Packit Service 82fcde
init\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function performs libc_once AC-Unsafe initialization.
Packit Service 82fcde
@macro acuinit {comments}
Packit Service 82fcde
init\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Unsafe because it takes a non-recursive mutex that may
Packit Service 82fcde
@c already be held by the function interrupted by the signal.
Packit Service 82fcde
@macro asulock {comments}
Packit Service 82fcde
lock\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AC-Unsafe because it may fail to release a mutex.
Packit Service 82fcde
@macro aculock {comments}
Packit Service 82fcde
lock\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Unsafe because some data structure may be inconsistent
Packit Service 82fcde
@c due to an ongoing updated interrupted by a signal.
Packit Service 82fcde
@macro asucorrupt {comments}
Packit Service 82fcde
corrupt\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AC-Unsafe because some data structure may be left
Packit Service 82fcde
@c inconsistent when cancelled.
Packit Service 82fcde
@macro acucorrupt {comments}
Packit Service 82fcde
corrupt\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS- and AC-Unsafe because of malloc/free.
Packit Service 82fcde
@macro ascuheap {comments}
Packit Service 82fcde
heap\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Unsafe because of malloc/free.
Packit Service 82fcde
@macro asuheap {comments}
Packit Service 82fcde
heap\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS- and AC-Unsafe because of dlopen/dlclose.
Packit Service 82fcde
@macro ascudlopen {comments}
Packit Service 82fcde
dlopen\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS- and AC-Unsafe because of unknown plugins.
Packit Service 82fcde
@macro ascuplugin {comments}
Packit Service 82fcde
plugin\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS- and AC-Unsafe because of i18n.
Packit Service 82fcde
@macro ascuintl {comments}
Packit Service 82fcde
i18n\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS--Unsafe because of i18n.
Packit Service 82fcde
@macro asuintl {comments}
Packit Service 82fcde
i18n\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function may leak file descriptors if async-cancelled.
Packit Service 82fcde
@macro acsfd {comments}
Packit Service 82fcde
fd\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function may leak memory if async-cancelled.
Packit Service 82fcde
@macro acsmem {comments}
Packit Service 82fcde
mem\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is unsafe due to temporary overriding a signal handler.
Packit Service 82fcde
@macro mtascusig {comments}
Packit Service 82fcde
sig\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT- and AS-Unsafe due to temporarily changing attributes
Packit Service 82fcde
@c of the controlling terminal.
Packit Service 82fcde
@macro mtasuterm {comments}
Packit Service 82fcde
term\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AC-Unsafe for failing to restore attributes of the
Packit Service 82fcde
@c controlling terminal.
Packit Service 82fcde
@macro acuterm {comments}
Packit Service 82fcde
term\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function sets timers atomically.
Packit Service 82fcde
@macro mtstimer {comments}
Packit Service 82fcde
timer\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function sets and restores timers.
Packit Service 82fcde
@macro mtascutimer {comments}
Packit Service 82fcde
timer\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function temporarily changes the current working directory.
Packit Service 82fcde
@macro mtasscwd {comments}
Packit Service 82fcde
cwd\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function may fail to restore to the original current working
Packit Service 82fcde
@c directory after temporarily changing it.
Packit Service 82fcde
@macro acscwd {comments}
Packit Service 82fcde
cwd\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT-Safe while POSIX says it needn't be MT-Safe.
Packit Service 82fcde
@macro mtsposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is MT-Unsafe while POSIX says it should be MT-Safe.
Packit Service 82fcde
@macro mtuposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Safe while POSIX says it needn't be AS-Safe.
Packit Service 82fcde
@macro assposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AS-Unsafe while POSIX says it should be AS-Safe.
Packit Service 82fcde
@macro asuposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AC-Safe while POSIX says it needn't be AC-Safe.
Packit Service 82fcde
@macro acsposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c Function is AC-Unsafe while POSIX says it should be AC-Safe.
Packit Service 82fcde
@macro acuposix {comments}
Packit Service 82fcde
!posix\comments\
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@iftex
Packit Service 82fcde
@macro twoexp{exp}
Packit Service 82fcde
@math{2^{{\exp\}}}
Packit Service 82fcde
@end macro
Packit Service 82fcde
@end iftex
Packit Service 82fcde
@ifnottex
Packit Service 82fcde
@macro twoexp{exp}
Packit Service 82fcde
2^\exp\
Packit Service 82fcde
@end macro
Packit Service 82fcde
@end ifnottex
Packit Service 82fcde
Packit Service 82fcde
@c Used by errlist.awk and errnos.awk to generate other files.
Packit Service 82fcde
@c Note that error values have ABI implications for the Hurd.
Packit Service 82fcde
@macro errno {err, val, str}
Packit Service 82fcde
@cindex \str\
Packit Service 82fcde
``\str\.''
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@c Dummy placeholder while converting annotations.
Packit Service 82fcde
@c For details on expected use, see `summary.pl --help'.
Packit Service 82fcde
@macro standards {standard, header}
Packit Service 82fcde
@end macro
Packit Service 82fcde
@c To be used for @*x lists of elements.
Packit Service 82fcde
@macro standardsx {element, standard, header}
Packit Service 82fcde
@end macro
Packit Service 82fcde
Packit Service 82fcde
@end ifclear