pthread-cond: Fix compilation error on native Windows.
[gnulib.git] / doc / gnulib.texi
blobb6ce2c653d7be1d12875d0615e60860d8b718422
1 \input texinfo   @c -*-texinfo-*-
2 @comment %**start of header
3 @setfilename gnulib.info
4 @settitle GNU Gnulib
5 @documentencoding UTF-8
6 @c These two require Texinfo 5.0 or later, so we use the older
7 @c equivalent @set variables supported in 4.11 and hence
8 @ignore
9 @codequotebacktick on
10 @codequoteundirected on
11 @end ignore
12 @set txicodequoteundirected
13 @set txicodequotebacktick
14 @c Define a new index for the magic constants in regex.texi.
15 @defcodeindex cn
16 @syncodeindex fn cp
17 @syncodeindex ky cp
18 @syncodeindex pg cp
19 @syncodeindex tp cp
20 @syncodeindex vr cp
21 @syncodeindex cn cp
22 @ifclear texi2html
23 @firstparagraphindent insert
24 @end ifclear
25 @comment %**end of header
27 @comment Defines the UPDATED variable.
28 @include updated-stamp
30 @copying
31 This manual is for GNU Gnulib (updated @value{UPDATED}),
32 which is a library of common routines intended to be shared at the
33 source level.
35 Copyright @copyright{} 2004--2024 Free Software Foundation, Inc.
37 Permission is granted to copy, distribute and/or modify this document
38 under the terms of the GNU Free Documentation License, Version 1.3 or
39 any later version published by the Free Software Foundation; with no
40 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
41 copy of the license is included in the section entitled ``GNU Free
42 Documentation License''.
43 @c A copy of the license is at <https://www.gnu.org/licenses/fdl-1.3.en.html>.
44 @end copying
46 @dircategory Software development
47 @direntry
48 * Gnulib: (gnulib).             Source files to share among distributions.
49 @end direntry
51 @titlepage
52 @title GNU Gnulib
53 @subtitle updated @value{UPDATED}
54 @author @email{bug-gnulib@@gnu.org}
55 @page
56 @vskip 0pt plus 1filll
57 @insertcopying
58 @end titlepage
60 @contents
62 @ifnottex
63 @node Top
64 @top GNU Gnulib
66 @insertcopying
67 @end ifnottex
69 @menu
70 * Brief Overview::
71 * Philosophy::
72 * Invoking gnulib-tool::
73 * Writing modules::
74 * Extending Gnulib::
75 * Miscellaneous Notes::
76 * POSIX Substitutes Library::       Building as a separate substitutes library.
77 * Keyword Substitutes::             Replacing language keywords.
78 * Header File Substitutes::         Overriding system headers.
79 * Function Substitutes::            Replacing system functions.
80 * Legacy Function Substitutes::     Replacing system functions.
81 * Glibc Header File Substitutes::   Overriding system headers.
82 * Glibc Function Substitutes::      Replacing system functions.
83 * Native Windows Support::          Support for the native Windows platforms.
84 * Multithreading::                  Multiple threads of execution.
85 * Strings and Characters::          Functions for strings and characters.
86 * Particular Modules::              Documentation of individual modules.
87 * Regular expressions::             The regex module.
88 * Build Infrastructure Modules::    Modules that extend the GNU Build System.
89 * Build Infrastructure Files::      Non-modules files for the build system.
90 * Release Management Files::        Non-modules files for preparing releases.
91 * GNU Free Documentation License::  Copying and sharing this manual.
92 * Gnulib history::
93 * Index::
94 @end menu
96 @c Location of the POSIX specification on the web.
97 @set POSIXURL http://pubs.opengroup.org/onlinepubs/9699919799
99 @c Macro for referencing a POSIX header.
100 @ifinfo
101 @macro posixheader{header}
102 @code{<\header\>}
103 @end macro
104 @end ifinfo
105 @ifnotinfo
106 @macro posixheader{header}
107 @uref{@value{POSIXURL}/basedefs/\header\.html,,@code{<\header\>}}
108 @end macro
109 @end ifnotinfo
111 @c Macro for referencing a POSIX function.
112 @c We don't write it as func(), see section "GNU Manuals" of the
113 @c GNU coding standards.
114 @ifinfo
115 @macro posixfunc{func}
116 @code{\func\}
117 @end macro
118 @end ifinfo
119 @ifnotinfo
120 @macro posixfunc{func}
121 @uref{@value{POSIXURL}/functions/\func\.html,,@code{\func\}}
122 @end macro
123 @end ifnotinfo
125 @c Macro for referencing a normal function.
126 @c We don't write it as func(), see section "GNU Manuals" of the
127 @c GNU coding standards.
128 @macro func{func}
129 @code{\func\}
130 @end macro
132 @c This is used at the beginning of four chapters.
133 @macro nosuchmodulenote{thing}
134 The notation ``Gnulib module: ---'' means that Gnulib does not provide a
135 module providing a substitute for the \thing\.  When the list
136 ``Portability problems not fixed by Gnulib'' is empty, such a module is
137 not needed: No portability problems are known.  Otherwise, it indicates
138 that such a module would be useful but is not available: No one so far
139 found this \thing\ important enough to contribute a substitute for it.
140 If you need this particular \thing\, you may write to
141 @w{@code{<bug-gnulib at gnu dot org>}}.
142 @end macro
145 @node Brief Overview
146 @chapter Brief Overview
148 Gnulib is a source code library that provides basic functionality to
149 programs and libraries.  Many software packages make use of Gnulib
150 to avoid reinventing the portability wheel.
152 Resources:
154 @itemize
155 @item Gnulib is hosted at Savannah:
156       @url{https://savannah.gnu.org/projects/gnulib}.  Get the sources
157       through Git from there.
158 @item The Gnulib home page:
159       @url{https://www.gnu.org/software/gnulib/}.
160 @end itemize
162 @include gnulib-readme.texi
164 @node Philosophy
165 @chapter Philosophy
167 Gnulib's design and development philosophy is organized around steady,
168 collaborative, and open development of reusable modules that are
169 suitable for a reasonably wide variety of platforms.
171 @menu
172 * Benefits::
173 * Library vs Reusable Code::
174 * Portability and Application Code::
175 * Target Platforms::
176 * Modules::
177 * Various Kinds of Modules::
178 * Collaborative Development::
179 * Copyright::
180 * Steady Development::
181 * Openness::
182 @end menu
184 @include gnulib-intro.texi
187 @include gnulib-tool.texi
190 @node Writing modules
191 @chapter Writing modules
193 This chapter explains how to write modules of your own, either to
194 extend Gnulib for your own package (@pxref{Extending Gnulib}), or for
195 inclusion in gnulib proper.
197 The guidelines in this chapter do not necessarily need to be followed for
198 using @code{gnulib-tool}.  They merely represent a set of good practices.
199 Following them will result in a good structure of your modules and in
200 consistency with gnulib.
202 @menu
203 * Source code files::
204 * Header files::
205 * Implementation files::
206 * Specification::
207 * Module description::
208 * Autoconf macros::
209 * Using @code{AC_LIBOBJ}::
210 * Unit test modules::
211 * Incompatible changes::
212 @end menu
215 @node Source code files
216 @section Source code files
218 Every API (C functions or variables) provided should be declared in a header
219 file (.h file) and implemented in one or more implementation files (.c files).
220 The separation has the effect that users of your module need to read only
221 the contents of the .h file and the module description in order to understand
222 what the module is about and how to use it---not the entire implementation.
223 Furthermore, users of your module don't need to repeat the declarations of
224 the functions in their code, and are likely to receive notification through
225 compiler errors if you make incompatible changes to the API (like, adding a
226 parameter or changing the return type of a function).
229 @node Header files
230 @section Header files
232 The .h file should declare the C functions and variables that the module
233 provides.
235 The .h file should be stand-alone.  That is, it does not require other .h files
236 to be included before.  Rather, it includes all necessary .h files by itself.
238 @cindex double inclusion of header files
239 @cindex header file include protection
240 It is a tradition to use CPP tricks to avoid parsing the same header
241 file more than once, which might cause warnings.  The trick is to wrap
242 the content of the header file (say, @file{foo.h}) in a block, as in:
244 @example
245 #ifndef FOO_H
246 # define FOO_H
248 body of header file goes here
250 #endif /* FOO_H */
251 @end example
253 Whether to use @code{FOO_H} or @code{_FOO_H} is a matter of taste and
254 style.  The C99 and C11 standards reserve all identifiers that begin with an
255 underscore and either an uppercase letter or another underscore, for
256 any use.  Thus, in theory, an application might not safely assume that
257 @code{_FOO_H} has not already been defined by a library.  On the other
258 hand, using @code{FOO_H} will likely lead the higher risk of
259 collisions with other symbols (e.g., @code{KEY_H}, @code{XK_H}, @code{BPF_H},
260 which are CPP macro constants, or @code{COFF_LONG_H}, which is a CPP
261 macro function).  Your preference may depend on whether you consider
262 the header file under discussion as part of the application (which has
263 its own namespace for CPP symbols) or a supporting library (that
264 shouldn't interfere with the application's CPP symbol namespace).
266 @cindex C++ header files
267 @cindex Header files and C++
268 Adapting C header files for use in C++ applications can use another
269 CPP trick, as in:
271 @example
272 # ifdef __cplusplus
273 extern "C"
275 # endif
277 body of header file goes here
279 # ifdef __cplusplus
281 # endif
282 @end example
284 The idea here is that @code{__cplusplus} is defined only by C++
285 implementations, which will wrap the header file in an @samp{extern "C"}
286 block.  Again, whether to use this trick is a matter of taste and
287 style.  While the above can be seen as harmless, it could be argued
288 that the header file is written in C, and any C++ application using it
289 should explicitly use the @samp{extern "C"} block itself.  Your
290 preference might depend on whether you consider the API exported by
291 your header file as something available for C programs only, or for C
292 and C++ programs alike.
294 Note that putting a @code{#include} in an @code{extern "C" @{ ... @}}
295 block yields a syntax error in C++ mode on some platforms (e.g., glibc
296 systems with g++ v3.3 to v4.2, AIX, IRIX).  For this reason, it
297 is recommended to place the @code{#include} before the @code{extern
298 "C"} block.
300 @node Implementation files
301 @section Implementation files
303 The .c file or files implement the functions and variables declared in the
304 .h file.
306 @subheading Include ordering
308 Every implementation file must start with @samp{#include <config.h>}.
309 This is necessary for activating the preprocessor macros that are defined
310 on behalf of the Autoconf macros.  Some of these preprocessor macros,
311 such as @code{_GNU_SOURCE}, would have no effect if defined after a system
312 header file has already been included.
314 Then comes the @samp{#include "..."} specifying the header file that is
315 being implemented.  Putting this right after @samp{#include <config.h>}
316 has the effect that it verifies that the header file is self-contained.
318 Then come the system and application headers. It is customary to put all the
319 system headers before all application headers, so as to minimize the risk
320 that a preprocessor macro defined in an application header confuses the system
321 headers on some platforms.
323 In summary:
325 @itemize
326 @item
327 First comes #include <config.h>.
328 @item
329 Second comes the #include "..." specifying the module being implemented.
330 @item
331 Then come all the #include <...> of system or system-replacement headers,
332 in arbitrary order.
333 @item
334 Then come all the #include "..." of gnulib and application headers, in
335 arbitrary order.
336 @end itemize
339 @node Specification
340 @section Specification
342 The specification of a function should answer at least the following
343 questions:
344 @itemize
345 @item
346 What is the purpose of the function?
347 @item
348 What are the arguments?
349 @item
350 What is the return value?
351 @item
352 What happens in case of failure? (Exit? A specific return value? Errno set?)
353 @item
354 Memory allocation policy: If pointers to memory are returned, are they freshly
355 allocated and supposed to be freed by the caller?
356 @end itemize
358 @cindex specification
359 @cindex comments describing functions
360 @cindex describing functions, locating
361 Where to put the specification describing exported functions? Three practices
362 are used in gnulib:
364 @itemize
365 @item
366 The specification can be as comments in the header file, just above the
367 function declaration.
368 @item
369 The specification can be as comments in the implementation file, just above
370 the function definition.
371 @item
372 The specification can be in texinfo format, so that it gets included in the
373 gnulib manual.
374 @end itemize
376 In any case, the specification should appear in just one place, unless you can
377 ensure that the multiple copies will always remain identical.
379 The advantage of putting it in the header file is that the user only has to
380 read the include file normally never needs to peek into the implementation
381 file(s).
383 The advantage of putting it in the implementation file is that when reviewing
384 or changing the implementation, you have both elements side by side.
386 The advantage of texinfo formatted documentation is that it is easily
387 published in HTML or Info format.
389 Currently (as of 2020), 70% of gnulib uses the first practice, 25% of
390 gnulib uses the second practice, and a small minority uses the texinfo
391 practice.
394 @node Module description
395 @section Module description
397 For the module description, you can start from an existing module's
398 description, or from a blank one: @file{module/TEMPLATE} for a normal module,
399 or @file{module/TEMPLATE-TESTS} for a unit test module.  Some more fields
400 are possible but rarely used.  Use @file{module/TEMPLATE-EXTENDED} if you
401 want to use one of them.
403 Module descriptions have the following fields.  Absent fields are equivalent
404 to fields with empty contents.
406 @table @asis
407 @item Description
408 This field should contain a concise description of the module's functionality.
409 One sentence is enough.  For example, if it defines a single function
410 @samp{frob}, the description can be @samp{frob() function: frobnication.}
411 Gnulib's documentation generator will automatically convert the first part
412 to a hyperlink when it has this form.
414 @item Status
415 This field is either empty/absent, or contains the word @samp{obsolete}.  In
416 the latter case, @command{gnulib-tool} will, unless the option
417 @code{--with-obsolete} is given, omit it when it used as a dependency.  It is
418 good practice to also notify the user about an obsolete module.  This is done
419 by putting into the @samp{Notice} section (see below) text like
420 @samp{This module is obsolete.}
422 @item Notice
423 This field contains text that @command{gnulib-tool} will show to the user
424 when the module is used.  This can be a status indicator like
425 @samp{This module is obsolete.} or additional advice.  Do not abuse this
426 field.
428 @item Applicability
429 This field is either empty/absent, or contains the word @samp{all}.  It
430 describes to which @code{Makefile.am} the module is applied.  By default,
431 a normal module is applied to @code{@var{source_base}/Makefile.am}
432 (normally @code{lib/Makefile.am}), whereas a module ending in @code{-tests}
433 is applied to @code{@var{tests_base}/Makefile.am} (normally
434 @code{tests/Makefile.am}).  If this field is @samp{all}, it is applied to
435 both @code{Makefile.am}s.  This is useful for modules which provide
436 Makefile.am macros rather than compiled source code.
438 @item Files
439 This field contains a newline separated list of the files that are part of
440 the module.  @code{gnulib-tool} copies these files into the package that
441 uses the module.
443 This list is typically ordered by importance: First comes the header file,
444 then the implementation files, then other files.
446 It is possible to have the same file mentioned in multiple modules.  That is,
447 if the maintainers of that module agree on the purpose and future of said
448 file.
450 @item Depends-on
451 This field contains a newline separated list of the modules that are required
452 for the proper working of this module.  @code{gnulib-tool} includes each
453 required module automatically, unless it is specified with option
454 @code{--avoid} or it is marked as obsolete and the option
455 @code{--with-obsolete} is not given.
457 A test modules @code{foo-tests} implicitly depends on the corresponding non-test
458 module @code{foo}.  @code{foo} implicitly depends on @code{foo-tests} if the
459 latter exists and if the option @code{--with-tests} has been given.
461 Tests modules can depend on non-tests modules.  Non-tests modules should not
462 depend on tests modules. (Recall that tests modules are built in a separate
463 directory.)
465 Each listed required module may be declared a conditional dependency.  This
466 is indicated by placing the condition for the dependency on the same line,
467 enclosed in brackets, after the name of the required module.  The condition
468 is a shell expression that is run after the module's @code{configure.ac}
469 statements.  For example:
470 @smallexample
471 strtoull   [test $ac_cv_func_strtoumax = no]
472 @end smallexample
474 Lines starting with @code{#} are recognized as comments and are ignored.
476 @item configure.ac-early
477 This field contains @file{configure.ac} stuff (Autoconf macro invocations and
478 shell statements) that are logically placed early in the @file{configure.ac}
479 file: right after the @code{AC_PROG_CC} invocation.  This section is adequate
480 for statements that modify @code{CPPFLAGS}, as these can affect the results of
481 other Autoconf macros.
483 @item configure.ac
484 This field contains @file{configure.ac} stuff (Autoconf macro invocations and
485 shell statements).
487 It is forbidden to add items to the @code{CPPFLAGS} variable here, other than
488 temporarily, as these could affect the results of other Autoconf macros.
490 We avoid adding items to the @code{LIBS} variable, other than temporarily.
491 Instead, the module can export an Autoconf-substituted variable that contains
492 link options.  The user of the module can then decide to which executables
493 to apply which link options.  Recall that a package can build executables of
494 different kinds and purposes; having all executables link against all
495 libraries is inappropriate.
497 If the statements in this section grow larger than a couple of lines, we
498 recommend moving them to a @code{.m4} file of their own.
500 @item Makefile.am
501 This field contains @code{Makefile.am} statements.  Variables like
502 @code{lib_SOURCES} are transformed to match the name of the library
503 being built in that directory.  For example, @code{lib_SOURCES} may become
504 @code{libgnu_a_SOURCES} (for a plain library) or @code{libgnu_la_SOURCES}
505 (for a libtool library).  Therefore, the normal way of having an
506 implementation file @code{lib/foo.c} compiled unconditionally is to write
507 @smallexample
508 lib_SOURCES += foo.c
509 @end smallexample
511 @item Include
512 This field contains the preprocessor statements that users of the module
513 need to add to their source code files.  Typically it's a single include
514 statement.  A shorthand is allowed: You don't need to write the word
515 ``#include'', just the name of the include file in the way it will appear
516 in an include statement.  Example:
517 @smallexample
518 "foo.h"
519 @end smallexample
521 @item Link
522 This field contains the set of libraries that are needed when linking
523 libraries or executables that use this module.  Often this will be
524 written as a reference to a Makefile variable.  Please write them
525 one per line, so that @command{gnulib-tool} can remove duplicates
526 when presenting a summary to the user.
527 Example:
528 @smallexample
529 $(POW_LIBM)
530 $(LTLIBICONV) when linking with libtool, $(LIBICONV) otherwise
531 @end smallexample
532 When this field is omitted, it defaults to the union of the @code{Link}
533 field of the dependencies.
535 @item License
536 This field specifies the license that governs the source code parts of
537 this module.  See @ref{Copyright} for details.  Be sure to place, in every
538 source code file, a copyright notice and the appropriate license notice,
539 taken from the @file{etc/license-notices/} directory.
541 @item Maintainer
542 This field specifies the persons who have a definitive say about proposed
543 changes to this module.  You don't need to mention email addresses here:
544 they can be inferred from the @code{ChangeLog} file.
546 Please put at least one person here.  We don't like unmaintained modules.
547 @end table
550 @node Autoconf macros
551 @section Autoconf macros
553 For a module @code{foo}, an Autoconf macro file @file{m4/foo.m4} is typically
554 created when the Autoconf macro invocations for the module are longer than
555 one or two lines.
557 The name of the main entry point into this Autoconf macro file is typically
558 @code{gl_FOO}.  For modules outside Gnulib that are not likely to be moved
559 into Gnulib, please use a prefix specific to your package: @code{gt_} for
560 GNU gettext, @code{cu_} for GNU coreutils, etc.
562 For modules that define a function @code{foo}, the entry point is called
563 @code{gl_FUNC_FOO} instead of @code{gl_FOO}.  For modules that provide a
564 header file with multiple functions, say @code{foo.h}, the entry point is
565 called @code{gl_FOO_H} or @code{gl_HEADER_FOO_H}.  This convention is useful
566 because sometimes a header and a function name coincide (for example,
567 @code{fcntl} and @code{fcntl.h}).
569 For modules that provide a replacement, it is useful to split the Autoconf
570 macro into two macro definitions: one that detects whether the replacement
571 is needed and requests the replacement by setting a @code{HAVE_FOO}
572 variable to 0 or a @code{REPLACE_FOO} variable to 1 (this is the
573 entry point, say @code{gl_FUNC_FOO}), and one that arranges for the macros
574 needed by the replacement code @code{lib/foo.c} (typically called
575 @code{gl_PREREQ_FOO}).  The reason of this separation is
576 @enumerate
577 @item
578 to make it easy to update the Autoconf macros when you have modified the
579 source code file: after changing @code{lib/foo.c}, all you have to review
580 is the @code{Depends-on} section of the module description and the
581 @code{gl_PREREQ_FOO} macro in the Autoconf macro file.
582 @item
583 The Autoconf macros are often large enough that splitting them eases
584 maintenance.
585 @end enumerate
587 Autoconf macro files in Gnulib all start with a header consisting of
588 @c https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00053.html
589 @enumerate
590 @item
591 A comment line with the file name.
592 This is useful because in some cases the generated @code{aclocal.m4}
593 file does not contain a reference to the @code{.m4} file but its entire
594 contents.
595 The comment makes it clear which @code{.m4} file is where in the
596 @code{aclocal.m4} file.
597 @item
598 A comment line with a serial number.
599 This is useful when people use the @samp{aclocal --install} command.
600 @code{aclocal} will then refrain from copying a file with a smaller
601 serial number onto a file with a larger serial number.
602 The serial number should be a positive integer on the main branch,
603 or a positive fractional number on a stable branch.
604 @item
605 The copyright and license header, as usual.
606 @end enumerate
609 @node Using @code{AC_LIBOBJ}
610 @section Making proper use of @code{AC_LIBOBJ}
612 Source files that provide a replacement should be only compiled on the
613 platforms that need this replacement.  While it is actually possible
614 to compile a @code{.c} file whose contents is entirely @code{#ifdef}'ed
615 out on the platforms that don't need the replacement, this practice is
616 discouraged because
617 @itemize @bullet
618 @item
619 It makes the build time longer than needed, by invoking the compiler for
620 nothing.
621 @item
622 It produces a @code{.o} file that suggests that a replacement was needed.
623 @item
624 Empty object files produce a linker warning on some platforms: MSVC.
625 @end itemize
627 The typical idiom for invoking @code{AC_LIBOBJ} is thus the following,
628 in the module description:
630 @smallexample
631 if test $HAVE_FOO = 0 || test $REPLACE_FOO = 1; then
632   AC_LIBOBJ([foo])
633   gl_PREREQ_FOO
635 @end smallexample
637 Important: Do not place @code{AC_LIBOBJ} invocations in the Autoconf
638 macros in the @code{m4/} directory.  The purpose of the Autoconf macros
639 is to determine what features or bugs the platform has, and to make
640 decisions about which replacements are needed.  The purpose of the
641 @code{configure.ac} and @code{Makefile.am} sections of the module
642 descriptions is to arrange for the replacements to be compiled.
643 @strong{Source file names do not belong in the @code{m4/} directory.}
645 When an @code{AC_LIBOBJ} invocation is unconditional, it is simpler
646 to just have the source file compiled through an Automake variable
647 augmentation: In the @code{Makefile.am} section write
649 @smallexample
650 lib_SOURCES += foo.c
651 @end smallexample
653 When a module description contains an @code{AC_LIBOBJ([foo])}
654 invocation, you @strong{must} list the source file @code{lib/foo.c}
655 in the @code{Files} section.  This is needed even if the module
656 depends on another module that already lists @code{lib/foo.c} in its
657 @code{Files} section -- because your module might be used among
658 the test modules (in the directory specified through @samp{--tests-base})
659 and the other module among the main modules (in the directory specified
660 through @samp{--source-base}), and in this situation, the
661 @code{AC_LIBOBJ([foo])} of your module can only be satisfied by having
662 @code{foo.c} be present in the tests source directory as well.
664 @node Unit test modules
665 @section Unit test modules
667 A unit test that is a simple C program usually has a module description as
668 simple as this:
670 @smallexample
671 Files:
672 tests/test-foo.c
673 tests/macros.h
675 Depends-on:
677 configure.ac:
679 Makefile.am:
680 TESTS += test-foo
681 check_PROGRAMS += test-foo
682 @end smallexample
684 The test program @file{tests/test-foo.c} often has the following structure:
686 @itemize
687 @item
688 First comes the obligatory @samp{#include <config.h>}.
690 @item
691 Second comes the include of the header file that declares the API being tested.
692 Including it here verifies that said header file is self-contained.
694 @item
695 Then come other includes.  In particular, the file @file{macros.h} is often
696 used here.  It contains a convenient @code{ASSERT} macro.
697 @end itemize
699 The body of the test, then, contains many @code{ASSERT} invocations.  When
700 a test fails, the @code{ASSERT} macro prints the line number of the failing
701 statement, thus giving you, the developer, an idea of which part of the test
702 failed, even when you don't have access to the machine where the test failed
703 and the reporting user cannot run a debugger.
705 Sometimes it is convenient to write part of the test as a shell script.
706 (For example, in areas related to process control or interprocess
707 communication, or when different locales should be tried.) In these cases,
708 the typical module description is like this:
710 @smallexample
711 Files:
712 tests/test-foo.sh
713 tests/test-foo.c
714 tests/macros.h
716 Depends-on:
718 configure.ac:
720 Makefile.am:
721 TESTS += test-foo.sh
722 TESTS_ENVIRONMENT += FOO_BAR='@@FOO_BAR@@'
723 check_PROGRAMS += test-foo
724 @end smallexample
726 Here, the @code{TESTS_ENVIRONMENT} variable can be used to pass values
727 determined by @code{configure} or by the @code{Makefile} to the shell
728 script, as environment variables.  The Autoconf values @code{EXEEXT}
729 and @code{srcdir} are already provided as environment variables,
730 through an initial value of @code{TESTS_ENVIRONMENT} that
731 @code{gnulib-tool} puts in place.
733 Regardless of the specific form of the unit test, the following guidelines
734 should be respected:
736 @itemize
737 @item
738 A test indicates success by exiting with exit code 0.  It should normally
739 not produce output in this case.  (Output to temporary files that are
740 cleaned up at the end of the test are possible, of course.)
741 @item
742 A test indicates failure by exiting with an exit code different from 0 and 77,
743 typically 1.  It is useful to print a message about the failure in this case.
744 The @code{ASSERT} macro already does so.
745 @item
746 A test indicates "skip", that is, that most of its interesting functionality
747 could not be performed, through a return code of 77.  A test should also
748 print a message to stdout or stderr about the reason for skipping.
749 For example:
750 @smallexample
751   fputs ("Skipping test: multithreading not enabled\n", stderr);
752   return 77;
753 @end smallexample
754 Such a message helps detecting bugs in the autoconf macros: A simple message
755 @samp{SKIP: test-foo} does not sufficiently catch the attention of the user.
756 @end itemize
759 @node Incompatible changes
760 @section Incompatible changes
762 Incompatible changes to Gnulib modules should be mentioned in Gnulib's
763 @file{NEWS} file.  Incompatible changes here mean that existing source code
764 may not compile or work any more.
766 We don't mean changes in the binary interface (ABI), since
767 @enumerate
768 @item
769 Gnulib code is used in source-code form.
770 @item
771 The user who distributes libraries that contain Gnulib code is supposed to
772 bump the version number in the way described in the Libtool documentation
773 before every release.
774 @end enumerate
777 @node Extending Gnulib
778 @chapter Extending Gnulib
780 Gnulib modules are intended to be suitable for widespread use.  Most
781 problems with Gnulib can and should be fixed in a generic way, so that
782 all of Gnulib's users can benefit from the change.  But occasionally a
783 problem arises that is difficult or undesirable to fix generically, or
784 a project that uses Gnulib may need to work around an issue before the
785 Gnulib maintainers commit a final fix.  Maintainers may also want to
786 add their own pools of modules to projects as Gnulib ``staging
787 areas.''
789 The obvious way to make local changes to Gnulib modules is to use
790 @command{gnulib-tool} to check out pristine modules, then to modify
791 the results in-place.  This works well enough for short-lived
792 experiments.  It is harder to keep modified versions of Gnulib modules
793 for a long time, even though Git (or another distributed version
794 control systems) can help out a lot with this during the development
795 process.
797 Git, however, doesn't address the distribution issue.  When a package
798 ``foobar'' needs a modified version of, say, @file{stdint.in.h}, it
799 either has to put a comment into @file{foobar/autogen.sh} saying
800 ``Attention! This doesn't work with a pristine Gnulib, you need this
801 and that patch after checking out Gnulib,'' or it has to use the
802 @samp{--avoid=stdint} option and provide the modified @code{stdint}
803 module in a different directory.
805 The @option{--local-dir} option to @command{gnulib-tool} solves this
806 problem.  It allows the package to override or augment Gnulib.  This
807 means:
809 @itemize @bullet
810 @item
811 You can store files that are to override Gnulib files or modules.
813 @item
814 You can store context diffs to be applied to Gnulib files.
816 @item
817 You can add modules of your own, that are not (yet) in Gnulib.
819 @item
820 You can also add unstructured amounts of code to the library, by
821 grouping the non-Gnulib files of the library in a single kitchen-sink
822 ``module.''  (This kind of kitchen-sink module is not needed when you
823 use the @command{gnulib-tool} option @option{--makefile-name}.)
824 @end itemize
826 In a release tarball, you can distribute the contents of this
827 @option{--local-dir} directory that will be combinable with newer
828 versions of Gnulib, barring incompatible changes to Gnulib.
830 If the @option{--local-dir=@var{directory}} option is specified, then
831 @command{gnulib-tool} looks in @file{@var{directory}} whenever it
832 reads a file from the Gnulib directory.  Suppose @command{gnulib-tool}
833 is looking for @var{file}.  Then:
835 @itemize @bullet
836 @item
837 If @file{@var{directory}/@var{file}} exists, then @command{gnulib-tool} uses
838 it instead of the file included in Gnulib.
840 @item
841 Otherwise, if @file{@var{directory}/@var{file}.diff} exists, then
842 @command{gnulib-tool} uses the file from Gnulib after applying the diff
843 using the @command{patch} program.
845 @item
846 Otherwise, @command{gnulib-tool} uses the file included in Gnulib.
847 @end itemize
849 You can specify the @option{--local-dir} multiple times.  In this case,
850 the first specified directory has the highest precedence.  That is, a
851 @file{@var{file}} found in one directory will shadow any @file{@var{file}}
852 and @file{@var{file}.diff} in the later directories and in the Gnulib
853 directory.  And a file @file{@var{file}.diff} found in one directory will
854 be applied on top of the combination of @file{@var{file}} and
855 @file{@var{file}.diff} files found in the later directories and in the
856 Gnulib directory.
858 Please make wise use of this option.  It also allows you to easily
859 hold back modifications you make to Gnulib macros in cases it may be
860 better to share them.
863 @node Miscellaneous Notes
864 @chapter Miscellaneous Notes
866 @menu
867 * Out of memory handling::
868 * Obsolete modules::
869 * Extra tests modules::
870 * Modules that modify the way other modules work::
871 * A C++ namespace for gnulib::      A different way of using Gnulib in C++
872 * License Texinfo sources::
873 * Building gnulib::
874 @end menu
876 @include out-of-memory.texi
878 @include obsolete.texi
880 @include extra-tests.texi
882 @include transversal.texi
884 @include namespace.texi
886 @include licenses-texi.texi
888 @include build-automation.texi
891 @node POSIX Substitutes Library
892 @chapter Building the ISO C and POSIX Substitutes
894 This section shows a radically different way to use Gnulib.
896 You can extract the ISO C / POSIX substitutes part of gnulib by running
897 the command
898 @smallexample
899 gnulib-tool --create-testdir --source-base=lib \
900             --dir=/tmp/posixlib `posix-modules`
901 @end smallexample
903 @noindent
904 The command @samp{posix-modules} is found in the same directory as
905 @code{gnulib-tool}.
907 The resulting directory can be built on a particular platform,
908 independently of the program being ported.  Then you can configure and
909 build any program, by setting @code{CPPFLAGS} and @code{LDFLAGS} at
910 configure time accordingly: set @code{CPPFLAGS="-I.../posixlib/lib"}, plus
911 any essential type definitions and flags that you find in
912 @code{.../posixlib/config.h}, and set
913 @code{LDFLAGS=".../posixlib/lib/libgnu.a"}.
915 This way of using Gnulib is useful when you don't want to modify the program's
916 source code, or when the program uses a mix between C and C++ sources
917 (requiring separate builds of the @code{posixlib} for the C compiler and
918 for the C++ compiler).
920 @node Keyword Substitutes
921 @chapter ISO C Keyword Substitutes
923 This chapter describes which keywords specified by ISO C are
924 substituted by Gnulib.
926 @menu
927 * alignof::        @code{alignas} and @code{alignof}
928 * bool::           @code{bool}, @code{false}, and @code{true}
929 * nullptr::        @code{nullptr}
930 * static_assert::  @code{static_assert}
931 @end menu
933 @node alignof
934 @section @code{alignof} and @code{alignas}
936 Gnulib module: alignasof
938 The @code{alignasof} module arranges for @code{alignas} and @code{alignof}
939 to be more like standard C@.
941 Portability problems fixed by Gnulib:
942 @itemize
943 @item
944 Pre-C11 platforms lack @code{alignas} and @code{alignof}.
946 @item
947 On pre-C23 platforms, @code{<stdalign.h>} must be included before
948 using @code{alignas} or @code{alignof}.
949 @xref{stdalign.h}.
950 @end itemize
952 Portability problems not fixed by Gnulib:
953 @itemize
954 @item
955 On pre-C23 platforms, @code{alignas} and @code{alignof} are macros.
956 @end itemize
958 @node bool
959 @section @code{bool}
961 Gnulib module: stdbool
963 Portability problems fixed by Gnulib:
964 @itemize
965 @item
966 The keywords @code{bool}, @code{true}, and @code{false} are not available:
967 gcc 12 and other compilers predating C23.
968 @end itemize
970 Portability problems not fixed by Gnulib:
971 @itemize
972 @item
973 On pre-C23 platforms, the keyword substitutes are macros.
975 @item
976 On pre-C23 platforms, the keyword substitutes assume C99 or later.
977 @end itemize
979 @node nullptr
980 @section @code{nullptr}
982 Gnulib module: nullptr
984 @cindex null pointer
985 The @code{nullptr} module arranges for @code{nullptr} to act
986 like standard C and C++.
988 The @code{nullptr} keyword yields a null pointer.  It differs from
989 the @code{NULL} macro, in that @code{NULL} might be an integer whereas
990 @code{nullptr} is of a special @code{nullptr_t} type with only one
991 value, namely @code{nullptr} itself.  Using @code{nullptr} can help
992 some compilers emit more sensible warnings, can avoid the need to cast
993 a null pointer passed to a function prototyped with an ellipsis, and
994 removes the need to include @code{<stddef.h>} merely to define
995 @code{NULL}.
997 Portability problems fixed by Gnulib:
998 @itemize
999 @item
1000 Some platforms lack @code{nullptr}:
1001 For C: GCC 12, Clang 15, and other pre-2023 C compilers.
1002 For C++: pre-2011 C++ compilers.
1004 @item
1005 Some platforms incorrectly warn when @code{nullptr} is a sentinel argument:
1006 GCC 13.2 and 14.0.
1007 @end itemize
1009 Portability problems not fixed by Gnulib:
1010 @itemize
1011 @item
1012 On older platforms, @code{nullptr} is a macro instead of a keyword.
1014 @item
1015 On older platforms, @code{nullptr} does not have the type @code{nullptr_t}.
1016 In C, it has type @code{void *}; in C++ it has an integer type.
1018 @item
1019 On older platforms Gnulib cannot easily emulate @code{nullptr_t}, so
1020 null pointer type checking is more error prone.  In C, @code{_Generic}
1021 expressions cannot reliably distinguish the type of @code{nullptr}
1022 from integer or @code{void *} types.  C++ overloading has similar
1023 limitations.
1024 @end itemize
1026 @node static_assert
1027 @section @code{static_assert}
1029 Gnulib module: assert-h
1031 The @code{assert-h} module arranges for both @code{static_assert} and
1032 @code{<assert.h>} to be like standard C@.  @xref{assert.h}.
1034 Portability problems fixed by Gnulib:
1035 @itemize
1036 @item
1037 Pre-C11 platforms lack @code{static_assert}.
1039 @item
1040 On pre-C23 platforms, @code{<assert.h>} must be included before
1041 using @code{static_assert}.
1042 @end itemize
1044 Portability problems not fixed by Gnulib:
1045 @itemize
1046 @item
1047 On pre-C23 platforms, @code{static_assert} is a macro.
1048 @end itemize
1050 @node Header File Substitutes
1051 @chapter ISO C and POSIX Header File Substitutes
1053 This chapter describes which header files specified by ISO C or POSIX are
1054 substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and
1055 which (known) portability problems are not worked around by Gnulib.
1057 @nosuchmodulenote header file
1059 @menu
1060 * aio.h::
1061 * arpa/inet.h::
1062 * assert.h::
1063 * complex.h::
1064 * cpio.h::
1065 * ctype.h::
1066 * dirent.h::
1067 * dlfcn.h::
1068 * errno.h::
1069 * fcntl.h::
1070 * fenv.h::
1071 * float.h::
1072 * fmtmsg.h::
1073 * fnmatch.h::
1074 * ftw.h::
1075 * glob.h::
1076 * grp.h::
1077 * iconv.h::
1078 * inttypes.h::
1079 * iso646.h::
1080 * langinfo.h::
1081 * libgen.h::
1082 * limits.h::
1083 * locale.h::
1084 * math.h::
1085 * monetary.h::
1086 * mqueue.h::
1087 * ndbm.h::
1088 * net/if.h::
1089 * netdb.h::
1090 * netinet/in.h::
1091 * netinet/tcp.h::
1092 * nl_types.h::
1093 * poll.h::
1094 * pthread.h::
1095 * pwd.h::
1096 * regex.h::
1097 * sched.h::
1098 * search.h::
1099 * semaphore.h::
1100 * setjmp.h::
1101 * signal.h::
1102 * spawn.h::
1103 * stdalign.h::
1104 * stdarg.h::
1105 * stdatomic.h::
1106 * stdbit.h::
1107 * stdbool.h::
1108 * stdckdint.h::
1109 * stddef.h::
1110 * stdint.h::
1111 * stdio.h::
1112 * stdlib.h::
1113 * stdnoreturn.h::
1114 * string.h::
1115 * strings.h::
1116 * stropts.h::
1117 * sys/ipc.h::
1118 * sys/mman.h::
1119 * sys/msg.h::
1120 * sys/resource.h::
1121 * sys/select.h::
1122 * sys/sem.h::
1123 * sys/shm.h::
1124 * sys/socket.h::
1125 * sys/stat.h::
1126 * sys/statvfs.h::
1127 * sys/time.h::
1128 * sys/timeb.h::
1129 * sys/times.h::
1130 * sys/types.h::
1131 * sys/uio.h::
1132 * sys/un.h::
1133 * sys/utsname.h::
1134 * sys/wait.h::
1135 * syslog.h::
1136 * tar.h::
1137 * termios.h::
1138 * tgmath.h::
1139 * threads.h::
1140 * time.h::
1141 * trace.h::
1142 * uchar.h::
1143 * ucontext.h::
1144 * ulimit.h::
1145 * unistd.h::
1146 * utime.h::
1147 * utmpx.h::
1148 * wchar.h::
1149 * wctype.h::
1150 * wordexp.h::
1151 @end menu
1153 @include posix-headers/aio.texi
1154 @include posix-headers/arpa_inet.texi
1155 @include posix-headers/assert.texi
1156 @include posix-headers/complex.texi
1157 @include posix-headers/cpio.texi
1158 @include posix-headers/ctype.texi
1159 @include posix-headers/dirent.texi
1160 @include posix-headers/dlfcn.texi
1161 @include posix-headers/errno.texi
1162 @include posix-headers/fcntl.texi
1163 @include posix-headers/fenv.texi
1164 @include posix-headers/float.texi
1165 @include posix-headers/fmtmsg.texi
1166 @include posix-headers/fnmatch.texi
1167 @include posix-headers/ftw.texi
1168 @include posix-headers/glob.texi
1169 @include posix-headers/grp.texi
1170 @include posix-headers/iconv.texi
1171 @include posix-headers/inttypes.texi
1172 @include posix-headers/iso646.texi
1173 @include posix-headers/langinfo.texi
1174 @include posix-headers/libgen.texi
1175 @include posix-headers/limits.texi
1176 @include posix-headers/locale.texi
1177 @include posix-headers/math.texi
1178 @include posix-headers/monetary.texi
1179 @include posix-headers/mqueue.texi
1180 @include posix-headers/ndbm.texi
1181 @include posix-headers/net_if.texi
1182 @include posix-headers/netdb.texi
1183 @include posix-headers/netinet_in.texi
1184 @include posix-headers/netinet_tcp.texi
1185 @include posix-headers/nl_types.texi
1186 @include posix-headers/poll.texi
1187 @include posix-headers/pthread.texi
1188 @include posix-headers/pwd.texi
1189 @include posix-headers/regex.texi
1190 @include posix-headers/sched.texi
1191 @include posix-headers/search.texi
1192 @include posix-headers/semaphore.texi
1193 @include posix-headers/setjmp.texi
1194 @include posix-headers/signal.texi
1195 @include posix-headers/spawn.texi
1196 @include posix-headers/stdalign.texi
1197 @include posix-headers/stdarg.texi
1198 @include posix-headers/stdatomic.texi
1199 @include posix-headers/stdbit.texi
1200 @include posix-headers/stdbool.texi
1201 @include posix-headers/stdckdint.texi
1202 @include posix-headers/stddef.texi
1203 @include posix-headers/stdint.texi
1204 @include posix-headers/stdio.texi
1205 @include posix-headers/stdlib.texi
1206 @include posix-headers/stdnoreturn.texi
1207 @include posix-headers/string.texi
1208 @include posix-headers/strings.texi
1209 @include posix-headers/stropts.texi
1210 @include posix-headers/sys_ipc.texi
1211 @include posix-headers/sys_mman.texi
1212 @include posix-headers/sys_msg.texi
1213 @include posix-headers/sys_resource.texi
1214 @include posix-headers/sys_select.texi
1215 @include posix-headers/sys_sem.texi
1216 @include posix-headers/sys_shm.texi
1217 @include posix-headers/sys_socket.texi
1218 @include posix-headers/sys_stat.texi
1219 @include posix-headers/sys_statvfs.texi
1220 @include posix-headers/sys_time.texi
1221 @include posix-headers/sys_timeb.texi
1222 @include posix-headers/sys_times.texi
1223 @include posix-headers/sys_types.texi
1224 @include posix-headers/sys_uio.texi
1225 @include posix-headers/sys_un.texi
1226 @include posix-headers/sys_utsname.texi
1227 @include posix-headers/sys_wait.texi
1228 @include posix-headers/syslog.texi
1229 @include posix-headers/tar.texi
1230 @include posix-headers/termios.texi
1231 @include posix-headers/tgmath.texi
1232 @include posix-headers/threads.texi
1233 @include posix-headers/time.texi
1234 @include posix-headers/trace.texi
1235 @include posix-headers/uchar.texi
1236 @include posix-headers/ucontext.texi
1237 @include posix-headers/ulimit.texi
1238 @include posix-headers/unistd.texi
1239 @include posix-headers/utime.texi
1240 @include posix-headers/utmpx.texi
1241 @include posix-headers/wchar.texi
1242 @include posix-headers/wctype.texi
1243 @include posix-headers/wordexp.texi
1245 @node Function Substitutes
1246 @chapter ISO C and POSIX Function Substitutes
1248 This chapter describes which functions and function-like macros specified by
1249 ISO C (including ISO TS 18661-1) or POSIX are substituted by Gnulib, which
1250 portability pitfalls are fixed by Gnulib, and which (known) portability
1251 problems are not worked around by Gnulib.
1253 @nosuchmodulenote function
1255 @menu
1256 * FD_CLR::
1257 * FD_ISSET::
1258 * FD_SET::
1259 * FD_ZERO::
1260 * _Exit::
1261 * _exit::
1262 * _longjmp::
1263 * _setjmp::
1264 * _tolower::
1265 * _toupper::
1266 * a64l::
1267 * abort::
1268 * abs::
1269 * accept::
1270 * access::
1271 * acos::
1272 * acosf::
1273 * acosh::
1274 * acoshf::
1275 * acoshl::
1276 * acosl::
1277 * aio_cancel::
1278 * aio_error::
1279 * aio_fsync::
1280 * aio_read::
1281 * aio_return::
1282 * aio_suspend::
1283 * aio_write::
1284 * alarm::
1285 * aligned_alloc::
1286 * alphasort::
1287 * asctime::
1288 * asctime_r::
1289 * asin::
1290 * asinf::
1291 * asinh::
1292 * asinhf::
1293 * asinhl::
1294 * asinl::
1295 * assert::
1296 * atan::
1297 * atan2::
1298 * atan2f::
1299 * atan2l::
1300 * atanf::
1301 * atanh::
1302 * atanhf::
1303 * atanhl::
1304 * atanl::
1305 * atexit::
1306 * atof::
1307 * atoi::
1308 * atol::
1309 * atoll::
1310 * basename::
1311 * bind::
1312 * bsearch::
1313 * btowc::
1314 * c8rtomb::
1315 * c16rtomb::
1316 * c32rtomb::
1317 * cabs::
1318 * cabsf::
1319 * cabsl::
1320 * cacos::
1321 * cacosf::
1322 * cacosh::
1323 * cacoshf::
1324 * cacoshl::
1325 * cacosl::
1326 * calloc::
1327 * call_once::
1328 * canonicalize::
1329 * canonicalizef::
1330 * canonicalizel::
1331 * carg::
1332 * cargf::
1333 * cargl::
1334 * casin::
1335 * casinf::
1336 * casinh::
1337 * casinhf::
1338 * casinhl::
1339 * casinl::
1340 * catan::
1341 * catanf::
1342 * catanh::
1343 * catanhf::
1344 * catanhl::
1345 * catanl::
1346 * catclose::
1347 * catgets::
1348 * catopen::
1349 * cbrt::
1350 * cbrtf::
1351 * cbrtl::
1352 * ccos::
1353 * ccosf::
1354 * ccosh::
1355 * ccoshf::
1356 * ccoshl::
1357 * ccosl::
1358 * ceil::
1359 * ceilf::
1360 * ceill::
1361 * cexp::
1362 * cexpf::
1363 * cexpl::
1364 * cfgetispeed::
1365 * cfgetospeed::
1366 * cfsetispeed::
1367 * cfsetospeed::
1368 * chdir::
1369 * chmod::
1370 * chown::
1371 * cimag::
1372 * cimagf::
1373 * cimagl::
1374 * clearerr::
1375 * clock::
1376 * clock_getcpuclockid::
1377 * clock_getres::
1378 * clock_gettime::
1379 * clock_nanosleep::
1380 * clock_settime::
1381 * clog::
1382 * clogf::
1383 * clogl::
1384 * close::
1385 * closedir::
1386 * closelog::
1387 * cnd_broadcast::
1388 * cnd_destroy::
1389 * cnd_init::
1390 * cnd_signal::
1391 * cnd_timedwait::
1392 * cnd_wait::
1393 * confstr::
1394 * conj::
1395 * conjf::
1396 * conjl::
1397 * connect::
1398 * copysign::
1399 * copysignf::
1400 * copysignl::
1401 * cos::
1402 * cosf::
1403 * cosh::
1404 * coshf::
1405 * coshl::
1406 * cosl::
1407 * cpow::
1408 * cpowf::
1409 * cpowl::
1410 * cproj::
1411 * cprojf::
1412 * cprojl::
1413 * creal::
1414 * crealf::
1415 * creall::
1416 * creat::
1417 * crypt::
1418 * csin::
1419 * csinf::
1420 * csinh::
1421 * csinhf::
1422 * csinhl::
1423 * csinl::
1424 * csqrt::
1425 * csqrtf::
1426 * csqrtl::
1427 * ctan::
1428 * ctanf::
1429 * ctanh::
1430 * ctanhf::
1431 * ctanhl::
1432 * ctanl::
1433 * ctermid::
1434 * ctime::
1435 * ctime_r::
1436 * daddl::
1437 * daylight::
1438 * dbm_clearerr::
1439 * dbm_close::
1440 * dbm_delete::
1441 * dbm_error::
1442 * dbm_fetch::
1443 * dbm_firstkey::
1444 * dbm_nextkey::
1445 * dbm_open::
1446 * dbm_store::
1447 * ddivl::
1448 * dfmal::
1449 * difftime::
1450 * dirfd::
1451 * dirname::
1452 * div::
1453 * dlclose::
1454 * dlerror::
1455 * dlopen::
1456 * dlsym::
1457 * dmull::
1458 * dprintf::
1459 * drand48::
1460 * dsqrtl::
1461 * dsubl::
1462 * dup::
1463 * dup2::
1464 * duplocale::
1465 * encrypt::
1466 * endgrent::
1467 * endhostent::
1468 * endnetent::
1469 * endprotoent::
1470 * endpwent::
1471 * endservent::
1472 * endutxent::
1473 * environ::
1474 * erand48::
1475 * erf::
1476 * erfc::
1477 * erfcf::
1478 * erfcl::
1479 * erff::
1480 * erfl::
1481 * errno::
1482 * execl::
1483 * execle::
1484 * execlp::
1485 * execv::
1486 * execve::
1487 * execvp::
1488 * exit::
1489 * exp::
1490 * exp2::
1491 * exp2f::
1492 * exp2l::
1493 * expf::
1494 * expl::
1495 * expm1::
1496 * expm1f::
1497 * expm1l::
1498 * fabs::
1499 * fabsf::
1500 * fabsl::
1501 * faccessat::
1502 * fadd::
1503 * faddl::
1504 * fattach::
1505 * fchdir::
1506 * fchmod::
1507 * fchmodat::
1508 * fchown::
1509 * fchownat::
1510 * fclose::
1511 * fcntl::
1512 * fdatasync::
1513 * fdetach::
1514 * fdim::
1515 * fdimf::
1516 * fdiml::
1517 * fdiv::
1518 * fdivl::
1519 * fdopen::
1520 * fdopendir::
1521 * feclearexcept::
1522 * fegetenv::
1523 * fegetexceptflag::
1524 * fegetmode::
1525 * fegetround::
1526 * feholdexcept::
1527 * feof::
1528 * feraiseexcept::
1529 * ferror::
1530 * fesetenv::
1531 * fesetexcept::
1532 * fesetexceptflag::
1533 * fesetmode::
1534 * fesetround::
1535 * fetestexcept::
1536 * fetestexceptflag::
1537 * feupdateenv::
1538 * fexecve::
1539 * fflush::
1540 * ffma::
1541 * ffmal::
1542 * ffs::
1543 * fgetc::
1544 * fgetpos::
1545 * fgets::
1546 * fgetwc::
1547 * fgetws::
1548 * fileno::
1549 * flockfile::
1550 * floor::
1551 * floorf::
1552 * floorl::
1553 * fma::
1554 * fmaf::
1555 * fmal::
1556 * fmax::
1557 * fmaxf::
1558 * fmaximum::
1559 * fmaximumf::
1560 * fmaximuml::
1561 * fmaximum_mag::
1562 * fmaximum_magf::
1563 * fmaximum_magl::
1564 * fmaximum_mag_num::
1565 * fmaximum_mag_numf::
1566 * fmaximum_mag_numl::
1567 * fmaximum_num::
1568 * fmaximum_numf::
1569 * fmaximum_numl::
1570 * fmaxl::
1571 * fmaxmag::
1572 * fmaxmagf::
1573 * fmaxmagl::
1574 * fmemopen::
1575 * fmin::
1576 * fminf::
1577 * fminimum::
1578 * fminimumf::
1579 * fminimuml::
1580 * fminimum_mag::
1581 * fminimum_magf::
1582 * fminimum_magl::
1583 * fminimum_mag_num::
1584 * fminimum_mag_numf::
1585 * fminimum_mag_numl::
1586 * fminimum_num::
1587 * fminimum_numf::
1588 * fminimum_numl::
1589 * fminl::
1590 * fminmag::
1591 * fminmagf::
1592 * fminmagl::
1593 * fmod::
1594 * fmodf::
1595 * fmodl::
1596 * fmtmsg::
1597 * fmul::
1598 * fmull::
1599 * fnmatch::
1600 * fopen::
1601 * fork::
1602 * fpathconf::
1603 * fpclassify::
1604 * fprintf::
1605 * fputc::
1606 * fputs::
1607 * fputwc::
1608 * fputws::
1609 * fread::
1610 * free::
1611 * freeaddrinfo::
1612 * freelocale::
1613 * freopen::
1614 * frexp::
1615 * frexpf::
1616 * frexpl::
1617 * fromfp::
1618 * fromfpf::
1619 * fromfpl::
1620 * fromfpx::
1621 * fromfpxf::
1622 * fromfpxl::
1623 * fscanf::
1624 * fseek::
1625 * fseeko::
1626 * fsetpos::
1627 * fsqrt::
1628 * fsqrtl::
1629 * fstat::
1630 * fstatat::
1631 * fstatvfs::
1632 * fsub::
1633 * fsubl::
1634 * fsync::
1635 * ftell::
1636 * ftello::
1637 * ftok::
1638 * ftruncate::
1639 * ftrylockfile::
1640 * ftw::
1641 * funlockfile::
1642 * futimens::
1643 * fwide::
1644 * fwprintf::
1645 * fwrite::
1646 * fwscanf::
1647 * gai_strerror::
1648 * getaddrinfo::
1649 * getc::
1650 * getc_unlocked::
1651 * getchar::
1652 * getchar_unlocked::
1653 * getcwd::
1654 * getdate::
1655 * getdate_err::
1656 * getdelim::
1657 * getegid::
1658 * getenv::
1659 * geteuid::
1660 * getgid::
1661 * getgrent::
1662 * getgrgid::
1663 * getgrgid_r::
1664 * getgrnam::
1665 * getgrnam_r::
1666 * getgroups::
1667 * gethostent::
1668 * gethostid::
1669 * gethostname::
1670 * getitimer::
1671 * getline::
1672 * getlogin::
1673 * getlogin_r::
1674 * getmsg::
1675 * getnameinfo::
1676 * getnetbyaddr::
1677 * getnetbyname::
1678 * getnetent::
1679 * getopt::
1680 * getpayload::
1681 * getpayloadf::
1682 * getpayloadl::
1683 * getpeername::
1684 * getpgid::
1685 * getpgrp::
1686 * getpid::
1687 * getpmsg::
1688 * getppid::
1689 * getpriority::
1690 * getprotobyname::
1691 * getprotobynumber::
1692 * getprotoent::
1693 * getpwent::
1694 * getpwnam::
1695 * getpwnam_r::
1696 * getpwuid::
1697 * getpwuid_r::
1698 * getrlimit::
1699 * getrusage::
1700 * gets::
1701 * getservbyname::
1702 * getservbyport::
1703 * getservent::
1704 * getsid::
1705 * getsockname::
1706 * getsockopt::
1707 * getsubopt::
1708 * gettimeofday::
1709 * getuid::
1710 * getutxent::
1711 * getutxid::
1712 * getutxline::
1713 * getwc::
1714 * getwchar::
1715 * glob::
1716 * globfree::
1717 * gmtime::
1718 * gmtime_r::
1719 * grantpt::
1720 * hcreate::
1721 * hdestroy::
1722 * hsearch::
1723 * htonl::
1724 * htons::
1725 * hypot::
1726 * hypotf::
1727 * hypotl::
1728 * iconv::
1729 * iconv_close::
1730 * iconv_open::
1731 * if_freenameindex::
1732 * if_indextoname::
1733 * if_nameindex::
1734 * if_nametoindex::
1735 * ilogb::
1736 * ilogbf::
1737 * ilogbl::
1738 * imaxabs::
1739 * imaxdiv::
1740 * inet_addr::
1741 * inet_ntoa::
1742 * inet_ntop::
1743 * inet_pton::
1744 * initstate::
1745 * insque::
1746 * ioctl::
1747 * isalnum::
1748 * isalnum_l::
1749 * isalpha::
1750 * isalpha_l::
1751 * isascii::
1752 * isastream::
1753 * isatty::
1754 * isblank::
1755 * isblank_l::
1756 * iscntrl::
1757 * iscntrl_l::
1758 * isdigit::
1759 * isdigit_l::
1760 * isfinite::
1761 * isgraph::
1762 * isgraph_l::
1763 * isgreater::
1764 * isgreaterequal::
1765 * isinf::
1766 * isless::
1767 * islessequal::
1768 * islessgreater::
1769 * islower::
1770 * islower_l::
1771 * isnan::
1772 * isnormal::
1773 * isprint::
1774 * isprint_l::
1775 * ispunct::
1776 * ispunct_l::
1777 * isspace::
1778 * isspace_l::
1779 * isunordered::
1780 * isupper::
1781 * isupper_l::
1782 * iswalnum::
1783 * iswalnum_l::
1784 * iswalpha::
1785 * iswalpha_l::
1786 * iswblank::
1787 * iswblank_l::
1788 * iswcntrl::
1789 * iswcntrl_l::
1790 * iswctype::
1791 * iswctype_l::
1792 * iswdigit::
1793 * iswdigit_l::
1794 * iswgraph::
1795 * iswgraph_l::
1796 * iswlower::
1797 * iswlower_l::
1798 * iswprint::
1799 * iswprint_l::
1800 * iswpunct::
1801 * iswpunct_l::
1802 * iswspace::
1803 * iswspace_l::
1804 * iswupper::
1805 * iswupper_l::
1806 * iswxdigit::
1807 * iswxdigit_l::
1808 * isxdigit::
1809 * isxdigit_l::
1810 * j0::
1811 * j1::
1812 * jn::
1813 * jrand48::
1814 * kill::
1815 * killpg::
1816 * l64a::
1817 * labs::
1818 * lchown::
1819 * lcong48::
1820 * ldexp::
1821 * ldexpf::
1822 * ldexpl::
1823 * ldiv::
1824 * lfind::
1825 * lgamma::
1826 * lgammaf::
1827 * lgammal::
1828 * link::
1829 * linkat::
1830 * lio_listio::
1831 * listen::
1832 * llabs::
1833 * lldiv::
1834 * llogb::
1835 * llogbf::
1836 * llogbl::
1837 * llrint::
1838 * llrintf::
1839 * llrintl::
1840 * llround::
1841 * llroundf::
1842 * llroundl::
1843 * localeconv::
1844 * localtime::
1845 * localtime_r::
1846 * lockf::
1847 * log::
1848 * log10::
1849 * log10f::
1850 * log10l::
1851 * log1p::
1852 * log1pf::
1853 * log1pl::
1854 * log2::
1855 * log2f::
1856 * log2l::
1857 * logb::
1858 * logbf::
1859 * logbl::
1860 * logf::
1861 * logl::
1862 * longjmp::
1863 * lrand48::
1864 * lrint::
1865 * lrintf::
1866 * lrintl::
1867 * lround::
1868 * lroundf::
1869 * lroundl::
1870 * lsearch::
1871 * lseek::
1872 * lstat::
1873 * malloc::
1874 * mblen::
1875 * mbrlen::
1876 * mbrtoc8::
1877 * mbrtoc16::
1878 * mbrtoc32::
1879 * mbrtowc::
1880 * mbsinit::
1881 * mbsnrtowcs::
1882 * mbsrtowcs::
1883 * mbstowcs::
1884 * mbtowc::
1885 * memccpy::
1886 * memchr::
1887 * memcmp::
1888 * memcpy::
1889 * memmove::
1890 * memset::
1891 * memset_explicit::
1892 * mkdir::
1893 * mkdirat::
1894 * mkdtemp::
1895 * mkfifo::
1896 * mkfifoat::
1897 * mknod::
1898 * mknodat::
1899 * mkstemp::
1900 * mktime::
1901 * mlock::
1902 * mlockall::
1903 * mmap::
1904 * modf::
1905 * modff::
1906 * modfl::
1907 * mprotect::
1908 * mq_close::
1909 * mq_getattr::
1910 * mq_notify::
1911 * mq_open::
1912 * mq_receive::
1913 * mq_send::
1914 * mq_setattr::
1915 * mq_timedreceive::
1916 * mq_timedsend::
1917 * mq_unlink::
1918 * mrand48::
1919 * msgctl::
1920 * msgget::
1921 * msgrcv::
1922 * msgsnd::
1923 * msync::
1924 * mtx_destroy::
1925 * mtx_init::
1926 * mtx_lock::
1927 * mtx_timedlock::
1928 * mtx_trylock::
1929 * mtx_unlock::
1930 * munlock::
1931 * munlockall::
1932 * munmap::
1933 * nan::
1934 * nanf::
1935 * nanl::
1936 * nanosleep::
1937 * nearbyint::
1938 * nearbyintf::
1939 * nearbyintl::
1940 * newlocale::
1941 * nextafter::
1942 * nextafterf::
1943 * nextafterl::
1944 * nextdown::
1945 * nextdownf::
1946 * nextdownl::
1947 * nexttoward::
1948 * nexttowardf::
1949 * nexttowardl::
1950 * nextup::
1951 * nextupf::
1952 * nextupl::
1953 * nftw::
1954 * nice::
1955 * nl_langinfo::
1956 * nl_langinfo_l::
1957 * nrand48::
1958 * ntohl::
1959 * ntohs::
1960 * open::
1961 * openat::
1962 * opendir::
1963 * openlog::
1964 * open_memstream::
1965 * open_wmemstream::
1966 * optarg::
1967 * opterr::
1968 * optind::
1969 * optopt::
1970 * pathconf::
1971 * pause::
1972 * pclose::
1973 * perror::
1974 * pipe::
1975 * poll::
1976 * popen::
1977 * posix_fadvise::
1978 * posix_fallocate::
1979 * posix_madvise::
1980 * posix_mem_offset::
1981 * posix_memalign::
1982 * posix_openpt::
1983 * posix_spawn::
1984 * posix_spawn_file_actions_addclose::
1985 * posix_spawn_file_actions_adddup2::
1986 * posix_spawn_file_actions_addopen::
1987 * posix_spawn_file_actions_destroy::
1988 * posix_spawn_file_actions_init::
1989 * posix_spawnattr_destroy::
1990 * posix_spawnattr_getflags::
1991 * posix_spawnattr_getpgroup::
1992 * posix_spawnattr_getschedparam::
1993 * posix_spawnattr_getschedpolicy::
1994 * posix_spawnattr_getsigdefault::
1995 * posix_spawnattr_getsigmask::
1996 * posix_spawnattr_init::
1997 * posix_spawnattr_setflags::
1998 * posix_spawnattr_setpgroup::
1999 * posix_spawnattr_setschedparam::
2000 * posix_spawnattr_setschedpolicy::
2001 * posix_spawnattr_setsigdefault::
2002 * posix_spawnattr_setsigmask::
2003 * posix_spawnp::
2004 * posix_trace_attr_destroy::
2005 * posix_trace_attr_getclockres::
2006 * posix_trace_attr_getcreatetime::
2007 * posix_trace_attr_getgenversion::
2008 * posix_trace_attr_getinherited::
2009 * posix_trace_attr_getlogfullpolicy::
2010 * posix_trace_attr_getlogsize::
2011 * posix_trace_attr_getmaxdatasize::
2012 * posix_trace_attr_getmaxsystemeventsize::
2013 * posix_trace_attr_getmaxusereventsize::
2014 * posix_trace_attr_getname::
2015 * posix_trace_attr_getstreamfullpolicy::
2016 * posix_trace_attr_getstreamsize::
2017 * posix_trace_attr_init::
2018 * posix_trace_attr_setinherited::
2019 * posix_trace_attr_setlogfullpolicy::
2020 * posix_trace_attr_setlogsize::
2021 * posix_trace_attr_setmaxdatasize::
2022 * posix_trace_attr_setname::
2023 * posix_trace_attr_setstreamfullpolicy::
2024 * posix_trace_attr_setstreamsize::
2025 * posix_trace_clear::
2026 * posix_trace_close::
2027 * posix_trace_create::
2028 * posix_trace_create_withlog::
2029 * posix_trace_event::
2030 * posix_trace_eventid_equal::
2031 * posix_trace_eventid_get_name::
2032 * posix_trace_eventid_open::
2033 * posix_trace_eventset_add::
2034 * posix_trace_eventset_del::
2035 * posix_trace_eventset_empty::
2036 * posix_trace_eventset_fill::
2037 * posix_trace_eventset_ismember::
2038 * posix_trace_eventtypelist_getnext_id::
2039 * posix_trace_eventtypelist_rewind::
2040 * posix_trace_flush::
2041 * posix_trace_get_attr::
2042 * posix_trace_get_filter::
2043 * posix_trace_get_status::
2044 * posix_trace_getnext_event::
2045 * posix_trace_open::
2046 * posix_trace_rewind::
2047 * posix_trace_set_filter::
2048 * posix_trace_shutdown::
2049 * posix_trace_start::
2050 * posix_trace_stop::
2051 * posix_trace_timedgetnext_event::
2052 * posix_trace_trid_eventid_open::
2053 * posix_trace_trygetnext_event::
2054 * posix_typed_mem_get_info::
2055 * posix_typed_mem_open::
2056 * pow::
2057 * powf::
2058 * powl::
2059 * pread::
2060 * printf::
2061 * pselect::
2062 * psiginfo::
2063 * psignal::
2064 * pthread_atfork::
2065 * pthread_attr_destroy::
2066 * pthread_attr_getdetachstate::
2067 * pthread_attr_getguardsize::
2068 * pthread_attr_getinheritsched::
2069 * pthread_attr_getschedparam::
2070 * pthread_attr_getschedpolicy::
2071 * pthread_attr_getscope::
2072 * pthread_attr_getstack::
2073 * pthread_attr_getstacksize::
2074 * pthread_attr_init::
2075 * pthread_attr_setdetachstate::
2076 * pthread_attr_setguardsize::
2077 * pthread_attr_setinheritsched::
2078 * pthread_attr_setschedparam::
2079 * pthread_attr_setschedpolicy::
2080 * pthread_attr_setscope::
2081 * pthread_attr_setstack::
2082 * pthread_attr_setstacksize::
2083 * pthread_barrier_destroy::
2084 * pthread_barrier_init::
2085 * pthread_barrier_wait::
2086 * pthread_barrierattr_destroy::
2087 * pthread_barrierattr_getpshared::
2088 * pthread_barrierattr_init::
2089 * pthread_barrierattr_setpshared::
2090 * pthread_cancel::
2091 * pthread_cleanup_pop::
2092 * pthread_cleanup_push::
2093 * pthread_cond_broadcast::
2094 * pthread_cond_destroy::
2095 * pthread_cond_init::
2096 * pthread_cond_signal::
2097 * pthread_cond_timedwait::
2098 * pthread_cond_wait::
2099 * pthread_condattr_destroy::
2100 * pthread_condattr_getclock::
2101 * pthread_condattr_getpshared::
2102 * pthread_condattr_init::
2103 * pthread_condattr_setclock::
2104 * pthread_condattr_setpshared::
2105 * pthread_create::
2106 * pthread_detach::
2107 * pthread_equal::
2108 * pthread_exit::
2109 * pthread_getconcurrency::
2110 * pthread_getcpuclockid::
2111 * pthread_getschedparam::
2112 * pthread_getspecific::
2113 * pthread_join::
2114 * pthread_key_create::
2115 * pthread_key_delete::
2116 * pthread_kill::
2117 * pthread_mutex_consistent::
2118 * pthread_mutex_destroy::
2119 * pthread_mutex_getprioceiling::
2120 * pthread_mutex_init::
2121 * pthread_mutex_lock::
2122 * pthread_mutex_setprioceiling::
2123 * pthread_mutex_timedlock::
2124 * pthread_mutex_trylock::
2125 * pthread_mutex_unlock::
2126 * pthread_mutexattr_destroy::
2127 * pthread_mutexattr_getprioceiling::
2128 * pthread_mutexattr_getprotocol::
2129 * pthread_mutexattr_getpshared::
2130 * pthread_mutexattr_getrobust::
2131 * pthread_mutexattr_gettype::
2132 * pthread_mutexattr_init::
2133 * pthread_mutexattr_setprioceiling::
2134 * pthread_mutexattr_setprotocol::
2135 * pthread_mutexattr_setpshared::
2136 * pthread_mutexattr_setrobust::
2137 * pthread_mutexattr_settype::
2138 * pthread_once::
2139 * pthread_rwlock_destroy::
2140 * pthread_rwlock_init::
2141 * pthread_rwlock_rdlock::
2142 * pthread_rwlock_timedrdlock::
2143 * pthread_rwlock_timedwrlock::
2144 * pthread_rwlock_tryrdlock::
2145 * pthread_rwlock_trywrlock::
2146 * pthread_rwlock_unlock::
2147 * pthread_rwlock_wrlock::
2148 * pthread_rwlockattr_destroy::
2149 * pthread_rwlockattr_getpshared::
2150 * pthread_rwlockattr_init::
2151 * pthread_rwlockattr_setpshared::
2152 * pthread_self::
2153 * pthread_setcancelstate::
2154 * pthread_setcanceltype::
2155 * pthread_setconcurrency::
2156 * pthread_setschedparam::
2157 * pthread_setschedprio::
2158 * pthread_setspecific::
2159 * pthread_sigmask::
2160 * pthread_spin_destroy::
2161 * pthread_spin_init::
2162 * pthread_spin_lock::
2163 * pthread_spin_trylock::
2164 * pthread_spin_unlock::
2165 * pthread_testcancel::
2166 * ptsname::
2167 * putc::
2168 * putc_unlocked::
2169 * putchar::
2170 * putchar_unlocked::
2171 * putenv::
2172 * putmsg::
2173 * putpmsg::
2174 * puts::
2175 * pututxline::
2176 * putwc::
2177 * putwchar::
2178 * pwrite::
2179 * qsort::
2180 * quick_exit::
2181 * raise::
2182 * rand::
2183 * rand_r::
2184 * random::
2185 * read::
2186 * readdir::
2187 * readdir_r::
2188 * readlink::
2189 * readlinkat::
2190 * readv::
2191 * realloc::
2192 * realpath::
2193 * recv::
2194 * recvfrom::
2195 * recvmsg::
2196 * regcomp::
2197 * regerror::
2198 * regexec::
2199 * regfree::
2200 * remainder::
2201 * remainderf::
2202 * remainderl::
2203 * remove::
2204 * remque::
2205 * remquo::
2206 * remquof::
2207 * remquol::
2208 * rename::
2209 * renameat::
2210 * rewind::
2211 * rewinddir::
2212 * rint::
2213 * rintf::
2214 * rintl::
2215 * rmdir::
2216 * round::
2217 * roundeven::
2218 * roundevenf::
2219 * roundevenl::
2220 * roundf::
2221 * roundl::
2222 * scalbln::
2223 * scalblnf::
2224 * scalblnl::
2225 * scalbn::
2226 * scalbnf::
2227 * scalbnl::
2228 * scandir::
2229 * scanf::
2230 * sched_get_priority_max::
2231 * sched_get_priority_min::
2232 * sched_getparam::
2233 * sched_getscheduler::
2234 * sched_rr_get_interval::
2235 * sched_setparam::
2236 * sched_setscheduler::
2237 * sched_yield::
2238 * seed48::
2239 * seekdir::
2240 * select::
2241 * sem_close::
2242 * sem_destroy::
2243 * sem_getvalue::
2244 * sem_init::
2245 * sem_open::
2246 * sem_post::
2247 * sem_timedwait::
2248 * sem_trywait::
2249 * sem_unlink::
2250 * sem_wait::
2251 * semctl::
2252 * semget::
2253 * semop::
2254 * send::
2255 * sendmsg::
2256 * sendto::
2257 * setbuf::
2258 * setegid::
2259 * setenv::
2260 * seteuid::
2261 * setgid::
2262 * setgrent::
2263 * sethostent::
2264 * setitimer::
2265 * setjmp::
2266 * setkey::
2267 * setlocale::
2268 * setlogmask::
2269 * setnetent::
2270 * setpayload::
2271 * setpayloadf::
2272 * setpayloadl::
2273 * setpayloadsig::
2274 * setpayloadsigf::
2275 * setpayloadsigl::
2276 * setpgid::
2277 * setpgrp::
2278 * setpriority::
2279 * setprotoent::
2280 * setpwent::
2281 * setregid::
2282 * setreuid::
2283 * setrlimit::
2284 * setservent::
2285 * setsid::
2286 * setsockopt::
2287 * setstate::
2288 * setuid::
2289 * setutxent::
2290 * setvbuf::
2291 * shm_open::
2292 * shm_unlink::
2293 * shmat::
2294 * shmctl::
2295 * shmdt::
2296 * shmget::
2297 * shutdown::
2298 * sigaction::
2299 * sigaddset::
2300 * sigaltstack::
2301 * sigdelset::
2302 * sigemptyset::
2303 * sigfillset::
2304 * sighold::
2305 * sigignore::
2306 * siginterrupt::
2307 * sigismember::
2308 * siglongjmp::
2309 * signal::
2310 * signbit::
2311 * signgam::
2312 * sigpause::
2313 * sigpending::
2314 * sigprocmask::
2315 * sigqueue::
2316 * sigrelse::
2317 * sigset::
2318 * sigsetjmp::
2319 * sigsuspend::
2320 * sigtimedwait::
2321 * sigwait::
2322 * sigwaitinfo::
2323 * sin::
2324 * sinf::
2325 * sinh::
2326 * sinhf::
2327 * sinhl::
2328 * sinl::
2329 * sleep::
2330 * snprintf::
2331 * sockatmark::
2332 * socket::
2333 * socketpair::
2334 * sprintf::
2335 * sqrt::
2336 * sqrtf::
2337 * sqrtl::
2338 * srand::
2339 * srand48::
2340 * srandom::
2341 * sscanf::
2342 * stat::
2343 * statvfs::
2344 * stdc_bit_ceil::
2345 * stdc_bit_floor::
2346 * stdc_bit_width::
2347 * stdc_count_ones::
2348 * stdc_count_zeros::
2349 * stdc_first_leading_one::
2350 * stdc_first_leading_zero::
2351 * stdc_first_trailing_one::
2352 * stdc_first_trailing_zero::
2353 * stdc_has_single_bit::
2354 * stdc_leading_ones::
2355 * stdc_leading_zeros::
2356 * stdc_trailing_ones::
2357 * stdc_trailing_zeros::
2358 * stderr::
2359 * stdin::
2360 * stdout::
2361 * stpcpy::
2362 * stpncpy::
2363 * strcasecmp::
2364 * strcasecmp_l::
2365 * strcat::
2366 * strchr::
2367 * strcmp::
2368 * strcoll::
2369 * strcoll_l::
2370 * strcpy::
2371 * strcspn::
2372 * strdup::
2373 * strerror::
2374 * strerror_l::
2375 * strerror_r::
2376 * strfmon::
2377 * strfmon_l::
2378 * strfromd::
2379 * strfromf::
2380 * strfroml::
2381 * strftime::
2382 * strftime_l::
2383 * strlcat::
2384 * strlcpy::
2385 * strlen::
2386 * strncasecmp::
2387 * strncasecmp_l::
2388 * strncat::
2389 * strncmp::
2390 * strncpy::
2391 * strndup::
2392 * strnlen::
2393 * strpbrk::
2394 * strptime::
2395 * strrchr::
2396 * strsignal::
2397 * strspn::
2398 * strstr::
2399 * strtod::
2400 * strtof::
2401 * strtoimax::
2402 * strtok::
2403 * strtok_r::
2404 * strtol::
2405 * strtold::
2406 * strtoll::
2407 * strtoul::
2408 * strtoull::
2409 * strtoumax::
2410 * strxfrm::
2411 * strxfrm_l::
2412 * swab::
2413 * swprintf::
2414 * swscanf::
2415 * symlink::
2416 * symlinkat::
2417 * sync::
2418 * sysconf::
2419 * syslog::
2420 * system::
2421 * tan::
2422 * tanf::
2423 * tanh::
2424 * tanhf::
2425 * tanhl::
2426 * tanl::
2427 * tcdrain::
2428 * tcflow::
2429 * tcflush::
2430 * tcgetattr::
2431 * tcgetpgrp::
2432 * tcgetsid::
2433 * tcsendbreak::
2434 * tcsetattr::
2435 * tcsetpgrp::
2436 * tdelete::
2437 * telldir::
2438 * tempnam::
2439 * tfind::
2440 * tgamma::
2441 * tgammaf::
2442 * tgammal::
2443 * thrd_create::
2444 * thrd_current::
2445 * thrd_detach::
2446 * thrd_equal::
2447 * thrd_exit::
2448 * thrd_join::
2449 * thrd_sleep::
2450 * thrd_yield::
2451 * time::
2452 * timegm::
2453 * timer_create::
2454 * timer_delete::
2455 * timer_getoverrun::
2456 * timer_gettime::
2457 * timer_settime::
2458 * times::
2459 * timespec_getres::
2460 * timezone::
2461 * tmpfile::
2462 * tmpnam::
2463 * toascii::
2464 * tolower::
2465 * tolower_l::
2466 * totalorder::
2467 * totalorderf::
2468 * totalorderl::
2469 * totalordermag::
2470 * totalordermagf::
2471 * totalordermagl::
2472 * toupper::
2473 * toupper_l::
2474 * towctrans::
2475 * towctrans_l::
2476 * towlower::
2477 * towlower_l::
2478 * towupper::
2479 * towupper_l::
2480 * trunc::
2481 * truncate::
2482 * truncf::
2483 * truncl::
2484 * tsearch::
2485 * tss_create::
2486 * tss_delete::
2487 * tss_get::
2488 * tss_set::
2489 * ttyname::
2490 * ttyname_r::
2491 * twalk::
2492 * tzname::
2493 * tzset::
2494 * ufromfp::
2495 * ufromfpf::
2496 * ufromfpl::
2497 * ufromfpx::
2498 * ufromfpxf::
2499 * ufromfpxl::
2500 * ulimit::
2501 * umask::
2502 * uname::
2503 * ungetc::
2504 * ungetwc::
2505 * unlink::
2506 * unlinkat::
2507 * unlockpt::
2508 * unsetenv::
2509 * uselocale::
2510 * utime::
2511 * utimensat::
2512 * utimes::
2513 * va_arg::
2514 * va_copy::
2515 * va_end::
2516 * va_start::
2517 * vdprintf::
2518 * vfprintf::
2519 * vfscanf::
2520 * vfwprintf::
2521 * vfwscanf::
2522 * vprintf::
2523 * vscanf::
2524 * vsnprintf::
2525 * vsprintf::
2526 * vsscanf::
2527 * vswprintf::
2528 * vswscanf::
2529 * vwprintf::
2530 * vwscanf::
2531 * wait::
2532 * waitid::
2533 * waitpid::
2534 * wcpcpy::
2535 * wcpncpy::
2536 * wcrtomb::
2537 * wcscasecmp::
2538 * wcscasecmp_l::
2539 * wcscat::
2540 * wcschr::
2541 * wcscmp::
2542 * wcscoll::
2543 * wcscoll_l::
2544 * wcscpy::
2545 * wcscspn::
2546 * wcsdup::
2547 * wcsftime::
2548 * wcslen::
2549 * wcsncasecmp::
2550 * wcsncasecmp_l::
2551 * wcsncat::
2552 * wcsncmp::
2553 * wcsncpy::
2554 * wcsnlen::
2555 * wcsnrtombs::
2556 * wcspbrk::
2557 * wcsrchr::
2558 * wcsrtombs::
2559 * wcsspn::
2560 * wcsstr::
2561 * wcstod::
2562 * wcstof::
2563 * wcstoimax::
2564 * wcstok::
2565 * wcstol::
2566 * wcstold::
2567 * wcstoll::
2568 * wcstombs::
2569 * wcstoul::
2570 * wcstoull::
2571 * wcstoumax::
2572 * wcswidth::
2573 * wcsxfrm::
2574 * wcsxfrm_l::
2575 * wctob::
2576 * wctomb::
2577 * wctrans::
2578 * wctrans_l::
2579 * wctype::
2580 * wctype_l::
2581 * wcwidth::
2582 * wmemchr::
2583 * wmemcmp::
2584 * wmemcpy::
2585 * wmemmove::
2586 * wmemset::
2587 * wordexp::
2588 * wordfree::
2589 * wprintf::
2590 * write::
2591 * writev::
2592 * wscanf::
2593 * y0::
2594 * y1::
2595 * yn::
2596 @end menu
2598 @include posix-functions/FD_CLR.texi
2599 @include posix-functions/FD_ISSET.texi
2600 @include posix-functions/FD_SET.texi
2601 @include posix-functions/FD_ZERO.texi
2602 @include posix-functions/_Exit_C99.texi
2603 @include posix-functions/_exit.texi
2604 @include posix-functions/_longjmp.texi
2605 @include posix-functions/_setjmp.texi
2606 @include posix-functions/_tolower.texi
2607 @include posix-functions/_toupper.texi
2608 @include posix-functions/a64l.texi
2609 @include posix-functions/abort.texi
2610 @include posix-functions/abs.texi
2611 @include posix-functions/accept.texi
2612 @include posix-functions/access.texi
2613 @include posix-functions/acos.texi
2614 @include posix-functions/acosf.texi
2615 @include posix-functions/acosh.texi
2616 @include posix-functions/acoshf.texi
2617 @include posix-functions/acoshl.texi
2618 @include posix-functions/acosl.texi
2619 @include posix-functions/aio_cancel.texi
2620 @include posix-functions/aio_error.texi
2621 @include posix-functions/aio_fsync.texi
2622 @include posix-functions/aio_read.texi
2623 @include posix-functions/aio_return.texi
2624 @include posix-functions/aio_suspend.texi
2625 @include posix-functions/aio_write.texi
2626 @include posix-functions/alarm.texi
2627 @include posix-functions/aligned_alloc.texi
2628 @include posix-functions/alphasort.texi
2629 @include posix-functions/asctime.texi
2630 @include posix-functions/asctime_r.texi
2631 @include posix-functions/asin.texi
2632 @include posix-functions/asinf.texi
2633 @include posix-functions/asinh.texi
2634 @include posix-functions/asinhf.texi
2635 @include posix-functions/asinhl.texi
2636 @include posix-functions/asinl.texi
2637 @include posix-functions/assert.texi
2638 @include posix-functions/atan.texi
2639 @include posix-functions/atan2.texi
2640 @include posix-functions/atan2f.texi
2641 @include posix-functions/atan2l.texi
2642 @include posix-functions/atanf.texi
2643 @include posix-functions/atanh.texi
2644 @include posix-functions/atanhf.texi
2645 @include posix-functions/atanhl.texi
2646 @include posix-functions/atanl.texi
2647 @include posix-functions/atexit.texi
2648 @include posix-functions/atof.texi
2649 @include posix-functions/atoi.texi
2650 @include posix-functions/atol.texi
2651 @include posix-functions/atoll.texi
2652 @include posix-functions/basename.texi
2653 @include posix-functions/bind.texi
2654 @include posix-functions/bsearch.texi
2655 @include posix-functions/btowc.texi
2656 @include posix-functions/c8rtomb.texi
2657 @include posix-functions/c16rtomb.texi
2658 @include posix-functions/c32rtomb.texi
2659 @include posix-functions/cabs.texi
2660 @include posix-functions/cabsf.texi
2661 @include posix-functions/cabsl.texi
2662 @include posix-functions/cacos.texi
2663 @include posix-functions/cacosf.texi
2664 @include posix-functions/cacosh.texi
2665 @include posix-functions/cacoshf.texi
2666 @include posix-functions/cacoshl.texi
2667 @include posix-functions/cacosl.texi
2668 @include posix-functions/calloc.texi
2669 @include posix-functions/call_once.texi
2670 @include posix-functions/canonicalize.texi
2671 @include posix-functions/canonicalizef.texi
2672 @include posix-functions/canonicalizel.texi
2673 @include posix-functions/carg.texi
2674 @include posix-functions/cargf.texi
2675 @include posix-functions/cargl.texi
2676 @include posix-functions/casin.texi
2677 @include posix-functions/casinf.texi
2678 @include posix-functions/casinh.texi
2679 @include posix-functions/casinhf.texi
2680 @include posix-functions/casinhl.texi
2681 @include posix-functions/casinl.texi
2682 @include posix-functions/catan.texi
2683 @include posix-functions/catanf.texi
2684 @include posix-functions/catanh.texi
2685 @include posix-functions/catanhf.texi
2686 @include posix-functions/catanhl.texi
2687 @include posix-functions/catanl.texi
2688 @include posix-functions/catclose.texi
2689 @include posix-functions/catgets.texi
2690 @include posix-functions/catopen.texi
2691 @include posix-functions/cbrt.texi
2692 @include posix-functions/cbrtf.texi
2693 @include posix-functions/cbrtl.texi
2694 @include posix-functions/ccos.texi
2695 @include posix-functions/ccosf.texi
2696 @include posix-functions/ccosh.texi
2697 @include posix-functions/ccoshf.texi
2698 @include posix-functions/ccoshl.texi
2699 @include posix-functions/ccosl.texi
2700 @include posix-functions/ceil.texi
2701 @include posix-functions/ceilf.texi
2702 @include posix-functions/ceill.texi
2703 @include posix-functions/cexp.texi
2704 @include posix-functions/cexpf.texi
2705 @include posix-functions/cexpl.texi
2706 @include posix-functions/cfgetispeed.texi
2707 @include posix-functions/cfgetospeed.texi
2708 @include posix-functions/cfsetispeed.texi
2709 @include posix-functions/cfsetospeed.texi
2710 @include posix-functions/chdir.texi
2711 @include posix-functions/chmod.texi
2712 @include posix-functions/chown.texi
2713 @include posix-functions/cimag.texi
2714 @include posix-functions/cimagf.texi
2715 @include posix-functions/cimagl.texi
2716 @include posix-functions/clearerr.texi
2717 @include posix-functions/clock.texi
2718 @include posix-functions/clock_getcpuclockid.texi
2719 @include posix-functions/clock_getres.texi
2720 @include posix-functions/clock_gettime.texi
2721 @include posix-functions/clock_nanosleep.texi
2722 @include posix-functions/clock_settime.texi
2723 @include posix-functions/clog.texi
2724 @include posix-functions/clogf.texi
2725 @include posix-functions/clogl.texi
2726 @include posix-functions/close.texi
2727 @include posix-functions/closedir.texi
2728 @include posix-functions/closelog.texi
2729 @include posix-functions/cnd_broadcast.texi
2730 @include posix-functions/cnd_destroy.texi
2731 @include posix-functions/cnd_init.texi
2732 @include posix-functions/cnd_signal.texi
2733 @include posix-functions/cnd_timedwait.texi
2734 @include posix-functions/cnd_wait.texi
2735 @include posix-functions/confstr.texi
2736 @include posix-functions/conj.texi
2737 @include posix-functions/conjf.texi
2738 @include posix-functions/conjl.texi
2739 @include posix-functions/connect.texi
2740 @include posix-functions/copysign.texi
2741 @include posix-functions/copysignf.texi
2742 @include posix-functions/copysignl.texi
2743 @include posix-functions/cos.texi
2744 @include posix-functions/cosf.texi
2745 @include posix-functions/cosh.texi
2746 @include posix-functions/coshf.texi
2747 @include posix-functions/coshl.texi
2748 @include posix-functions/cosl.texi
2749 @include posix-functions/cpow.texi
2750 @include posix-functions/cpowf.texi
2751 @include posix-functions/cpowl.texi
2752 @include posix-functions/cproj.texi
2753 @include posix-functions/cprojf.texi
2754 @include posix-functions/cprojl.texi
2755 @include posix-functions/creal.texi
2756 @include posix-functions/crealf.texi
2757 @include posix-functions/creall.texi
2758 @include posix-functions/creat.texi
2759 @include posix-functions/crypt.texi
2760 @include posix-functions/csin.texi
2761 @include posix-functions/csinf.texi
2762 @include posix-functions/csinh.texi
2763 @include posix-functions/csinhf.texi
2764 @include posix-functions/csinhl.texi
2765 @include posix-functions/csinl.texi
2766 @include posix-functions/csqrt.texi
2767 @include posix-functions/csqrtf.texi
2768 @include posix-functions/csqrtl.texi
2769 @include posix-functions/ctan.texi
2770 @include posix-functions/ctanf.texi
2771 @include posix-functions/ctanh.texi
2772 @include posix-functions/ctanhf.texi
2773 @include posix-functions/ctanhl.texi
2774 @include posix-functions/ctanl.texi
2775 @include posix-functions/ctermid.texi
2776 @include posix-functions/ctime.texi
2777 @include posix-functions/ctime_r.texi
2778 @include posix-functions/daddl.texi
2779 @include posix-functions/daylight.texi
2780 @include posix-functions/dbm_clearerr.texi
2781 @include posix-functions/dbm_close.texi
2782 @include posix-functions/dbm_delete.texi
2783 @include posix-functions/dbm_error.texi
2784 @include posix-functions/dbm_fetch.texi
2785 @include posix-functions/dbm_firstkey.texi
2786 @include posix-functions/dbm_nextkey.texi
2787 @include posix-functions/dbm_open.texi
2788 @include posix-functions/dbm_store.texi
2789 @include posix-functions/ddivl.texi
2790 @include posix-functions/dfmal.texi
2791 @include posix-functions/difftime.texi
2792 @include posix-functions/dirfd.texi
2793 @include posix-functions/dirname.texi
2794 @include posix-functions/div.texi
2795 @include posix-functions/dlclose.texi
2796 @include posix-functions/dlerror.texi
2797 @include posix-functions/dlopen.texi
2798 @include posix-functions/dlsym.texi
2799 @include posix-functions/dmull.texi
2800 @include posix-functions/dprintf.texi
2801 @include posix-functions/drand48.texi
2802 @include posix-functions/dsqrtl.texi
2803 @include posix-functions/dsubl.texi
2804 @include posix-functions/dup.texi
2805 @include posix-functions/dup2.texi
2806 @include posix-functions/duplocale.texi
2807 @include posix-functions/encrypt.texi
2808 @include posix-functions/endgrent.texi
2809 @include posix-functions/endhostent.texi
2810 @include posix-functions/endnetent.texi
2811 @include posix-functions/endprotoent.texi
2812 @include posix-functions/endpwent.texi
2813 @include posix-functions/endservent.texi
2814 @include posix-functions/endutxent.texi
2815 @include posix-functions/environ.texi
2816 @include posix-functions/erand48.texi
2817 @include posix-functions/erf.texi
2818 @include posix-functions/erfc.texi
2819 @include posix-functions/erfcf.texi
2820 @include posix-functions/erfcl.texi
2821 @include posix-functions/erff.texi
2822 @include posix-functions/erfl.texi
2823 @include posix-functions/errno.texi
2824 @include posix-functions/execl.texi
2825 @include posix-functions/execle.texi
2826 @include posix-functions/execlp.texi
2827 @include posix-functions/execv.texi
2828 @include posix-functions/execve.texi
2829 @include posix-functions/execvp.texi
2830 @include posix-functions/exit.texi
2831 @include posix-functions/exp.texi
2832 @include posix-functions/exp2.texi
2833 @include posix-functions/exp2f.texi
2834 @include posix-functions/exp2l.texi
2835 @include posix-functions/expf.texi
2836 @include posix-functions/expl.texi
2837 @include posix-functions/expm1.texi
2838 @include posix-functions/expm1f.texi
2839 @include posix-functions/expm1l.texi
2840 @include posix-functions/fabs.texi
2841 @include posix-functions/fabsf.texi
2842 @include posix-functions/fabsl.texi
2843 @include posix-functions/faccessat.texi
2844 @include posix-functions/fadd.texi
2845 @include posix-functions/faddl.texi
2846 @include posix-functions/fattach.texi
2847 @include posix-functions/fchdir.texi
2848 @include posix-functions/fchmod.texi
2849 @include posix-functions/fchmodat.texi
2850 @include posix-functions/fchown.texi
2851 @include posix-functions/fchownat.texi
2852 @include posix-functions/fclose.texi
2853 @include posix-functions/fcntl.texi
2854 @include posix-functions/fdatasync.texi
2855 @include posix-functions/fdetach.texi
2856 @include posix-functions/fdim.texi
2857 @include posix-functions/fdimf.texi
2858 @include posix-functions/fdiml.texi
2859 @include posix-functions/fdiv.texi
2860 @include posix-functions/fdivl.texi
2861 @include posix-functions/fdopen.texi
2862 @include posix-functions/fdopendir.texi
2863 @include posix-functions/feclearexcept.texi
2864 @include posix-functions/fegetenv.texi
2865 @include posix-functions/fegetexceptflag.texi
2866 @include posix-functions/fegetmode.texi
2867 @include posix-functions/fegetround.texi
2868 @include posix-functions/feholdexcept.texi
2869 @include posix-functions/feof.texi
2870 @include posix-functions/feraiseexcept.texi
2871 @include posix-functions/ferror.texi
2872 @include posix-functions/fesetenv.texi
2873 @include posix-functions/fesetexcept.texi
2874 @include posix-functions/fesetexceptflag.texi
2875 @include posix-functions/fesetmode.texi
2876 @include posix-functions/fesetround.texi
2877 @include posix-functions/fetestexcept.texi
2878 @include posix-functions/fetestexceptflag.texi
2879 @include posix-functions/feupdateenv.texi
2880 @include posix-functions/fexecve.texi
2881 @include posix-functions/fflush.texi
2882 @include posix-functions/ffma.texi
2883 @include posix-functions/ffmal.texi
2884 @include posix-functions/ffs.texi
2885 @include posix-functions/fgetc.texi
2886 @include posix-functions/fgetpos.texi
2887 @include posix-functions/fgets.texi
2888 @include posix-functions/fgetwc.texi
2889 @include posix-functions/fgetws.texi
2890 @include posix-functions/fileno.texi
2891 @include posix-functions/flockfile.texi
2892 @include posix-functions/floor.texi
2893 @include posix-functions/floorf.texi
2894 @include posix-functions/floorl.texi
2895 @include posix-functions/fma.texi
2896 @include posix-functions/fmaf.texi
2897 @include posix-functions/fmal.texi
2898 @include posix-functions/fmax.texi
2899 @include posix-functions/fmaxf.texi
2900 @include posix-functions/fmaximum.texi
2901 @include posix-functions/fmaximumf.texi
2902 @include posix-functions/fmaximuml.texi
2903 @include posix-functions/fmaximum_mag.texi
2904 @include posix-functions/fmaximum_magf.texi
2905 @include posix-functions/fmaximum_magl.texi
2906 @include posix-functions/fmaximum_mag_num.texi
2907 @include posix-functions/fmaximum_mag_numf.texi
2908 @include posix-functions/fmaximum_mag_numl.texi
2909 @include posix-functions/fmaximum_num.texi
2910 @include posix-functions/fmaximum_numf.texi
2911 @include posix-functions/fmaximum_numl.texi
2912 @include posix-functions/fmaxl.texi
2913 @include posix-functions/fmaxmag.texi
2914 @include posix-functions/fmaxmagf.texi
2915 @include posix-functions/fmaxmagl.texi
2916 @include posix-functions/fmemopen.texi
2917 @include posix-functions/fmin.texi
2918 @include posix-functions/fminf.texi
2919 @include posix-functions/fminimum.texi
2920 @include posix-functions/fminimumf.texi
2921 @include posix-functions/fminimuml.texi
2922 @include posix-functions/fminimum_mag.texi
2923 @include posix-functions/fminimum_magf.texi
2924 @include posix-functions/fminimum_magl.texi
2925 @include posix-functions/fminimum_mag_num.texi
2926 @include posix-functions/fminimum_mag_numf.texi
2927 @include posix-functions/fminimum_mag_numl.texi
2928 @include posix-functions/fminimum_num.texi
2929 @include posix-functions/fminimum_numf.texi
2930 @include posix-functions/fminimum_numl.texi
2931 @include posix-functions/fminl.texi
2932 @include posix-functions/fminmag.texi
2933 @include posix-functions/fminmagf.texi
2934 @include posix-functions/fminmagl.texi
2935 @include posix-functions/fmod.texi
2936 @include posix-functions/fmodf.texi
2937 @include posix-functions/fmodl.texi
2938 @include posix-functions/fmtmsg.texi
2939 @include posix-functions/fmul.texi
2940 @include posix-functions/fmull.texi
2941 @include posix-functions/fnmatch.texi
2942 @include posix-functions/fopen.texi
2943 @include posix-functions/fork.texi
2944 @include posix-functions/fpathconf.texi
2945 @include posix-functions/fpclassify.texi
2946 @include posix-functions/fprintf.texi
2947 @include posix-functions/fputc.texi
2948 @include posix-functions/fputs.texi
2949 @include posix-functions/fputwc.texi
2950 @include posix-functions/fputws.texi
2951 @include posix-functions/fread.texi
2952 @include posix-functions/free.texi
2953 @include posix-functions/freeaddrinfo.texi
2954 @include posix-functions/freelocale.texi
2955 @include posix-functions/freopen.texi
2956 @include posix-functions/frexp.texi
2957 @include posix-functions/frexpf.texi
2958 @include posix-functions/frexpl.texi
2959 @include posix-functions/fromfp.texi
2960 @include posix-functions/fromfpf.texi
2961 @include posix-functions/fromfpl.texi
2962 @include posix-functions/fromfpx.texi
2963 @include posix-functions/fromfpxf.texi
2964 @include posix-functions/fromfpxl.texi
2965 @include posix-functions/fscanf.texi
2966 @include posix-functions/fseek.texi
2967 @include posix-functions/fseeko.texi
2968 @include posix-functions/fsetpos.texi
2969 @include posix-functions/fsqrt.texi
2970 @include posix-functions/fsqrtl.texi
2971 @include posix-functions/fstat.texi
2972 @include posix-functions/fstatat.texi
2973 @include posix-functions/fstatvfs.texi
2974 @include posix-functions/fsub.texi
2975 @include posix-functions/fsubl.texi
2976 @include posix-functions/fsync.texi
2977 @include posix-functions/ftell.texi
2978 @include posix-functions/ftello.texi
2979 @include posix-functions/ftok.texi
2980 @include posix-functions/ftruncate.texi
2981 @include posix-functions/ftrylockfile.texi
2982 @include posix-functions/ftw.texi
2983 @include posix-functions/funlockfile.texi
2984 @include posix-functions/futimens.texi
2985 @include posix-functions/fwide.texi
2986 @include posix-functions/fwprintf.texi
2987 @include posix-functions/fwrite.texi
2988 @include posix-functions/fwscanf.texi
2989 @include posix-functions/gai_strerror.texi
2990 @include posix-functions/getaddrinfo.texi
2991 @include posix-functions/getc.texi
2992 @include posix-functions/getc_unlocked.texi
2993 @include posix-functions/getchar.texi
2994 @include posix-functions/getchar_unlocked.texi
2995 @include posix-functions/getcwd.texi
2996 @include posix-functions/getdate.texi
2997 @include posix-functions/getdate_err.texi
2998 @include posix-functions/getdelim.texi
2999 @include posix-functions/getegid.texi
3000 @include posix-functions/getenv.texi
3001 @include posix-functions/geteuid.texi
3002 @include posix-functions/getgid.texi
3003 @include posix-functions/getgrent.texi
3004 @include posix-functions/getgrgid.texi
3005 @include posix-functions/getgrgid_r.texi
3006 @include posix-functions/getgrnam.texi
3007 @include posix-functions/getgrnam_r.texi
3008 @include posix-functions/getgroups.texi
3009 @include posix-functions/gethostent.texi
3010 @include posix-functions/gethostid.texi
3011 @include posix-functions/gethostname.texi
3012 @include posix-functions/getitimer.texi
3013 @include posix-functions/getline.texi
3014 @include posix-functions/getlogin.texi
3015 @include posix-functions/getlogin_r.texi
3016 @include posix-functions/getmsg.texi
3017 @include posix-functions/getnameinfo.texi
3018 @include posix-functions/getnetbyaddr.texi
3019 @include posix-functions/getnetbyname.texi
3020 @include posix-functions/getnetent.texi
3021 @include posix-functions/getopt.texi
3022 @include posix-functions/getpayload.texi
3023 @include posix-functions/getpayloadf.texi
3024 @include posix-functions/getpayloadl.texi
3025 @include posix-functions/getpeername.texi
3026 @include posix-functions/getpgid.texi
3027 @include posix-functions/getpgrp.texi
3028 @include posix-functions/getpid.texi
3029 @include posix-functions/getpmsg.texi
3030 @include posix-functions/getppid.texi
3031 @include posix-functions/getpriority.texi
3032 @include posix-functions/getprotobyname.texi
3033 @include posix-functions/getprotobynumber.texi
3034 @include posix-functions/getprotoent.texi
3035 @include posix-functions/getpwent.texi
3036 @include posix-functions/getpwnam.texi
3037 @include posix-functions/getpwnam_r.texi
3038 @include posix-functions/getpwuid.texi
3039 @include posix-functions/getpwuid_r.texi
3040 @include posix-functions/getrlimit.texi
3041 @include posix-functions/getrusage.texi
3042 @include posix-functions/gets.texi
3043 @include posix-functions/getservbyname.texi
3044 @include posix-functions/getservbyport.texi
3045 @include posix-functions/getservent.texi
3046 @include posix-functions/getsid.texi
3047 @include posix-functions/getsockname.texi
3048 @include posix-functions/getsockopt.texi
3049 @include posix-functions/getsubopt.texi
3050 @include posix-functions/gettimeofday.texi
3051 @include posix-functions/getuid.texi
3052 @include posix-functions/getutxent.texi
3053 @include posix-functions/getutxid.texi
3054 @include posix-functions/getutxline.texi
3055 @include posix-functions/getwc.texi
3056 @include posix-functions/getwchar.texi
3057 @include posix-functions/glob.texi
3058 @include posix-functions/globfree.texi
3059 @include posix-functions/gmtime.texi
3060 @include posix-functions/gmtime_r.texi
3061 @include posix-functions/grantpt.texi
3062 @include posix-functions/hcreate.texi
3063 @include posix-functions/hdestroy.texi
3064 @include posix-functions/hsearch.texi
3065 @include posix-functions/htonl.texi
3066 @include posix-functions/htons.texi
3067 @include posix-functions/hypot.texi
3068 @include posix-functions/hypotf.texi
3069 @include posix-functions/hypotl.texi
3070 @include posix-functions/iconv.texi
3071 @include posix-functions/iconv_close.texi
3072 @include posix-functions/iconv_open.texi
3073 @include posix-functions/if_freenameindex.texi
3074 @include posix-functions/if_indextoname.texi
3075 @include posix-functions/if_nameindex.texi
3076 @include posix-functions/if_nametoindex.texi
3077 @include posix-functions/ilogb.texi
3078 @include posix-functions/ilogbf.texi
3079 @include posix-functions/ilogbl.texi
3080 @include posix-functions/imaxabs.texi
3081 @include posix-functions/imaxdiv.texi
3082 @include posix-functions/inet_addr.texi
3083 @include posix-functions/inet_ntoa.texi
3084 @include posix-functions/inet_ntop.texi
3085 @include posix-functions/inet_pton.texi
3086 @include posix-functions/initstate.texi
3087 @include posix-functions/insque.texi
3088 @include posix-functions/ioctl.texi
3089 @include posix-functions/isalnum.texi
3090 @include posix-functions/isalnum_l.texi
3091 @include posix-functions/isalpha.texi
3092 @include posix-functions/isalpha_l.texi
3093 @include posix-functions/isascii.texi
3094 @include posix-functions/isastream.texi
3095 @include posix-functions/isatty.texi
3096 @include posix-functions/isblank.texi
3097 @include posix-functions/isblank_l.texi
3098 @include posix-functions/iscntrl.texi
3099 @include posix-functions/iscntrl_l.texi
3100 @include posix-functions/isdigit.texi
3101 @include posix-functions/isdigit_l.texi
3102 @include posix-functions/isfinite.texi
3103 @include posix-functions/isgraph.texi
3104 @include posix-functions/isgraph_l.texi
3105 @include posix-functions/isgreater.texi
3106 @include posix-functions/isgreaterequal.texi
3107 @include posix-functions/isinf.texi
3108 @include posix-functions/isless.texi
3109 @include posix-functions/islessequal.texi
3110 @include posix-functions/islessgreater.texi
3111 @include posix-functions/islower.texi
3112 @include posix-functions/islower_l.texi
3113 @include posix-functions/isnan.texi
3114 @include posix-functions/isnormal.texi
3115 @include posix-functions/isprint.texi
3116 @include posix-functions/isprint_l.texi
3117 @include posix-functions/ispunct.texi
3118 @include posix-functions/ispunct_l.texi
3119 @include posix-functions/isspace.texi
3120 @include posix-functions/isspace_l.texi
3121 @include posix-functions/isunordered.texi
3122 @include posix-functions/isupper.texi
3123 @include posix-functions/isupper_l.texi
3124 @include posix-functions/iswalnum.texi
3125 @include posix-functions/iswalnum_l.texi
3126 @include posix-functions/iswalpha.texi
3127 @include posix-functions/iswalpha_l.texi
3128 @include posix-functions/iswblank.texi
3129 @include posix-functions/iswblank_l.texi
3130 @include posix-functions/iswcntrl.texi
3131 @include posix-functions/iswcntrl_l.texi
3132 @include posix-functions/iswctype.texi
3133 @include posix-functions/iswctype_l.texi
3134 @include posix-functions/iswdigit.texi
3135 @include posix-functions/iswdigit_l.texi
3136 @include posix-functions/iswgraph.texi
3137 @include posix-functions/iswgraph_l.texi
3138 @include posix-functions/iswlower.texi
3139 @include posix-functions/iswlower_l.texi
3140 @include posix-functions/iswprint.texi
3141 @include posix-functions/iswprint_l.texi
3142 @include posix-functions/iswpunct.texi
3143 @include posix-functions/iswpunct_l.texi
3144 @include posix-functions/iswspace.texi
3145 @include posix-functions/iswspace_l.texi
3146 @include posix-functions/iswupper.texi
3147 @include posix-functions/iswupper_l.texi
3148 @include posix-functions/iswxdigit.texi
3149 @include posix-functions/iswxdigit_l.texi
3150 @include posix-functions/isxdigit.texi
3151 @include posix-functions/isxdigit_l.texi
3152 @include posix-functions/j0.texi
3153 @include posix-functions/j1.texi
3154 @include posix-functions/jn.texi
3155 @include posix-functions/jrand48.texi
3156 @include posix-functions/kill.texi
3157 @include posix-functions/killpg.texi
3158 @include posix-functions/l64a.texi
3159 @include posix-functions/labs.texi
3160 @include posix-functions/lchown.texi
3161 @include posix-functions/lcong48.texi
3162 @include posix-functions/ldexp.texi
3163 @include posix-functions/ldexpf.texi
3164 @include posix-functions/ldexpl.texi
3165 @include posix-functions/ldiv.texi
3166 @include posix-functions/lfind.texi
3167 @include posix-functions/lgamma.texi
3168 @include posix-functions/lgammaf.texi
3169 @include posix-functions/lgammal.texi
3170 @include posix-functions/link.texi
3171 @include posix-functions/linkat.texi
3172 @include posix-functions/lio_listio.texi
3173 @include posix-functions/listen.texi
3174 @include posix-functions/llabs.texi
3175 @include posix-functions/lldiv.texi
3176 @include posix-functions/llogb.texi
3177 @include posix-functions/llogbf.texi
3178 @include posix-functions/llogbl.texi
3179 @include posix-functions/llrint.texi
3180 @include posix-functions/llrintf.texi
3181 @include posix-functions/llrintl.texi
3182 @include posix-functions/llround.texi
3183 @include posix-functions/llroundf.texi
3184 @include posix-functions/llroundl.texi
3185 @include posix-functions/localeconv.texi
3186 @include posix-functions/localtime.texi
3187 @include posix-functions/localtime_r.texi
3188 @include posix-functions/lockf.texi
3189 @include posix-functions/log.texi
3190 @include posix-functions/log10.texi
3191 @include posix-functions/log10f.texi
3192 @include posix-functions/log10l.texi
3193 @include posix-functions/log1p.texi
3194 @include posix-functions/log1pf.texi
3195 @include posix-functions/log1pl.texi
3196 @include posix-functions/log2.texi
3197 @include posix-functions/log2f.texi
3198 @include posix-functions/log2l.texi
3199 @include posix-functions/logb.texi
3200 @include posix-functions/logbf.texi
3201 @include posix-functions/logbl.texi
3202 @include posix-functions/logf.texi
3203 @include posix-functions/logl.texi
3204 @include posix-functions/longjmp.texi
3205 @include posix-functions/lrand48.texi
3206 @include posix-functions/lrint.texi
3207 @include posix-functions/lrintf.texi
3208 @include posix-functions/lrintl.texi
3209 @include posix-functions/lround.texi
3210 @include posix-functions/lroundf.texi
3211 @include posix-functions/lroundl.texi
3212 @include posix-functions/lsearch.texi
3213 @include posix-functions/lseek.texi
3214 @include posix-functions/lstat.texi
3215 @include posix-functions/malloc.texi
3216 @include posix-functions/mblen.texi
3217 @include posix-functions/mbrlen.texi
3218 @include posix-functions/mbrtoc8.texi
3219 @include posix-functions/mbrtoc16.texi
3220 @include posix-functions/mbrtoc32.texi
3221 @include posix-functions/mbrtowc.texi
3222 @include posix-functions/mbsinit.texi
3223 @include posix-functions/mbsnrtowcs.texi
3224 @include posix-functions/mbsrtowcs.texi
3225 @include posix-functions/mbstowcs.texi
3226 @include posix-functions/mbtowc.texi
3227 @include posix-functions/memccpy.texi
3228 @include posix-functions/memchr.texi
3229 @include posix-functions/memcmp.texi
3230 @include posix-functions/memcpy.texi
3231 @include posix-functions/memmove.texi
3232 @include posix-functions/memset.texi
3233 @include posix-functions/memset_explicit.texi
3234 @include posix-functions/mkdir.texi
3235 @include posix-functions/mkdirat.texi
3236 @include posix-functions/mkdtemp.texi
3237 @include posix-functions/mkfifo.texi
3238 @include posix-functions/mkfifoat.texi
3239 @include posix-functions/mknod.texi
3240 @include posix-functions/mknodat.texi
3241 @include posix-functions/mkstemp.texi
3242 @include posix-functions/mktime.texi
3243 @include posix-functions/mlock.texi
3244 @include posix-functions/mlockall.texi
3245 @include posix-functions/mmap.texi
3246 @include posix-functions/modf.texi
3247 @include posix-functions/modff.texi
3248 @include posix-functions/modfl.texi
3249 @include posix-functions/mprotect.texi
3250 @include posix-functions/mq_close.texi
3251 @include posix-functions/mq_getattr.texi
3252 @include posix-functions/mq_notify.texi
3253 @include posix-functions/mq_open.texi
3254 @include posix-functions/mq_receive.texi
3255 @include posix-functions/mq_send.texi
3256 @include posix-functions/mq_setattr.texi
3257 @include posix-functions/mq_timedreceive.texi
3258 @include posix-functions/mq_timedsend.texi
3259 @include posix-functions/mq_unlink.texi
3260 @include posix-functions/mrand48.texi
3261 @include posix-functions/msgctl.texi
3262 @include posix-functions/msgget.texi
3263 @include posix-functions/msgrcv.texi
3264 @include posix-functions/msgsnd.texi
3265 @include posix-functions/msync.texi
3266 @include posix-functions/mtx_destroy.texi
3267 @include posix-functions/mtx_init.texi
3268 @include posix-functions/mtx_lock.texi
3269 @include posix-functions/mtx_timedlock.texi
3270 @include posix-functions/mtx_trylock.texi
3271 @include posix-functions/mtx_unlock.texi
3272 @include posix-functions/munlock.texi
3273 @include posix-functions/munlockall.texi
3274 @include posix-functions/munmap.texi
3275 @include posix-functions/nan.texi
3276 @include posix-functions/nanf.texi
3277 @include posix-functions/nanl.texi
3278 @include posix-functions/nanosleep.texi
3279 @include posix-functions/nearbyint.texi
3280 @include posix-functions/nearbyintf.texi
3281 @include posix-functions/nearbyintl.texi
3282 @include posix-functions/newlocale.texi
3283 @include posix-functions/nextafter.texi
3284 @include posix-functions/nextafterf.texi
3285 @include posix-functions/nextafterl.texi
3286 @include posix-functions/nextdown.texi
3287 @include posix-functions/nextdownf.texi
3288 @include posix-functions/nextdownl.texi
3289 @include posix-functions/nexttoward.texi
3290 @include posix-functions/nexttowardf.texi
3291 @include posix-functions/nexttowardl.texi
3292 @include posix-functions/nextup.texi
3293 @include posix-functions/nextupf.texi
3294 @include posix-functions/nextupl.texi
3295 @include posix-functions/nftw.texi
3296 @include posix-functions/nice.texi
3297 @include posix-functions/nl_langinfo.texi
3298 @include posix-functions/nl_langinfo_l.texi
3299 @include posix-functions/nrand48.texi
3300 @include posix-functions/ntohl.texi
3301 @include posix-functions/ntohs.texi
3302 @include posix-functions/open.texi
3303 @include posix-functions/openat.texi
3304 @include posix-functions/opendir.texi
3305 @include posix-functions/openlog.texi
3306 @include posix-functions/open_memstream.texi
3307 @include posix-functions/open_wmemstream.texi
3308 @include posix-functions/optarg.texi
3309 @include posix-functions/opterr.texi
3310 @include posix-functions/optind.texi
3311 @include posix-functions/optopt.texi
3312 @include posix-functions/pathconf.texi
3313 @include posix-functions/pause.texi
3314 @include posix-functions/pclose.texi
3315 @include posix-functions/perror.texi
3316 @include posix-functions/pipe.texi
3317 @include posix-functions/poll.texi
3318 @include posix-functions/popen.texi
3319 @include posix-functions/posix_fadvise.texi
3320 @include posix-functions/posix_fallocate.texi
3321 @include posix-functions/posix_madvise.texi
3322 @include posix-functions/posix_mem_offset.texi
3323 @include posix-functions/posix_memalign.texi
3324 @include posix-functions/posix_openpt.texi
3325 @include posix-functions/posix_spawn.texi
3326 @include posix-functions/posix_spawn_file_actions_addclose.texi
3327 @include posix-functions/posix_spawn_file_actions_adddup2.texi
3328 @include posix-functions/posix_spawn_file_actions_addopen.texi
3329 @include posix-functions/posix_spawn_file_actions_destroy.texi
3330 @include posix-functions/posix_spawn_file_actions_init.texi
3331 @include posix-functions/posix_spawnattr_destroy.texi
3332 @include posix-functions/posix_spawnattr_getflags.texi
3333 @include posix-functions/posix_spawnattr_getpgroup.texi
3334 @include posix-functions/posix_spawnattr_getschedparam.texi
3335 @include posix-functions/posix_spawnattr_getschedpolicy.texi
3336 @include posix-functions/posix_spawnattr_getsigdefault.texi
3337 @include posix-functions/posix_spawnattr_getsigmask.texi
3338 @include posix-functions/posix_spawnattr_init.texi
3339 @include posix-functions/posix_spawnattr_setflags.texi
3340 @include posix-functions/posix_spawnattr_setpgroup.texi
3341 @include posix-functions/posix_spawnattr_setschedparam.texi
3342 @include posix-functions/posix_spawnattr_setschedpolicy.texi
3343 @include posix-functions/posix_spawnattr_setsigdefault.texi
3344 @include posix-functions/posix_spawnattr_setsigmask.texi
3345 @include posix-functions/posix_spawnp.texi
3346 @include posix-functions/posix_trace_attr_destroy.texi
3347 @include posix-functions/posix_trace_attr_getclockres.texi
3348 @include posix-functions/posix_trace_attr_getcreatetime.texi
3349 @include posix-functions/posix_trace_attr_getgenversion.texi
3350 @include posix-functions/posix_trace_attr_getinherited.texi
3351 @include posix-functions/posix_trace_attr_getlogfullpolicy.texi
3352 @include posix-functions/posix_trace_attr_getlogsize.texi
3353 @include posix-functions/posix_trace_attr_getmaxdatasize.texi
3354 @include posix-functions/posix_trace_attr_getmaxsystemeventsize.texi
3355 @include posix-functions/posix_trace_attr_getmaxusereventsize.texi
3356 @include posix-functions/posix_trace_attr_getname.texi
3357 @include posix-functions/posix_trace_attr_getstreamfullpolicy.texi
3358 @include posix-functions/posix_trace_attr_getstreamsize.texi
3359 @include posix-functions/posix_trace_attr_init.texi
3360 @include posix-functions/posix_trace_attr_setinherited.texi
3361 @include posix-functions/posix_trace_attr_setlogfullpolicy.texi
3362 @include posix-functions/posix_trace_attr_setlogsize.texi
3363 @include posix-functions/posix_trace_attr_setmaxdatasize.texi
3364 @include posix-functions/posix_trace_attr_setname.texi
3365 @include posix-functions/posix_trace_attr_setstreamfullpolicy.texi
3366 @include posix-functions/posix_trace_attr_setstreamsize.texi
3367 @include posix-functions/posix_trace_clear.texi
3368 @include posix-functions/posix_trace_close.texi
3369 @include posix-functions/posix_trace_create.texi
3370 @include posix-functions/posix_trace_create_withlog.texi
3371 @include posix-functions/posix_trace_event.texi
3372 @include posix-functions/posix_trace_eventid_equal.texi
3373 @include posix-functions/posix_trace_eventid_get_name.texi
3374 @include posix-functions/posix_trace_eventid_open.texi
3375 @include posix-functions/posix_trace_eventset_add.texi
3376 @include posix-functions/posix_trace_eventset_del.texi
3377 @include posix-functions/posix_trace_eventset_empty.texi
3378 @include posix-functions/posix_trace_eventset_fill.texi
3379 @include posix-functions/posix_trace_eventset_ismember.texi
3380 @include posix-functions/posix_trace_eventtypelist_getnext_id.texi
3381 @include posix-functions/posix_trace_eventtypelist_rewind.texi
3382 @include posix-functions/posix_trace_flush.texi
3383 @include posix-functions/posix_trace_get_attr.texi
3384 @include posix-functions/posix_trace_get_filter.texi
3385 @include posix-functions/posix_trace_get_status.texi
3386 @include posix-functions/posix_trace_getnext_event.texi
3387 @include posix-functions/posix_trace_open.texi
3388 @include posix-functions/posix_trace_rewind.texi
3389 @include posix-functions/posix_trace_set_filter.texi
3390 @include posix-functions/posix_trace_shutdown.texi
3391 @include posix-functions/posix_trace_start.texi
3392 @include posix-functions/posix_trace_stop.texi
3393 @include posix-functions/posix_trace_timedgetnext_event.texi
3394 @include posix-functions/posix_trace_trid_eventid_open.texi
3395 @include posix-functions/posix_trace_trygetnext_event.texi
3396 @include posix-functions/posix_typed_mem_get_info.texi
3397 @include posix-functions/posix_typed_mem_open.texi
3398 @include posix-functions/pow.texi
3399 @include posix-functions/powf.texi
3400 @include posix-functions/powl.texi
3401 @include posix-functions/pread.texi
3402 @include posix-functions/printf.texi
3403 @include posix-functions/pselect.texi
3404 @include posix-functions/psiginfo.texi
3405 @include posix-functions/psignal.texi
3406 @include posix-functions/pthread_atfork.texi
3407 @include posix-functions/pthread_attr_destroy.texi
3408 @include posix-functions/pthread_attr_getdetachstate.texi
3409 @include posix-functions/pthread_attr_getguardsize.texi
3410 @include posix-functions/pthread_attr_getinheritsched.texi
3411 @include posix-functions/pthread_attr_getschedparam.texi
3412 @include posix-functions/pthread_attr_getschedpolicy.texi
3413 @include posix-functions/pthread_attr_getscope.texi
3414 @include posix-functions/pthread_attr_getstack.texi
3415 @include posix-functions/pthread_attr_getstacksize.texi
3416 @include posix-functions/pthread_attr_init.texi
3417 @include posix-functions/pthread_attr_setdetachstate.texi
3418 @include posix-functions/pthread_attr_setguardsize.texi
3419 @include posix-functions/pthread_attr_setinheritsched.texi
3420 @include posix-functions/pthread_attr_setschedparam.texi
3421 @include posix-functions/pthread_attr_setschedpolicy.texi
3422 @include posix-functions/pthread_attr_setscope.texi
3423 @include posix-functions/pthread_attr_setstack.texi
3424 @include posix-functions/pthread_attr_setstacksize.texi
3425 @include posix-functions/pthread_barrier_destroy.texi
3426 @include posix-functions/pthread_barrier_init.texi
3427 @include posix-functions/pthread_barrier_wait.texi
3428 @include posix-functions/pthread_barrierattr_destroy.texi
3429 @include posix-functions/pthread_barrierattr_getpshared.texi
3430 @include posix-functions/pthread_barrierattr_init.texi
3431 @include posix-functions/pthread_barrierattr_setpshared.texi
3432 @include posix-functions/pthread_cancel.texi
3433 @include posix-functions/pthread_cleanup_pop.texi
3434 @include posix-functions/pthread_cleanup_push.texi
3435 @include posix-functions/pthread_cond_broadcast.texi
3436 @include posix-functions/pthread_cond_destroy.texi
3437 @include posix-functions/pthread_cond_init.texi
3438 @include posix-functions/pthread_cond_signal.texi
3439 @include posix-functions/pthread_cond_timedwait.texi
3440 @include posix-functions/pthread_cond_wait.texi
3441 @include posix-functions/pthread_condattr_destroy.texi
3442 @include posix-functions/pthread_condattr_getclock.texi
3443 @include posix-functions/pthread_condattr_getpshared.texi
3444 @include posix-functions/pthread_condattr_init.texi
3445 @include posix-functions/pthread_condattr_setclock.texi
3446 @include posix-functions/pthread_condattr_setpshared.texi
3447 @include posix-functions/pthread_create.texi
3448 @include posix-functions/pthread_detach.texi
3449 @include posix-functions/pthread_equal.texi
3450 @include posix-functions/pthread_exit.texi
3451 @include posix-functions/pthread_getconcurrency.texi
3452 @include posix-functions/pthread_getcpuclockid.texi
3453 @include posix-functions/pthread_getschedparam.texi
3454 @include posix-functions/pthread_getspecific.texi
3455 @include posix-functions/pthread_join.texi
3456 @include posix-functions/pthread_key_create.texi
3457 @include posix-functions/pthread_key_delete.texi
3458 @include posix-functions/pthread_kill.texi
3459 @include posix-functions/pthread_mutex_consistent.texi
3460 @include posix-functions/pthread_mutex_destroy.texi
3461 @include posix-functions/pthread_mutex_getprioceiling.texi
3462 @include posix-functions/pthread_mutex_init.texi
3463 @include posix-functions/pthread_mutex_lock.texi
3464 @include posix-functions/pthread_mutex_setprioceiling.texi
3465 @include posix-functions/pthread_mutex_timedlock.texi
3466 @include posix-functions/pthread_mutex_trylock.texi
3467 @include posix-functions/pthread_mutex_unlock.texi
3468 @include posix-functions/pthread_mutexattr_destroy.texi
3469 @include posix-functions/pthread_mutexattr_getprioceiling.texi
3470 @include posix-functions/pthread_mutexattr_getprotocol.texi
3471 @include posix-functions/pthread_mutexattr_getpshared.texi
3472 @include posix-functions/pthread_mutexattr_getrobust.texi
3473 @include posix-functions/pthread_mutexattr_gettype.texi
3474 @include posix-functions/pthread_mutexattr_init.texi
3475 @include posix-functions/pthread_mutexattr_setprioceiling.texi
3476 @include posix-functions/pthread_mutexattr_setprotocol.texi
3477 @include posix-functions/pthread_mutexattr_setpshared.texi
3478 @include posix-functions/pthread_mutexattr_setrobust.texi
3479 @include posix-functions/pthread_mutexattr_settype.texi
3480 @include posix-functions/pthread_once.texi
3481 @include posix-functions/pthread_rwlock_destroy.texi
3482 @include posix-functions/pthread_rwlock_init.texi
3483 @include posix-functions/pthread_rwlock_rdlock.texi
3484 @include posix-functions/pthread_rwlock_timedrdlock.texi
3485 @include posix-functions/pthread_rwlock_timedwrlock.texi
3486 @include posix-functions/pthread_rwlock_tryrdlock.texi
3487 @include posix-functions/pthread_rwlock_trywrlock.texi
3488 @include posix-functions/pthread_rwlock_unlock.texi
3489 @include posix-functions/pthread_rwlock_wrlock.texi
3490 @include posix-functions/pthread_rwlockattr_destroy.texi
3491 @include posix-functions/pthread_rwlockattr_getpshared.texi
3492 @include posix-functions/pthread_rwlockattr_init.texi
3493 @include posix-functions/pthread_rwlockattr_setpshared.texi
3494 @include posix-functions/pthread_self.texi
3495 @include posix-functions/pthread_setcancelstate.texi
3496 @include posix-functions/pthread_setcanceltype.texi
3497 @include posix-functions/pthread_setconcurrency.texi
3498 @include posix-functions/pthread_setschedparam.texi
3499 @include posix-functions/pthread_setschedprio.texi
3500 @include posix-functions/pthread_setspecific.texi
3501 @include posix-functions/pthread_sigmask.texi
3502 @include posix-functions/pthread_spin_destroy.texi
3503 @include posix-functions/pthread_spin_init.texi
3504 @include posix-functions/pthread_spin_lock.texi
3505 @include posix-functions/pthread_spin_trylock.texi
3506 @include posix-functions/pthread_spin_unlock.texi
3507 @include posix-functions/pthread_testcancel.texi
3508 @include posix-functions/ptsname.texi
3509 @include posix-functions/putc.texi
3510 @include posix-functions/putc_unlocked.texi
3511 @include posix-functions/putchar.texi
3512 @include posix-functions/putchar_unlocked.texi
3513 @include posix-functions/putenv.texi
3514 @include posix-functions/putmsg.texi
3515 @include posix-functions/putpmsg.texi
3516 @include posix-functions/puts.texi
3517 @include posix-functions/pututxline.texi
3518 @include posix-functions/putwc.texi
3519 @include posix-functions/putwchar.texi
3520 @include posix-functions/pwrite.texi
3521 @include posix-functions/qsort.texi
3522 @include posix-functions/quick_exit.texi
3523 @include posix-functions/raise.texi
3524 @include posix-functions/rand.texi
3525 @include posix-functions/rand_r.texi
3526 @include posix-functions/random.texi
3527 @include posix-functions/read.texi
3528 @include posix-functions/readdir.texi
3529 @include posix-functions/readdir_r.texi
3530 @include posix-functions/readlink.texi
3531 @include posix-functions/readlinkat.texi
3532 @include posix-functions/readv.texi
3533 @include posix-functions/realloc.texi
3534 @include posix-functions/realpath.texi
3535 @include posix-functions/recv.texi
3536 @include posix-functions/recvfrom.texi
3537 @include posix-functions/recvmsg.texi
3538 @include posix-functions/regcomp.texi
3539 @include posix-functions/regerror.texi
3540 @include posix-functions/regexec.texi
3541 @include posix-functions/regfree.texi
3542 @include posix-functions/remainder.texi
3543 @include posix-functions/remainderf.texi
3544 @include posix-functions/remainderl.texi
3545 @include posix-functions/remove.texi
3546 @include posix-functions/remque.texi
3547 @include posix-functions/remquo.texi
3548 @include posix-functions/remquof.texi
3549 @include posix-functions/remquol.texi
3550 @include posix-functions/rename.texi
3551 @include posix-functions/renameat.texi
3552 @include posix-functions/rewind.texi
3553 @include posix-functions/rewinddir.texi
3554 @include posix-functions/rint.texi
3555 @include posix-functions/rintf.texi
3556 @include posix-functions/rintl.texi
3557 @include posix-functions/rmdir.texi
3558 @include posix-functions/round.texi
3559 @include posix-functions/roundeven.texi
3560 @include posix-functions/roundevenf.texi
3561 @include posix-functions/roundevenl.texi
3562 @include posix-functions/roundf.texi
3563 @include posix-functions/roundl.texi
3564 @include posix-functions/scalbln.texi
3565 @include posix-functions/scalblnf.texi
3566 @include posix-functions/scalblnl.texi
3567 @include posix-functions/scalbn.texi
3568 @include posix-functions/scalbnf.texi
3569 @include posix-functions/scalbnl.texi
3570 @include posix-functions/scandir.texi
3571 @include posix-functions/scanf.texi
3572 @include posix-functions/sched_get_priority_max.texi
3573 @include posix-functions/sched_get_priority_min.texi
3574 @include posix-functions/sched_getparam.texi
3575 @include posix-functions/sched_getscheduler.texi
3576 @include posix-functions/sched_rr_get_interval.texi
3577 @include posix-functions/sched_setparam.texi
3578 @include posix-functions/sched_setscheduler.texi
3579 @include posix-functions/sched_yield.texi
3580 @include posix-functions/seed48.texi
3581 @include posix-functions/seekdir.texi
3582 @include posix-functions/select.texi
3583 @include posix-functions/sem_close.texi
3584 @include posix-functions/sem_destroy.texi
3585 @include posix-functions/sem_getvalue.texi
3586 @include posix-functions/sem_init.texi
3587 @include posix-functions/sem_open.texi
3588 @include posix-functions/sem_post.texi
3589 @include posix-functions/sem_timedwait.texi
3590 @include posix-functions/sem_trywait.texi
3591 @include posix-functions/sem_unlink.texi
3592 @include posix-functions/sem_wait.texi
3593 @include posix-functions/semctl.texi
3594 @include posix-functions/semget.texi
3595 @include posix-functions/semop.texi
3596 @include posix-functions/send.texi
3597 @include posix-functions/sendmsg.texi
3598 @include posix-functions/sendto.texi
3599 @include posix-functions/setbuf.texi
3600 @include posix-functions/setegid.texi
3601 @include posix-functions/setenv.texi
3602 @include posix-functions/seteuid.texi
3603 @include posix-functions/setgid.texi
3604 @include posix-functions/setgrent.texi
3605 @include posix-functions/sethostent.texi
3606 @include posix-functions/setitimer.texi
3607 @include posix-functions/setjmp.texi
3608 @include posix-functions/setkey.texi
3609 @include posix-functions/setlocale.texi
3610 @include posix-functions/setlogmask.texi
3611 @include posix-functions/setnetent.texi
3612 @include posix-functions/setpayload.texi
3613 @include posix-functions/setpayloadf.texi
3614 @include posix-functions/setpayloadl.texi
3615 @include posix-functions/setpayloadsig.texi
3616 @include posix-functions/setpayloadsigf.texi
3617 @include posix-functions/setpayloadsigl.texi
3618 @include posix-functions/setpgid.texi
3619 @include posix-functions/setpgrp.texi
3620 @include posix-functions/setpriority.texi
3621 @include posix-functions/setprotoent.texi
3622 @include posix-functions/setpwent.texi
3623 @include posix-functions/setregid.texi
3624 @include posix-functions/setreuid.texi
3625 @include posix-functions/setrlimit.texi
3626 @include posix-functions/setservent.texi
3627 @include posix-functions/setsid.texi
3628 @include posix-functions/setsockopt.texi
3629 @include posix-functions/setstate.texi
3630 @include posix-functions/setuid.texi
3631 @include posix-functions/setutxent.texi
3632 @include posix-functions/setvbuf.texi
3633 @include posix-functions/shm_open.texi
3634 @include posix-functions/shm_unlink.texi
3635 @include posix-functions/shmat.texi
3636 @include posix-functions/shmctl.texi
3637 @include posix-functions/shmdt.texi
3638 @include posix-functions/shmget.texi
3639 @include posix-functions/shutdown.texi
3640 @include posix-functions/sigaction.texi
3641 @include posix-functions/sigaddset.texi
3642 @include posix-functions/sigaltstack.texi
3643 @include posix-functions/sigdelset.texi
3644 @include posix-functions/sigemptyset.texi
3645 @include posix-functions/sigfillset.texi
3646 @include posix-functions/sighold.texi
3647 @include posix-functions/sigignore.texi
3648 @include posix-functions/siginterrupt.texi
3649 @include posix-functions/sigismember.texi
3650 @include posix-functions/siglongjmp.texi
3651 @include posix-functions/signal.texi
3652 @include posix-functions/signbit.texi
3653 @include posix-functions/signgam.texi
3654 @include posix-functions/sigpause.texi
3655 @include posix-functions/sigpending.texi
3656 @include posix-functions/sigprocmask.texi
3657 @include posix-functions/sigqueue.texi
3658 @include posix-functions/sigrelse.texi
3659 @include posix-functions/sigset.texi
3660 @include posix-functions/sigsetjmp.texi
3661 @include posix-functions/sigsuspend.texi
3662 @include posix-functions/sigtimedwait.texi
3663 @include posix-functions/sigwait.texi
3664 @include posix-functions/sigwaitinfo.texi
3665 @include posix-functions/sin.texi
3666 @include posix-functions/sinf.texi
3667 @include posix-functions/sinh.texi
3668 @include posix-functions/sinhf.texi
3669 @include posix-functions/sinhl.texi
3670 @include posix-functions/sinl.texi
3671 @include posix-functions/sleep.texi
3672 @include posix-functions/snprintf.texi
3673 @include posix-functions/sockatmark.texi
3674 @include posix-functions/socket.texi
3675 @include posix-functions/socketpair.texi
3676 @include posix-functions/sprintf.texi
3677 @include posix-functions/sqrt.texi
3678 @include posix-functions/sqrtf.texi
3679 @include posix-functions/sqrtl.texi
3680 @include posix-functions/srand.texi
3681 @include posix-functions/srand48.texi
3682 @include posix-functions/srandom.texi
3683 @include posix-functions/sscanf.texi
3684 @include posix-functions/stat.texi
3685 @include posix-functions/statvfs.texi
3686 @include posix-functions/stdc_bit_ceil.texi
3687 @include posix-functions/stdc_bit_floor.texi
3688 @include posix-functions/stdc_bit_width.texi
3689 @include posix-functions/stdc_count_ones.texi
3690 @include posix-functions/stdc_count_zeros.texi
3691 @include posix-functions/stdc_first_leading_one.texi
3692 @include posix-functions/stdc_first_leading_zero.texi
3693 @include posix-functions/stdc_first_trailing_one.texi
3694 @include posix-functions/stdc_first_trailing_zero.texi
3695 @include posix-functions/stdc_has_single_bit.texi
3696 @include posix-functions/stdc_leading_ones.texi
3697 @include posix-functions/stdc_leading_zeros.texi
3698 @include posix-functions/stdc_trailing_ones.texi
3699 @include posix-functions/stdc_trailing_zeros.texi
3700 @include posix-functions/stderr.texi
3701 @include posix-functions/stdin.texi
3702 @include posix-functions/stdout.texi
3703 @include posix-functions/stpcpy.texi
3704 @include posix-functions/stpncpy.texi
3705 @include posix-functions/strcasecmp.texi
3706 @include posix-functions/strcasecmp_l.texi
3707 @include posix-functions/strcat.texi
3708 @include posix-functions/strchr.texi
3709 @include posix-functions/strcmp.texi
3710 @include posix-functions/strcoll.texi
3711 @include posix-functions/strcoll_l.texi
3712 @include posix-functions/strcpy.texi
3713 @include posix-functions/strcspn.texi
3714 @include posix-functions/strdup.texi
3715 @include posix-functions/strerror.texi
3716 @include posix-functions/strerror_l.texi
3717 @include posix-functions/strerror_r.texi
3718 @include posix-functions/strfmon.texi
3719 @include posix-functions/strfmon_l.texi
3720 @include posix-functions/strfromd.texi
3721 @include posix-functions/strfromf.texi
3722 @include posix-functions/strfroml.texi
3723 @include posix-functions/strftime.texi
3724 @include posix-functions/strftime_l.texi
3725 @include posix-functions/strlcat.texi
3726 @include posix-functions/strlcpy.texi
3727 @include posix-functions/strlen.texi
3728 @include posix-functions/strncasecmp.texi
3729 @include posix-functions/strncasecmp_l.texi
3730 @include posix-functions/strncat.texi
3731 @include posix-functions/strncmp.texi
3732 @include posix-functions/strncpy.texi
3733 @include posix-functions/strndup.texi
3734 @include posix-functions/strnlen.texi
3735 @include posix-functions/strpbrk.texi
3736 @include posix-functions/strptime.texi
3737 @include posix-functions/strrchr.texi
3738 @include posix-functions/strsignal.texi
3739 @include posix-functions/strspn.texi
3740 @include posix-functions/strstr.texi
3741 @include posix-functions/strtod.texi
3742 @include posix-functions/strtof.texi
3743 @include posix-functions/strtoimax.texi
3744 @include posix-functions/strtok.texi
3745 @include posix-functions/strtok_r.texi
3746 @include posix-functions/strtol.texi
3747 @include posix-functions/strtold.texi
3748 @include posix-functions/strtoll.texi
3749 @include posix-functions/strtoul.texi
3750 @include posix-functions/strtoull.texi
3751 @include posix-functions/strtoumax.texi
3752 @include posix-functions/strxfrm.texi
3753 @include posix-functions/strxfrm_l.texi
3754 @include posix-functions/swab.texi
3755 @include posix-functions/swprintf.texi
3756 @include posix-functions/swscanf.texi
3757 @include posix-functions/symlink.texi
3758 @include posix-functions/symlinkat.texi
3759 @include posix-functions/sync.texi
3760 @include posix-functions/sysconf.texi
3761 @include posix-functions/syslog.texi
3762 @include posix-functions/system.texi
3763 @include posix-functions/tan.texi
3764 @include posix-functions/tanf.texi
3765 @include posix-functions/tanh.texi
3766 @include posix-functions/tanhf.texi
3767 @include posix-functions/tanhl.texi
3768 @include posix-functions/tanl.texi
3769 @include posix-functions/tcdrain.texi
3770 @include posix-functions/tcflow.texi
3771 @include posix-functions/tcflush.texi
3772 @include posix-functions/tcgetattr.texi
3773 @include posix-functions/tcgetpgrp.texi
3774 @include posix-functions/tcgetsid.texi
3775 @include posix-functions/tcsendbreak.texi
3776 @include posix-functions/tcsetattr.texi
3777 @include posix-functions/tcsetpgrp.texi
3778 @include posix-functions/tdelete.texi
3779 @include posix-functions/telldir.texi
3780 @include posix-functions/tempnam.texi
3781 @include posix-functions/tfind.texi
3782 @include posix-functions/tgamma.texi
3783 @include posix-functions/tgammaf.texi
3784 @include posix-functions/tgammal.texi
3785 @include posix-functions/thrd_create.texi
3786 @include posix-functions/thrd_current.texi
3787 @include posix-functions/thrd_detach.texi
3788 @include posix-functions/thrd_equal.texi
3789 @include posix-functions/thrd_exit.texi
3790 @include posix-functions/thrd_join.texi
3791 @include posix-functions/thrd_sleep.texi
3792 @include posix-functions/thrd_yield.texi
3793 @include posix-functions/time.texi
3794 @include posix-functions/timegm.texi
3795 @include posix-functions/timer_create.texi
3796 @include posix-functions/timer_delete.texi
3797 @include posix-functions/timer_getoverrun.texi
3798 @include posix-functions/timer_gettime.texi
3799 @include posix-functions/timer_settime.texi
3800 @include posix-functions/times.texi
3801 @include posix-functions/timespec_getres.texi
3802 @include posix-functions/timezone.texi
3803 @include posix-functions/tmpfile.texi
3804 @include posix-functions/tmpnam.texi
3805 @include posix-functions/toascii.texi
3806 @include posix-functions/tolower.texi
3807 @include posix-functions/tolower_l.texi
3808 @include posix-functions/totalorder.texi
3809 @include posix-functions/totalorderf.texi
3810 @include posix-functions/totalorderl.texi
3811 @include posix-functions/totalordermag.texi
3812 @include posix-functions/totalordermagf.texi
3813 @include posix-functions/totalordermagl.texi
3814 @include posix-functions/toupper.texi
3815 @include posix-functions/toupper_l.texi
3816 @include posix-functions/towctrans.texi
3817 @include posix-functions/towctrans_l.texi
3818 @include posix-functions/towlower.texi
3819 @include posix-functions/towlower_l.texi
3820 @include posix-functions/towupper.texi
3821 @include posix-functions/towupper_l.texi
3822 @include posix-functions/trunc.texi
3823 @include posix-functions/truncate.texi
3824 @include posix-functions/truncf.texi
3825 @include posix-functions/truncl.texi
3826 @include posix-functions/tsearch.texi
3827 @include posix-functions/tss_create.texi
3828 @include posix-functions/tss_delete.texi
3829 @include posix-functions/tss_get.texi
3830 @include posix-functions/tss_set.texi
3831 @include posix-functions/ttyname.texi
3832 @include posix-functions/ttyname_r.texi
3833 @include posix-functions/twalk.texi
3834 @include posix-functions/tzname.texi
3835 @include posix-functions/tzset.texi
3836 @include posix-functions/ufromfp.texi
3837 @include posix-functions/ufromfpf.texi
3838 @include posix-functions/ufromfpl.texi
3839 @include posix-functions/ufromfpx.texi
3840 @include posix-functions/ufromfpxf.texi
3841 @include posix-functions/ufromfpxl.texi
3842 @include posix-functions/ulimit.texi
3843 @include posix-functions/umask.texi
3844 @include posix-functions/uname.texi
3845 @include posix-functions/ungetc.texi
3846 @include posix-functions/ungetwc.texi
3847 @include posix-functions/unlink.texi
3848 @include posix-functions/unlinkat.texi
3849 @include posix-functions/unlockpt.texi
3850 @include posix-functions/unsetenv.texi
3851 @include posix-functions/uselocale.texi
3852 @include posix-functions/utime.texi
3853 @include posix-functions/utimensat.texi
3854 @include posix-functions/utimes.texi
3855 @include posix-functions/va_arg.texi
3856 @include posix-functions/va_copy.texi
3857 @include posix-functions/va_end.texi
3858 @include posix-functions/va_start.texi
3859 @include posix-functions/vdprintf.texi
3860 @include posix-functions/vfprintf.texi
3861 @include posix-functions/vfscanf.texi
3862 @include posix-functions/vfwprintf.texi
3863 @include posix-functions/vfwscanf.texi
3864 @include posix-functions/vprintf.texi
3865 @include posix-functions/vscanf.texi
3866 @include posix-functions/vsnprintf.texi
3867 @include posix-functions/vsprintf.texi
3868 @include posix-functions/vsscanf.texi
3869 @include posix-functions/vswprintf.texi
3870 @include posix-functions/vswscanf.texi
3871 @include posix-functions/vwprintf.texi
3872 @include posix-functions/vwscanf.texi
3873 @include posix-functions/wait.texi
3874 @include posix-functions/waitid.texi
3875 @include posix-functions/waitpid.texi
3876 @include posix-functions/wcpcpy.texi
3877 @include posix-functions/wcpncpy.texi
3878 @include posix-functions/wcrtomb.texi
3879 @include posix-functions/wcscasecmp.texi
3880 @include posix-functions/wcscasecmp_l.texi
3881 @include posix-functions/wcscat.texi
3882 @include posix-functions/wcschr.texi
3883 @include posix-functions/wcscmp.texi
3884 @include posix-functions/wcscoll.texi
3885 @include posix-functions/wcscoll_l.texi
3886 @include posix-functions/wcscpy.texi
3887 @include posix-functions/wcscspn.texi
3888 @include posix-functions/wcsdup.texi
3889 @include posix-functions/wcsftime.texi
3890 @include posix-functions/wcslen.texi
3891 @include posix-functions/wcsncasecmp.texi
3892 @include posix-functions/wcsncasecmp_l.texi
3893 @include posix-functions/wcsncat.texi
3894 @include posix-functions/wcsncmp.texi
3895 @include posix-functions/wcsncpy.texi
3896 @include posix-functions/wcsnlen.texi
3897 @include posix-functions/wcsnrtombs.texi
3898 @include posix-functions/wcspbrk.texi
3899 @include posix-functions/wcsrchr.texi
3900 @include posix-functions/wcsrtombs.texi
3901 @include posix-functions/wcsspn.texi
3902 @include posix-functions/wcsstr.texi
3903 @include posix-functions/wcstod.texi
3904 @include posix-functions/wcstof.texi
3905 @include posix-functions/wcstoimax.texi
3906 @include posix-functions/wcstok.texi
3907 @include posix-functions/wcstol.texi
3908 @include posix-functions/wcstold.texi
3909 @include posix-functions/wcstoll.texi
3910 @include posix-functions/wcstombs.texi
3911 @include posix-functions/wcstoul.texi
3912 @include posix-functions/wcstoull.texi
3913 @include posix-functions/wcstoumax.texi
3914 @include posix-functions/wcswidth.texi
3915 @include posix-functions/wcsxfrm.texi
3916 @include posix-functions/wcsxfrm_l.texi
3917 @include posix-functions/wctob.texi
3918 @include posix-functions/wctomb.texi
3919 @include posix-functions/wctrans.texi
3920 @include posix-functions/wctrans_l.texi
3921 @include posix-functions/wctype.texi
3922 @include posix-functions/wctype_l.texi
3923 @include posix-functions/wcwidth.texi
3924 @include posix-functions/wmemchr.texi
3925 @include posix-functions/wmemcmp.texi
3926 @include posix-functions/wmemcpy.texi
3927 @include posix-functions/wmemmove.texi
3928 @include posix-functions/wmemset.texi
3929 @include posix-functions/wordexp.texi
3930 @include posix-functions/wordfree.texi
3931 @include posix-functions/wprintf.texi
3932 @include posix-functions/write.texi
3933 @include posix-functions/writev.texi
3934 @include posix-functions/wscanf.texi
3935 @include posix-functions/y0.texi
3936 @include posix-functions/y1.texi
3937 @include posix-functions/yn.texi
3939 @node Legacy Function Substitutes
3940 @chapter Past POSIX Function Substitutes
3942 This chapter describes which functions and function-like macros specified by
3943 older versions of POSIX are substituted by Gnulib, which
3944 portability pitfalls are fixed by Gnulib, and which (known) portability
3945 problems are not worked around by Gnulib.
3947 @nosuchmodulenote function
3949 @menu
3950 * bcmp::
3951 * bcopy::
3952 * bsd_signal::
3953 * bzero::
3954 * ecvt::
3955 * fcvt::
3956 * ftime::
3957 * gcvt::
3958 * getcontext::
3959 * gethostbyaddr::
3960 * gethostbyname::
3961 * getwd::
3962 * h_errno::
3963 @ifhtml
3964 * _index::
3965 @end ifhtml
3966 @ifnothtml
3967 * index::
3968 @end ifnothtml
3969 * makecontext::
3970 * mktemp::
3971 * pthread_attr_getstackaddr::
3972 * pthread_attr_setstackaddr::
3973 * rindex::
3974 * scalb::
3975 * setcontext::
3976 * swapcontext::
3977 * ualarm::
3978 * usleep::
3979 * vfork::
3980 * wcswcs::
3981 @end menu
3983 @include pastposix-functions/bcmp.texi
3984 @include pastposix-functions/bcopy.texi
3985 @include pastposix-functions/bsd_signal.texi
3986 @include pastposix-functions/bzero.texi
3987 @include pastposix-functions/ecvt.texi
3988 @include pastposix-functions/fcvt.texi
3989 @include pastposix-functions/ftime.texi
3990 @include pastposix-functions/gcvt.texi
3991 @include pastposix-functions/getcontext.texi
3992 @include pastposix-functions/gethostbyaddr.texi
3993 @include pastposix-functions/gethostbyname.texi
3994 @include pastposix-functions/getwd.texi
3995 @include pastposix-functions/h_errno.texi
3996 @include pastposix-functions/index.texi
3997 @include pastposix-functions/makecontext.texi
3998 @include pastposix-functions/mktemp.texi
3999 @include pastposix-functions/pthread_attr_getstackaddr.texi
4000 @include pastposix-functions/pthread_attr_setstackaddr.texi
4001 @include pastposix-functions/rindex.texi
4002 @include pastposix-functions/scalb.texi
4003 @include pastposix-functions/setcontext.texi
4004 @include pastposix-functions/swapcontext.texi
4005 @include pastposix-functions/ualarm.texi
4006 @include pastposix-functions/usleep.texi
4007 @include pastposix-functions/vfork.texi
4008 @include pastposix-functions/wcswcs.texi
4010 @node Glibc Header File Substitutes
4011 @chapter Glibc Header File Substitutes
4013 This chapter describes which header files contained in GNU libc but not
4014 specified by ISO C or POSIX are substituted by Gnulib, which portability
4015 pitfalls are fixed by Gnulib, and which (known) portability problems are
4016 not worked around by Gnulib.
4018 @nosuchmodulenote header file
4020 @menu
4021 * a.out.h::
4022 * aliases.h::
4023 * alloca.h::
4024 * ar.h::
4025 * argp.h::
4026 * argz.h::
4027 * byteswap.h::
4028 * crypt.h::
4029 * endian.h::
4030 * envz.h::
4031 * err.h::
4032 * error.h::
4033 * execinfo.h::
4034 * fpu_control.h::
4035 * fstab.h::
4036 * fts.h::
4037 * getopt.h::
4038 * gshadow.h::
4039 * ieee754.h::
4040 * ifaddrs.h::
4041 * libintl.h::
4042 * link.h::
4043 * malloc.h::
4044 * mcheck.h::
4045 * mntent.h::
4046 * obstack.h::
4047 * paths.h::
4048 * printf.h::
4049 * pty.h::
4050 * resolv.h::
4051 * shadow.h::
4052 * sys/file.h::
4053 * sys/ioctl.h::
4054 * sys/random.h::
4055 * sysexits.h::
4056 * ttyent.h::
4057 * utmp.h::
4058 @end menu
4060 @include glibc-headers/a.out.texi
4061 @include glibc-headers/aliases.texi
4062 @include glibc-headers/alloca.texi
4063 @include glibc-headers/ar.texi
4064 @include glibc-headers/argp.texi
4065 @include glibc-headers/argz.texi
4066 @include glibc-headers/byteswap.texi
4067 @include glibc-headers/crypt.texi
4068 @include glibc-headers/endian.texi
4069 @include glibc-headers/envz.texi
4070 @include glibc-headers/err.texi
4071 @include glibc-headers/error.texi
4072 @include glibc-headers/execinfo.texi
4073 @include glibc-headers/fpu_control.texi
4074 @include glibc-headers/fstab.texi
4075 @include glibc-headers/fts.texi
4076 @include glibc-headers/getopt.texi
4077 @include glibc-headers/gshadow.texi
4078 @include glibc-headers/ieee754.texi
4079 @include glibc-headers/ifaddrs.texi
4080 @include glibc-headers/libintl.texi
4081 @include glibc-headers/link.texi
4082 @include glibc-headers/malloc.texi
4083 @include glibc-headers/mcheck.texi
4084 @include glibc-headers/mntent.texi
4085 @include glibc-headers/obstack.texi
4086 @include glibc-headers/paths.texi
4087 @include glibc-headers/printf.texi
4088 @include glibc-headers/pty.texi
4089 @include glibc-headers/resolv.texi
4090 @include glibc-headers/shadow.texi
4091 @include glibc-headers/sys_file.texi
4092 @include glibc-headers/sys_ioctl.texi
4093 @include glibc-headers/sys_random.texi
4094 @include glibc-headers/sysexits.texi
4095 @include glibc-headers/ttyent.texi
4096 @include glibc-headers/utmp.texi
4098 @node Glibc Function Substitutes
4099 @chapter Glibc Function Substitutes
4101 This chapter describes which functions and function-like macros
4102 provided as extensions by at least GNU libc are also supported by Gnulib,
4103 which portability pitfalls are fixed by Gnulib, and which (known)
4104 portability problems are not worked around by Gnulib.
4106 @nosuchmodulenote function
4108 This list of functions is sorted according to the header that declares them.
4110 @menu
4111 * Glibc aio.h::
4112 * Glibc aliases.h::
4113 * Glibc argp.h::
4114 * Glibc argz.h::
4115 * Glibc arpa/inet.h::
4116 * Glibc arpa/nameser.h::
4117 * Glibc byteswap.h::
4118 * Glibc complex.h::
4119 * Glibc ctype.h::
4120 * Glibc dirent.h::
4121 * Glibc dlfcn.h::
4122 * Glibc envz.h::
4123 * Glibc err.h::
4124 * Glibc errno.h::
4125 * Glibc error.h::
4126 * Glibc execinfo.h::
4127 * Glibc fcntl.h::
4128 * Glibc fenv.h::
4129 * Glibc fmtmsg.h::
4130 * Glibc fstab.h::
4131 * Glibc fts.h::
4132 * Glibc getopt.h::
4133 * Glibc glob.h::
4134 * Glibc gnu/libc-version.h::
4135 * Glibc grp.h::
4136 * Glibc gshadow.h::
4137 * Glibc ifaddrs.h::
4138 * Glibc libintl.h::
4139 * Glibc link.h::
4140 * Glibc malloc.h::
4141 * Glibc math.h::
4142 * Glibc mcheck.h::
4143 * Glibc mntent.h::
4144 * Glibc netdb.h::
4145 * Glibc netinet/ether.h::
4146 * Glibc netinet/in.h::
4147 * Glibc obstack.h::
4148 * Glibc poll.h::
4149 * Glibc printf.h::
4150 * Glibc pthread.h::
4151 * Glibc pty.h::
4152 * Glibc pwd.h::
4153 * Glibc regex.h::
4154 * Glibc regexp.h::
4155 * Glibc resolv.h::
4156 * Glibc rpc/auth.h::
4157 * Glibc rpc/auth_des.h::
4158 * Glibc rpc/auth_unix.h::
4159 * Glibc rpc/clnt.h::
4160 * Glibc rpc/key_prot.h::
4161 * Glibc rpc/netdb.h::
4162 * Glibc rpc/pmap_clnt.h::
4163 * Glibc rpc/pmap_prot.h::
4164 * Glibc rpc/pmap_rmt.h::
4165 * Glibc rpc/rpc_msg.h::
4166 * Glibc rpc/svc.h::
4167 * Glibc rpc/xdr.h::
4168 * Glibc rpcsvc/nislib.h::
4169 * Glibc rpcsvc/nis_callback.h::
4170 * Glibc rpcsvc/yp.h::
4171 * Glibc rpcsvc/ypclnt.h::
4172 * Glibc sched.h::
4173 * Glibc search.h::
4174 * Glibc selinux/selinux.h::
4175 * Glibc semaphore.h::
4176 * Glibc shadow.h::
4177 * Glibc signal.h::
4178 * Glibc spawn.h::
4179 * Glibc stdio.h::
4180 * Glibc stdlib.h::
4181 * Glibc string.h::
4182 * Glibc sys/auxv.h::
4183 * Glibc sys/capability.h::
4184 * Glibc sys/epoll.h::
4185 * Glibc sys/eventfd.h::
4186 * Glibc sys/fanotify.h::
4187 * Glibc sys/file.h::
4188 * Glibc sys/fsuid.h::
4189 * Glibc sys/gmon.h::
4190 * Glibc sys/inotify.h::
4191 * Glibc sys/io.h and sys/perm.h::
4192 * Glibc sys/kdaemon.h::
4193 * Glibc sys/klog.h::
4194 * Glibc sys/mman.h::
4195 * Glibc sys/mount.h::
4196 * Glibc sys/personality.h::
4197 * Glibc sys/pidfd.h::
4198 * Glibc sys/prctl.h::
4199 * Glibc sys/profil.h::
4200 * Glibc sys/ptrace.h::
4201 * Glibc sys/quota.h::
4202 * Glibc sys/random.h::
4203 * Glibc sys/reboot.h::
4204 * Glibc sys/resource.h::
4205 * Glibc sys/sem.h::
4206 * Glibc sys/sendfile.h::
4207 * Glibc sys/signalfd.h::
4208 * Glibc sys/single_threaded.h::
4209 * Glibc sys/socket.h::
4210 * Glibc sys/stat.h::
4211 * Glibc sys/statfs.h::
4212 * Glibc sys/swap.h::
4213 * Glibc sys/sysctl.h::
4214 * Glibc sys/sysinfo.h::
4215 * Glibc sys/syslog.h::
4216 * Glibc sys/sysmacros.h::
4217 * Glibc sys/time.h::
4218 * Glibc sys/timerfd.h::
4219 * Glibc sys/timex.h::
4220 * Glibc sys/uio.h::
4221 * Glibc sys/ustat.h::
4222 * Glibc sys/vlimit.h::
4223 * Glibc sys/wait.h::
4224 * Glibc sys/xattr.h::
4225 * Glibc termios.h::
4226 * Glibc time.h::
4227 * Glibc ttyent.h::
4228 * Glibc unistd.h::
4229 * Glibc utmp.h::
4230 * Glibc utmpx.h::
4231 * Glibc wchar.h::
4232 @end menu
4234 @c @node Glibc a.out.h
4235 @c @section Glibc @code{<a.out.h>}
4237 @node Glibc aio.h
4238 @section Glibc Extensions to @code{<aio.h>}
4240 @menu
4241 * aio_init::
4242 @end menu
4244 @include glibc-functions/aio_init.texi
4246 @node Glibc aliases.h
4247 @section Glibc @code{<aliases.h>}
4249 @menu
4250 * endaliasent::
4251 * getaliasbyname::
4252 * getaliasbyname_r::
4253 * getaliasent::
4254 * getaliasent_r::
4255 * setaliasent::
4256 @end menu
4258 @include glibc-functions/endaliasent.texi
4259 @include glibc-functions/getaliasbyname.texi
4260 @include glibc-functions/getaliasbyname_r.texi
4261 @include glibc-functions/getaliasent.texi
4262 @include glibc-functions/getaliasent_r.texi
4263 @include glibc-functions/setaliasent.texi
4265 @c @node Glibc alloca.h
4266 @c @section Glibc @code{<alloca.h>}
4268 @c @node Glibc ar.h
4269 @c @section Glibc @code{<ar.h>}
4271 @node Glibc argp.h
4272 @section Glibc @code{<argp.h>}
4274 @menu
4275 * argp_err_exit_status::
4276 * argp_error::
4277 * argp_failure::
4278 * argp_help::
4279 * argp_parse::
4280 * argp_program_bug_address::
4281 * argp_program_version::
4282 * argp_program_version_hook::
4283 * argp_state_help::
4284 * argp_usage::
4285 @end menu
4287 @include glibc-functions/argp_err_exit_status.texi
4288 @include glibc-functions/argp_error.texi
4289 @include glibc-functions/argp_failure.texi
4290 @include glibc-functions/argp_help.texi
4291 @include glibc-functions/argp_parse.texi
4292 @include glibc-functions/argp_program_bug_address.texi
4293 @include glibc-functions/argp_program_version.texi
4294 @include glibc-functions/argp_program_version_hook.texi
4295 @include glibc-functions/argp_state_help.texi
4296 @include glibc-functions/argp_usage.texi
4298 @node Glibc argz.h
4299 @section Glibc @code{<argz.h>}
4301 @menu
4302 * argz_add::
4303 * argz_add_sep::
4304 * argz_append::
4305 * argz_count::
4306 * argz_create::
4307 * argz_create_sep::
4308 * argz_delete::
4309 * argz_extract::
4310 * argz_insert::
4311 * argz_next::
4312 * argz_replace::
4313 * argz_stringify::
4314 @end menu
4316 @include glibc-functions/argz_add.texi
4317 @include glibc-functions/argz_add_sep.texi
4318 @include glibc-functions/argz_append.texi
4319 @include glibc-functions/argz_count.texi
4320 @include glibc-functions/argz_create.texi
4321 @include glibc-functions/argz_create_sep.texi
4322 @include glibc-functions/argz_delete.texi
4323 @include glibc-functions/argz_extract.texi
4324 @include glibc-functions/argz_insert.texi
4325 @include glibc-functions/argz_next.texi
4326 @include glibc-functions/argz_replace.texi
4327 @include glibc-functions/argz_stringify.texi
4329 @node Glibc arpa/inet.h
4330 @section Glibc Extensions to @code{<arpa/inet.h>}
4332 @menu
4333 * inet_aton::
4334 * inet_lnaof::
4335 * inet_makeaddr::
4336 * inet_net_ntop::
4337 * inet_net_pton::
4338 * inet_netof::
4339 * inet_network::
4340 * inet_nsap_addr::
4341 * inet_nsap_ntoa::
4342 @end menu
4344 @include glibc-functions/inet_aton.texi
4345 @include glibc-functions/inet_lnaof.texi
4346 @include glibc-functions/inet_makeaddr.texi
4347 @include glibc-functions/inet_net_ntop.texi
4348 @include glibc-functions/inet_net_pton.texi
4349 @include glibc-functions/inet_netof.texi
4350 @include glibc-functions/inet_network.texi
4351 @include glibc-functions/inet_nsap_addr.texi
4352 @include glibc-functions/inet_nsap_ntoa.texi
4354 @node Glibc arpa/nameser.h
4355 @section Glibc Extensions to @code{<arpa/nameser.h>}
4357 @menu
4358 * ns_name_compress::
4359 * ns_name_ntop::
4360 * ns_name_pack::
4361 * ns_name_pton::
4362 * ns_name_skip::
4363 * ns_name_uncompress::
4364 * ns_name_unpack::
4365 @end menu
4367 @include glibc-functions/ns_name_compress.texi
4368 @include glibc-functions/ns_name_ntop.texi
4369 @include glibc-functions/ns_name_pack.texi
4370 @include glibc-functions/ns_name_pton.texi
4371 @include glibc-functions/ns_name_skip.texi
4372 @include glibc-functions/ns_name_uncompress.texi
4373 @include glibc-functions/ns_name_unpack.texi
4375 @c @node Glibc assert.h
4376 @c @section Glibc Extensions to @code{<assert.h>}
4378 @node Glibc byteswap.h
4379 @section Glibc @code{<byteswap.h>}
4381 @menu
4382 * bswap_16::
4383 * bswap_32::
4384 * bswap_64::
4385 @end menu
4387 @include glibc-functions/bswap_16.texi
4388 @include glibc-functions/bswap_32.texi
4389 @include glibc-functions/bswap_64.texi
4391 @node Glibc complex.h
4392 @section Glibc Extensions to @code{<complex.h>}
4394 @menu
4395 * clog10::
4396 * clog10f::
4397 * clog10l::
4398 @end menu
4400 @include glibc-functions/clog10.texi
4401 @include glibc-functions/clog10f.texi
4402 @include glibc-functions/clog10l.texi
4404 @c @node Glibc cpio.h
4405 @c @section Glibc Extensions to @code{<cpio.h>}
4407 @c @node Glibc crypt.h
4408 @c @section Glibc @code{<crypt.h>}
4410 @node Glibc ctype.h
4411 @section Glibc Extensions to @code{<ctype.h>}
4413 @menu
4414 * isctype::
4415 @end menu
4417 @include glibc-functions/isctype.texi
4419 @node Glibc dirent.h
4420 @section Glibc Extensions to @code{<dirent.h>}
4422 @menu
4423 * getdirentries::
4424 * scandirat::
4425 * versionsort::
4426 @end menu
4428 @include glibc-functions/getdirentries.texi
4429 @include glibc-functions/scandirat.texi
4430 @include glibc-functions/versionsort.texi
4432 @node Glibc dlfcn.h
4433 @section Glibc Extensions to @code{<dlfcn.h>}
4435 @menu
4436 * dladdr::
4437 * dladdr1::
4438 * dlinfo::
4439 * dlmopen::
4440 * dlvsym::
4441 * _dl_find_object::
4442 @end menu
4444 @include glibc-functions/dladdr.texi
4445 @include glibc-functions/dladdr1.texi
4446 @include glibc-functions/dlinfo.texi
4447 @include glibc-functions/dlmopen.texi
4448 @include glibc-functions/dlvsym.texi
4449 @include glibc-functions/_dl_find_object.texi
4451 @c @node Glibc endian.h
4452 @c @section Glibc @code{<endian.h>}
4454 @node Glibc envz.h
4455 @section Glibc @code{<envz.h>}
4457 @menu
4458 * envz_add::
4459 * envz_entry::
4460 * envz_get::
4461 * envz_merge::
4462 * envz_remove::
4463 * envz_strip::
4464 @end menu
4466 @include glibc-functions/envz_add.texi
4467 @include glibc-functions/envz_entry.texi
4468 @include glibc-functions/envz_get.texi
4469 @include glibc-functions/envz_merge.texi
4470 @include glibc-functions/envz_remove.texi
4471 @include glibc-functions/envz_strip.texi
4473 @node Glibc err.h
4474 @section Glibc @code{<err.h>}
4476 @menu
4477 * err::
4478 * errx::
4479 * verr::
4480 * verrx::
4481 * vwarn::
4482 * vwarnx::
4483 * warn::
4484 * warnx::
4485 @end menu
4487 @include glibc-functions/err.texi
4488 @include glibc-functions/errx.texi
4489 @include glibc-functions/verr.texi
4490 @include glibc-functions/verrx.texi
4491 @include glibc-functions/vwarn.texi
4492 @include glibc-functions/vwarnx.texi
4493 @include glibc-functions/warn.texi
4494 @include glibc-functions/warnx.texi
4496 @node Glibc errno.h
4497 @section Glibc Extensions to @code{<errno.h>}
4499 @menu
4500 * program_invocation_name::
4501 * program_invocation_short_name::
4502 @end menu
4504 @include glibc-functions/program_invocation_name.texi
4505 @include glibc-functions/program_invocation_short_name.texi
4507 @node Glibc error.h
4508 @section Glibc @code{<error.h>}
4510 @menu
4511 * error::
4512 * error_at_line::
4513 * error_message_count::
4514 * error_one_per_line::
4515 * error_print_progname::
4516 @end menu
4518 @include glibc-functions/error.texi
4519 @include glibc-functions/error_at_line.texi
4520 @include glibc-functions/error_message_count.texi
4521 @include glibc-functions/error_one_per_line.texi
4522 @include glibc-functions/error_print_progname.texi
4524 @node Glibc execinfo.h
4525 @section Glibc @code{<execinfo.h>}
4527 @menu
4528 * backtrace::
4529 * backtrace_symbols::
4530 * backtrace_symbols_fd::
4531 @end menu
4533 @include glibc-functions/backtrace.texi
4534 @include glibc-functions/backtrace_symbols.texi
4535 @include glibc-functions/backtrace_symbols_fd.texi
4537 @node Glibc fcntl.h
4538 @section Glibc Extensions to @code{<fcntl.h>}
4540 @menu
4541 * fallocate::
4542 * name_to_handle_at::
4543 * readahead::
4544 * open_by_handle_at::
4545 * sync_file_range::
4546 @end menu
4548 @include glibc-functions/fallocate.texi
4549 @include glibc-functions/name_to_handle_at.texi
4550 @include glibc-functions/readahead.texi
4551 @include glibc-functions/open_by_handle_at.texi
4552 @include glibc-functions/sync_file_range.texi
4554 @node Glibc fenv.h
4555 @section Glibc Extensions to @code{<fenv.h>}
4557 @menu
4558 * fedisableexcept::
4559 * feenableexcept::
4560 * fegetexcept::
4561 @end menu
4563 @include glibc-functions/fedisableexcept.texi
4564 @include glibc-functions/feenableexcept.texi
4565 @include glibc-functions/fegetexcept.texi
4567 @c @node Glibc float.h
4568 @c @section Glibc Extensions to @code{<float.h>}
4570 @node Glibc fmtmsg.h
4571 @section Glibc Extensions to @code{<fmtmsg.h>}
4573 @menu
4574 * addseverity::
4575 @end menu
4577 @include glibc-functions/addseverity.texi
4579 @c @node Glibc fnmatch.h
4580 @c @section Glibc Extensions to @code{<fnmatch.h>}
4582 @c @node Glibc fpu_control.h
4583 @c @section Glibc @code{<fpu_control.h>}
4585 @node Glibc fstab.h
4586 @section Glibc @code{<fstab.h>}
4588 @menu
4589 * endfsent::
4590 * getfsent::
4591 * getfsfile::
4592 * getfsspec::
4593 * setfsent::
4594 @end menu
4596 @include glibc-functions/endfsent.texi
4597 @include glibc-functions/getfsent.texi
4598 @include glibc-functions/getfsfile.texi
4599 @include glibc-functions/getfsspec.texi
4600 @include glibc-functions/setfsent.texi
4602 @node Glibc fts.h
4603 @section Glibc @code{<fts.h>}
4605 @menu
4606 * fts_children::
4607 * fts_close::
4608 * fts_open::
4609 * fts_read::
4610 * fts_set::
4611 @end menu
4613 @include glibc-functions/fts_children.texi
4614 @include glibc-functions/fts_close.texi
4615 @include glibc-functions/fts_open.texi
4616 @include glibc-functions/fts_read.texi
4617 @include glibc-functions/fts_set.texi
4619 @c @node Glibc ftw.h
4620 @c @section Glibc Extensions to @code{<ftw.h>}
4622 @node Glibc getopt.h
4623 @section Glibc @code{<getopt.h>}
4625 @menu
4626 * getopt_long::
4627 * getopt_long_only::
4628 @end menu
4630 @include glibc-functions/getopt_long.texi
4631 @include glibc-functions/getopt_long_only.texi
4633 @node Glibc glob.h
4634 @section Glibc Extensions to @code{<glob.h>}
4636 @menu
4637 * glob_pattern_p::
4638 @end menu
4640 @include glibc-functions/glob_pattern_p.texi
4642 @node Glibc gnu/libc-version.h
4643 @section Glibc Extensions to @code{<gnu/libc-version.h>}
4645 @menu
4646 * gnu_get_libc_release::
4647 * gnu_get_libc_version::
4648 @end menu
4650 @include glibc-functions/gnu_get_libc_release.texi
4651 @include glibc-functions/gnu_get_libc_version.texi
4653 @node Glibc grp.h
4654 @section Glibc Extensions to @code{<grp.h>}
4656 @menu
4657 * fgetgrent::
4658 * fgetgrent_r::
4659 * getgrent_r::
4660 * getgrouplist::
4661 * initgroups::
4662 * putgrent::
4663 * setgroups::
4664 @end menu
4666 @include glibc-functions/fgetgrent.texi
4667 @include glibc-functions/fgetgrent_r.texi
4668 @include glibc-functions/getgrent_r.texi
4669 @include glibc-functions/getgrouplist.texi
4670 @include glibc-functions/initgroups.texi
4671 @include glibc-functions/putgrent.texi
4672 @include glibc-functions/setgroups.texi
4674 @node Glibc gshadow.h
4675 @section Glibc @code{<gshadow.h>}
4677 @menu
4678 * endsgent::
4679 * fgetsgent::
4680 * fgetsgent_r::
4681 * getsgent::
4682 * getsgent_r::
4683 * getsgnam::
4684 * getsgnam_r::
4685 * putsgent::
4686 * setsgent::
4687 * sgetsgent::
4688 * sgetsgent_r::
4689 @end menu
4691 @include glibc-functions/endsgent.texi
4692 @include glibc-functions/fgetsgent.texi
4693 @include glibc-functions/fgetsgent_r.texi
4694 @include glibc-functions/getsgent.texi
4695 @include glibc-functions/getsgent_r.texi
4696 @include glibc-functions/getsgnam.texi
4697 @include glibc-functions/getsgnam_r.texi
4698 @include glibc-functions/putsgent.texi
4699 @include glibc-functions/setsgent.texi
4700 @include glibc-functions/sgetsgent.texi
4701 @include glibc-functions/sgetsgent_r.texi
4703 @c @node Glibc iconv.h
4704 @c @section Glibc Extensions to @code{<iconv.h>}
4706 @c @node Glibc ieee754.h
4707 @c @section Glibc @code{<ieee754.h>}
4709 @node Glibc ifaddrs.h
4710 @section Glibc @code{<ifaddrs.h>}
4712 @menu
4713 * getifaddrs::
4714 * freeifaddrs::
4715 @end menu
4717 @include glibc-functions/getifaddrs.texi
4718 @include glibc-functions/freeifaddrs.texi
4720 @c @node Glibc inttypes.h
4721 @c @section Glibc Extensions to @code{<inttypes.h>}
4723 @c @node Glibc iso646.h
4724 @c @section Glibc Extensions to @code{<iso646.h>}
4726 @c @node Glibc langinfo.h
4727 @c @section Glibc Extensions to @code{<langinfo.h>}
4729 @c @node Glibc libgen.h
4730 @c @section Glibc Extensions to @code{<libgen.h>}
4732 @node Glibc libintl.h
4733 @section Glibc @code{<libintl.h>}
4735 @menu
4736 * bind_textdomain_codeset::
4737 * bindtextdomain::
4738 * dcgettext::
4739 * dcngettext::
4740 * dgettext::
4741 * dngettext::
4742 * gettext::
4743 * ngettext::
4744 * textdomain::
4745 @end menu
4747 @include glibc-functions/bind_textdomain_codeset.texi
4748 @include glibc-functions/bindtextdomain.texi
4749 @include glibc-functions/dcgettext.texi
4750 @include glibc-functions/dcngettext.texi
4751 @include glibc-functions/dgettext.texi
4752 @include glibc-functions/dngettext.texi
4753 @include glibc-functions/gettext.texi
4754 @include glibc-functions/ngettext.texi
4755 @include glibc-functions/textdomain.texi
4757 @c @node Glibc limits.h
4758 @c @section Glibc Extensions to @code{<limits.h>}
4760 @node Glibc link.h
4761 @section Glibc @code{<link.h>}
4763 @menu
4764 * dl_iterate_phdr::
4765 @end menu
4767 @include glibc-functions/dl_iterate_phdr.texi
4769 @c @node Glibc locale.h
4770 @c @section Glibc Extensions to @code{<locale.h>}
4772 @node Glibc malloc.h
4773 @section Glibc @code{<malloc.h>}
4775 @menu
4776 * mallinfo::
4777 * mallinfo2::
4778 * malloc_info::
4779 * malloc_stats::
4780 * malloc_trim::
4781 * malloc_usable_size::
4782 * mallopt::
4783 * memalign::
4784 * pvalloc::
4785 @end menu
4787 @include glibc-functions/mallinfo.texi
4788 @include glibc-functions/mallinfo2.texi
4789 @include glibc-functions/malloc_info.texi
4790 @include glibc-functions/malloc_stats.texi
4791 @include glibc-functions/malloc_trim.texi
4792 @include glibc-functions/malloc_usable_size.texi
4793 @include glibc-functions/mallopt.texi
4794 @include glibc-functions/memalign.texi
4795 @include glibc-functions/pvalloc.texi
4797 @node Glibc math.h
4798 @section Glibc Extensions to @code{<math.h>}
4800 @menu
4801 * drem::
4802 * dremf::
4803 * dreml::
4804 * exp10::
4805 * exp10f::
4806 * exp10l::
4807 * finite::
4808 * finitef::
4809 * finitel::
4810 * gamma::
4811 * gammaf::
4812 * gammal::
4813 * isinff::
4814 * isinfl::
4815 * isnanf::
4816 * isnanl::
4817 * j0f::
4818 * j0l::
4819 * j1f::
4820 * j1l::
4821 * jnf::
4822 * jnl::
4823 * lgamma_r::
4824 * lgammaf_r::
4825 * lgammal_r::
4826 * matherr::
4827 * pow10::
4828 * pow10f::
4829 * pow10l::
4830 * scalbf::
4831 * scalbl::
4832 * significand::
4833 * significandf::
4834 * significandl::
4835 * sincos::
4836 * sincosf::
4837 * sincosl::
4838 * y0f::
4839 * y0l::
4840 * y1f::
4841 * y1l::
4842 * ynf::
4843 * ynl::
4844 @end menu
4846 @include glibc-functions/drem.texi
4847 @include glibc-functions/dremf.texi
4848 @include glibc-functions/dreml.texi
4849 @include glibc-functions/exp10.texi
4850 @include glibc-functions/exp10f.texi
4851 @include glibc-functions/exp10l.texi
4852 @include glibc-functions/finite.texi
4853 @include glibc-functions/finitef.texi
4854 @include glibc-functions/finitel.texi
4855 @include glibc-functions/gamma.texi
4856 @include glibc-functions/gammaf.texi
4857 @include glibc-functions/gammal.texi
4858 @include glibc-functions/isinff.texi
4859 @include glibc-functions/isinfl.texi
4860 @include glibc-functions/isnanf.texi
4861 @include glibc-functions/isnanl.texi
4862 @include glibc-functions/j0f.texi
4863 @include glibc-functions/j0l.texi
4864 @include glibc-functions/j1f.texi
4865 @include glibc-functions/j1l.texi
4866 @include glibc-functions/jnf.texi
4867 @include glibc-functions/jnl.texi
4868 @include glibc-functions/lgamma_r.texi
4869 @include glibc-functions/lgammaf_r.texi
4870 @include glibc-functions/lgammal_r.texi
4871 @include glibc-functions/matherr.texi
4872 @include glibc-functions/pow10.texi
4873 @include glibc-functions/pow10f.texi
4874 @include glibc-functions/pow10l.texi
4875 @include glibc-functions/scalbf.texi
4876 @include glibc-functions/scalbl.texi
4877 @include glibc-functions/significand.texi
4878 @include glibc-functions/significandf.texi
4879 @include glibc-functions/significandl.texi
4880 @include glibc-functions/sincos.texi
4881 @include glibc-functions/sincosf.texi
4882 @include glibc-functions/sincosl.texi
4883 @include glibc-functions/y0f.texi
4884 @include glibc-functions/y0l.texi
4885 @include glibc-functions/y1f.texi
4886 @include glibc-functions/y1l.texi
4887 @include glibc-functions/ynf.texi
4888 @include glibc-functions/ynl.texi
4890 @node Glibc mcheck.h
4891 @section Glibc @code{<mcheck.h>}
4893 @menu
4894 * mcheck::
4895 * mcheck_check_all::
4896 * mcheck_pedantic::
4897 * mprobe::
4898 * mtrace::
4899 * muntrace::
4900 @end menu
4902 @include glibc-functions/mcheck.texi
4903 @include glibc-functions/mcheck_check_all.texi
4904 @include glibc-functions/mcheck_pedantic.texi
4905 @include glibc-functions/mprobe.texi
4906 @include glibc-functions/mtrace.texi
4907 @include glibc-functions/muntrace.texi
4909 @c @node Glibc monetary.h
4910 @c @section Glibc Extensions to @code{<monetary.h>}
4912 @node Glibc mntent.h
4913 @section Glibc @code{<mntent.h>}
4915 @menu
4916 * addmntent::
4917 * endmntent::
4918 * getmntent::
4919 * getmntent_r::
4920 * hasmntopt::
4921 * setmntent::
4922 @end menu
4924 @include glibc-functions/addmntent.texi
4925 @include glibc-functions/endmntent.texi
4926 @include glibc-functions/getmntent.texi
4927 @include glibc-functions/getmntent_r.texi
4928 @include glibc-functions/hasmntopt.texi
4929 @include glibc-functions/setmntent.texi
4931 @c @node Glibc mqueue.h
4932 @c @section Glibc Extensions to @code{<mqueue.h>}
4934 @c @node Glibc ndbm.h
4935 @c @section Glibc Extensions to @code{<ndbm.h>}
4937 @node Glibc netdb.h
4938 @section Glibc Extensions to @code{<netdb.h>}
4940 @menu
4941 * endnetgrent::
4942 * gethostbyaddr_r::
4943 * gethostbyname2::
4944 * gethostbyname2_r::
4945 * gethostbyname_r::
4946 * gethostent_r::
4947 * getnetbyaddr_r::
4948 * getnetbyname_r::
4949 * getnetent_r::
4950 * getnetgrent::
4951 * getnetgrent_r::
4952 * getprotobyname_r::
4953 * getprotobynumber_r::
4954 * getprotoent_r::
4955 * getservbyname_r::
4956 * getservbyport_r::
4957 * getservent_r::
4958 * herror::
4959 * hstrerror::
4960 * innetgr::
4961 * rcmd::
4962 * rcmd_af::
4963 * rexec::
4964 * rexec_af::
4965 * rresvport::
4966 * rresvport_af::
4967 * ruserok::
4968 * ruserok_af::
4969 * setnetgrent::
4970 @end menu
4972 @include glibc-functions/endnetgrent.texi
4973 @include glibc-functions/gethostbyaddr_r.texi
4974 @include glibc-functions/gethostbyname2.texi
4975 @include glibc-functions/gethostbyname2_r.texi
4976 @include glibc-functions/gethostbyname_r.texi
4977 @include glibc-functions/gethostent_r.texi
4978 @include glibc-functions/getnetbyaddr_r.texi
4979 @include glibc-functions/getnetbyname_r.texi
4980 @include glibc-functions/getnetent_r.texi
4981 @include glibc-functions/getnetgrent.texi
4982 @include glibc-functions/getnetgrent_r.texi
4983 @include glibc-functions/getprotobyname_r.texi
4984 @include glibc-functions/getprotobynumber_r.texi
4985 @include glibc-functions/getprotoent_r.texi
4986 @include glibc-functions/getservbyname_r.texi
4987 @include glibc-functions/getservbyport_r.texi
4988 @include glibc-functions/getservent_r.texi
4989 @include glibc-functions/herror.texi
4990 @include glibc-functions/hstrerror.texi
4991 @include glibc-functions/innetgr.texi
4992 @include glibc-functions/rcmd.texi
4993 @include glibc-functions/rcmd_af.texi
4994 @include glibc-functions/rexec.texi
4995 @include glibc-functions/rexec_af.texi
4996 @include glibc-functions/rresvport.texi
4997 @include glibc-functions/rresvport_af.texi
4998 @include glibc-functions/ruserok.texi
4999 @include glibc-functions/ruserok_af.texi
5000 @include glibc-functions/setnetgrent.texi
5002 @node Glibc netinet/ether.h
5003 @section Glibc @code{<netinet/ether.h>}
5005 @menu
5006 * ether_aton::
5007 * ether_aton_r::
5008 * ether_hostton::
5009 * ether_line::
5010 * ether_ntoa::
5011 * ether_ntoa_r::
5012 * ether_ntohost::
5013 @end menu
5015 @include glibc-functions/ether_aton.texi
5016 @include glibc-functions/ether_aton_r.texi
5017 @include glibc-functions/ether_hostton.texi
5018 @include glibc-functions/ether_line.texi
5019 @include glibc-functions/ether_ntoa.texi
5020 @include glibc-functions/ether_ntoa_r.texi
5021 @include glibc-functions/ether_ntohost.texi
5023 @node Glibc netinet/in.h
5024 @section Glibc Extensions to @code{<netinet/in.h>}
5026 @menu
5027 * bindresvport::
5028 * getipv4sourcefilter::
5029 * getsourcefilter::
5030 * in6addr_any::
5031 * in6addr_loopback::
5032 * inet6_option_alloc::
5033 * inet6_option_append::
5034 * inet6_option_find::
5035 * inet6_option_init::
5036 * inet6_option_next::
5037 * inet6_option_space::
5038 * inet6_opt_append::
5039 * inet6_opt_find::
5040 * inet6_opt_finish::
5041 * inet6_opt_get_val::
5042 * inet6_opt_init::
5043 * inet6_opt_next::
5044 * inet6_opt_set_val::
5045 * inet6_rth_add::
5046 * inet6_rth_getaddr::
5047 * inet6_rth_init::
5048 * inet6_rth_reverse::
5049 * inet6_rth_segments::
5050 * inet6_rth_space::
5051 * setipv4sourcefilter::
5052 * setsourcefilter::
5053 @end menu
5055 @include glibc-functions/bindresvport.texi
5056 @include glibc-functions/getipv4sourcefilter.texi
5057 @include glibc-functions/getsourcefilter.texi
5058 @include glibc-functions/in6addr_any.texi
5059 @include glibc-functions/in6addr_loopback.texi
5060 @include glibc-functions/inet6_option_alloc.texi
5061 @include glibc-functions/inet6_option_append.texi
5062 @include glibc-functions/inet6_option_find.texi
5063 @include glibc-functions/inet6_option_init.texi
5064 @include glibc-functions/inet6_option_next.texi
5065 @include glibc-functions/inet6_option_space.texi
5066 @include glibc-functions/inet6_opt_append.texi
5067 @include glibc-functions/inet6_opt_find.texi
5068 @include glibc-functions/inet6_opt_finish.texi
5069 @include glibc-functions/inet6_opt_get_val.texi
5070 @include glibc-functions/inet6_opt_init.texi
5071 @include glibc-functions/inet6_opt_next.texi
5072 @include glibc-functions/inet6_opt_set_val.texi
5073 @include glibc-functions/inet6_rth_add.texi
5074 @include glibc-functions/inet6_rth_getaddr.texi
5075 @include glibc-functions/inet6_rth_init.texi
5076 @include glibc-functions/inet6_rth_reverse.texi
5077 @include glibc-functions/inet6_rth_segments.texi
5078 @include glibc-functions/inet6_rth_space.texi
5079 @include glibc-functions/setipv4sourcefilter.texi
5080 @include glibc-functions/setsourcefilter.texi
5082 @c @node Glibc nl_types.h
5083 @c @section Glibc Extensions to @code{<nl_types.h>}
5085 @node Glibc obstack.h
5086 @section Glibc @code{<obstack.h>}
5088 @menu
5089 * obstack_alloc_failed_handler::
5090 * obstack_exit_failure::
5091 * obstack_free::
5092 * obstack_printf::
5093 * obstack_vprintf::
5094 @end menu
5096 @include glibc-functions/obstack_alloc_failed_handler.texi
5097 @include glibc-functions/obstack_exit_failure.texi
5098 @include glibc-functions/obstack_free.texi
5099 @include glibc-functions/obstack_printf.texi
5100 @include glibc-functions/obstack_vprintf.texi
5102 @c @node Glibc paths.h
5103 @c @section Glibc @code{<paths.h>}
5105 @node Glibc poll.h
5106 @section Glibc Extensions to @code{<poll.h>}
5108 @menu
5109 * ppoll::
5110 @end menu
5112 @include glibc-functions/ppoll.texi
5114 @node Glibc printf.h
5115 @section Glibc @code{<printf.h>}
5117 @menu
5118 * parse_printf_format::
5119 * printf_size::
5120 * printf_size_info::
5121 * register_printf_function::
5122 * register_printf_modifier::
5123 * register_printf_specifier::
5124 * register_printf_type::
5125 @end menu
5127 @include glibc-functions/parse_printf_format.texi
5128 @include glibc-functions/printf_size.texi
5129 @include glibc-functions/printf_size_info.texi
5130 @include glibc-functions/register_printf_function.texi
5131 @include glibc-functions/register_printf_modifier.texi
5132 @include glibc-functions/register_printf_specifier.texi
5133 @include glibc-functions/register_printf_type.texi
5135 @node Glibc pthread.h
5136 @section Glibc Extensions to @code{<pthread.h>}
5138 @menu
5139 * pthread_attr_getaffinity_np::
5140 * pthread_attr_setaffinity_np::
5141 * pthread_attr_getsigmask_np::
5142 * pthread_attr_setsigmask_np::
5143 * pthread_clockjoin_np::
5144 * pthread_cond_clockwait::
5145 * pthread_getaffinity_np::
5146 * pthread_getattr_default_np::
5147 * pthread_getattr_np::
5148 * pthread_getname_np::
5149 * pthread_kill_other_threads_np::
5150 * pthread_mutex_clocklock::
5151 * pthread_rwlock_clockrdlock::
5152 * pthread_rwlock_clockwrlock::
5153 * pthread_rwlockattr_getkind_np::
5154 * pthread_rwlockattr_setkind_np::
5155 * pthread_setaffinity_np::
5156 * pthread_setattr_default_np::
5157 * pthread_setname_np::
5158 * pthread_sigqueue::
5159 * pthread_timedjoin_np::
5160 * pthread_tryjoin_np::
5161 @end menu
5163 @include glibc-functions/pthread_attr_getaffinity_np.texi
5164 @include glibc-functions/pthread_attr_setaffinity_np.texi
5165 @include glibc-functions/pthread_attr_getsigmask_np.texi
5166 @include glibc-functions/pthread_attr_setsigmask_np.texi
5167 @include glibc-functions/pthread_clockjoin_np.texi
5168 @include glibc-functions/pthread_cond_clockwait.texi
5169 @include glibc-functions/pthread_getaffinity_np.texi
5170 @include glibc-functions/pthread_getattr_default_np.texi
5171 @include glibc-functions/pthread_getattr_np.texi
5172 @include glibc-functions/pthread_getname_np.texi
5173 @include glibc-functions/pthread_kill_other_threads_np.texi
5174 @include glibc-functions/pthread_mutex_clocklock.texi
5175 @include glibc-functions/pthread_rwlock_clockrdlock.texi
5176 @include glibc-functions/pthread_rwlock_clockwrlock.texi
5177 @include glibc-functions/pthread_rwlockattr_getkind_np.texi
5178 @include glibc-functions/pthread_rwlockattr_setkind_np.texi
5179 @include glibc-functions/pthread_setaffinity_np.texi
5180 @include glibc-functions/pthread_setattr_default_np.texi
5181 @include glibc-functions/pthread_setname_np.texi
5182 @include glibc-functions/pthread_sigqueue.texi
5183 @include glibc-functions/pthread_timedjoin_np.texi
5184 @include glibc-functions/pthread_tryjoin_np.texi
5186 @node Glibc pty.h
5187 @section Glibc @code{<pty.h>}
5189 @menu
5190 * forkpty::
5191 * openpty::
5192 @end menu
5194 @include glibc-functions/forkpty.texi
5195 @include glibc-functions/openpty.texi
5197 @node Glibc pwd.h
5198 @section Glibc Extensions to @code{<pwd.h>}
5200 @menu
5201 * fgetpwent::
5202 * fgetpwent_r::
5203 * getpw::
5204 * getpwent_r::
5205 * putpwent::
5206 @end menu
5208 @include glibc-functions/fgetpwent.texi
5209 @include glibc-functions/fgetpwent_r.texi
5210 @include glibc-functions/getpw.texi
5211 @include glibc-functions/getpwent_r.texi
5212 @include glibc-functions/putpwent.texi
5214 @node Glibc regex.h
5215 @section Glibc Extensions to @code{<regex.h>}
5217 @menu
5218 * re_comp::
5219 * re_compile_fastmap::
5220 * re_compile_pattern::
5221 * re_exec::
5222 * re_match::
5223 * re_match_2::
5224 * re_search::
5225 * re_search_2::
5226 * re_set_registers::
5227 * re_set_syntax::
5228 * re_syntax_options::
5229 @end menu
5231 @include glibc-functions/re_comp.texi
5232 @include glibc-functions/re_compile_fastmap.texi
5233 @include glibc-functions/re_compile_pattern.texi
5234 @include glibc-functions/re_exec.texi
5235 @include glibc-functions/re_match.texi
5236 @include glibc-functions/re_match_2.texi
5237 @include glibc-functions/re_search.texi
5238 @include glibc-functions/re_search_2.texi
5239 @include glibc-functions/re_set_registers.texi
5240 @include glibc-functions/re_set_syntax.texi
5241 @include glibc-functions/re_syntax_options.texi
5243 @node Glibc regexp.h
5244 @section Glibc @code{<regexp.h>}
5246 @menu
5247 * advance::
5248 * loc1::
5249 * loc2::
5250 * locs::
5251 * step::
5252 @end menu
5254 @include glibc-functions/advance.texi
5255 @include glibc-functions/loc1.texi
5256 @include glibc-functions/loc2.texi
5257 @include glibc-functions/locs.texi
5258 @include glibc-functions/step.texi
5260 @node Glibc resolv.h
5261 @section Glibc @code{<resolv.h>}
5263 @menu
5264 * dn_comp::
5265 * dn_expand::
5266 * dn_skipname::
5267 * res_dnok::
5268 * res_hnok::
5269 * res_init::
5270 * res_mailok::
5271 * res_mkquery::
5272 * res_nmkquery::
5273 * res_nquery::
5274 * res_nquerydomain::
5275 * res_nsearch::
5276 * res_nsend::
5277 * res_ownok::
5278 * res_query::
5279 * res_querydomain::
5280 * res_search::
5281 * res_send::
5282 @end menu
5284 @include glibc-functions/dn_comp.texi
5285 @include glibc-functions/dn_expand.texi
5286 @include glibc-functions/dn_skipname.texi
5287 @include glibc-functions/res_dnok.texi
5288 @include glibc-functions/res_hnok.texi
5289 @include glibc-functions/res_init.texi
5290 @include glibc-functions/res_mailok.texi
5291 @include glibc-functions/res_mkquery.texi
5292 @include glibc-functions/res_nmkquery.texi
5293 @include glibc-functions/res_nquery.texi
5294 @include glibc-functions/res_nquerydomain.texi
5295 @include glibc-functions/res_nsearch.texi
5296 @include glibc-functions/res_nsend.texi
5297 @include glibc-functions/res_ownok.texi
5298 @include glibc-functions/res_query.texi
5299 @include glibc-functions/res_querydomain.texi
5300 @include glibc-functions/res_search.texi
5301 @include glibc-functions/res_send.texi
5303 @node Glibc rpc/auth.h
5304 @section Glibc @code{<rpc/auth.h>}
5306 @menu
5307 * authdes_create::
5308 * authdes_pk_create::
5309 * authnone_create::
5310 * authunix_create::
5311 * authunix_create_default::
5312 * getnetname::
5313 * host2netname::
5314 * key_decryptsession::
5315 * key_decryptsession_pk::
5316 * key_encryptsession::
5317 * key_encryptsession_pk::
5318 * key_gendes::
5319 * key_get_conv::
5320 * key_secretkey_is_set::
5321 * key_setsecret::
5322 * netname2host::
5323 * netname2user::
5324 * user2netname::
5325 * xdr_des_block::
5326 * xdr_opaque_auth::
5327 @end menu
5329 @include glibc-functions/authdes_create.texi
5330 @include glibc-functions/authdes_pk_create.texi
5331 @include glibc-functions/authnone_create.texi
5332 @include glibc-functions/authunix_create.texi
5333 @include glibc-functions/authunix_create_default.texi
5334 @include glibc-functions/getnetname.texi
5335 @include glibc-functions/host2netname.texi
5336 @include glibc-functions/key_decryptsession.texi
5337 @include glibc-functions/key_decryptsession_pk.texi
5338 @include glibc-functions/key_encryptsession.texi
5339 @include glibc-functions/key_encryptsession_pk.texi
5340 @include glibc-functions/key_gendes.texi
5341 @include glibc-functions/key_get_conv.texi
5342 @include glibc-functions/key_secretkey_is_set.texi
5343 @include glibc-functions/key_setsecret.texi
5344 @include glibc-functions/netname2host.texi
5345 @include glibc-functions/netname2user.texi
5346 @include glibc-functions/user2netname.texi
5347 @include glibc-functions/xdr_des_block.texi
5348 @include glibc-functions/xdr_opaque_auth.texi
5350 @node Glibc rpc/auth_des.h
5351 @section Glibc @code{<rpc/auth_des.h>}
5353 @menu
5354 * authdes_getucred::
5355 * getpublickey::
5356 * getsecretkey::
5357 * rtime::
5358 @end menu
5360 @include glibc-functions/authdes_getucred.texi
5361 @include glibc-functions/getpublickey.texi
5362 @include glibc-functions/getsecretkey.texi
5363 @include glibc-functions/rtime.texi
5365 @node Glibc rpc/auth_unix.h
5366 @section Glibc @code{<rpc/auth_unix.h>}
5368 @menu
5369 * xdr_authunix_parms::
5370 @end menu
5372 @include glibc-functions/xdr_authunix_parms.texi
5374 @node Glibc rpc/clnt.h
5375 @section Glibc @code{<rpc/clnt.h>}
5377 @menu
5378 * callrpc::
5379 * clnt_create::
5380 * clnt_pcreateerror::
5381 * clnt_perrno::
5382 * clnt_perror::
5383 * clnt_spcreateerror::
5384 * clnt_sperrno::
5385 * clnt_sperror::
5386 * clntraw_create::
5387 * clnttcp_create::
5388 * clntudp_bufcreate::
5389 * clntudp_create::
5390 * clntunix_create::
5391 * get_myaddress::
5392 * getrpcport::
5393 * rpc_createerr::
5394 @end menu
5396 @include glibc-functions/callrpc.texi
5397 @include glibc-functions/clnt_create.texi
5398 @include glibc-functions/clnt_pcreateerror.texi
5399 @include glibc-functions/clnt_perrno.texi
5400 @include glibc-functions/clnt_perror.texi
5401 @include glibc-functions/clnt_spcreateerror.texi
5402 @include glibc-functions/clnt_sperrno.texi
5403 @include glibc-functions/clnt_sperror.texi
5404 @include glibc-functions/clntraw_create.texi
5405 @include glibc-functions/clnttcp_create.texi
5406 @include glibc-functions/clntudp_bufcreate.texi
5407 @include glibc-functions/clntudp_create.texi
5408 @include glibc-functions/clntunix_create.texi
5409 @include glibc-functions/get_myaddress.texi
5410 @include glibc-functions/getrpcport.texi
5411 @include glibc-functions/rpc_createerr.texi
5413 @c @node Glibc rpc/des_crypt.h
5414 @c @section Glibc @code{<rpc/des_crypt.h>}
5416 @node Glibc rpc/key_prot.h
5417 @section Glibc @code{<rpc/key_prot.h>}
5419 @menu
5420 * xdr_cryptkeyarg::
5421 * xdr_cryptkeyarg2::
5422 * xdr_cryptkeyres::
5423 * xdr_getcredres::
5424 * xdr_key_netstarg::
5425 * xdr_key_netstres::
5426 * xdr_keybuf::
5427 * xdr_keystatus::
5428 * xdr_netnamestr::
5429 * xdr_unixcred::
5430 @end menu
5432 @include glibc-functions/xdr_cryptkeyarg.texi
5433 @include glibc-functions/xdr_cryptkeyarg2.texi
5434 @include glibc-functions/xdr_cryptkeyres.texi
5435 @include glibc-functions/xdr_getcredres.texi
5436 @include glibc-functions/xdr_key_netstarg.texi
5437 @include glibc-functions/xdr_key_netstres.texi
5438 @include glibc-functions/xdr_keybuf.texi
5439 @include glibc-functions/xdr_keystatus.texi
5440 @include glibc-functions/xdr_netnamestr.texi
5441 @include glibc-functions/xdr_unixcred.texi
5443 @node Glibc rpc/netdb.h
5444 @section Glibc @code{<rpc/netdb.h>}
5446 @menu
5447 * endrpcent::
5448 * getrpcbyname::
5449 * getrpcbyname_r::
5450 * getrpcbynumber::
5451 * getrpcbynumber_r::
5452 * getrpcent::
5453 * getrpcent_r::
5454 * setrpcent::
5455 @end menu
5457 @include glibc-functions/endrpcent.texi
5458 @include glibc-functions/getrpcbyname.texi
5459 @include glibc-functions/getrpcbyname_r.texi
5460 @include glibc-functions/getrpcbynumber.texi
5461 @include glibc-functions/getrpcbynumber_r.texi
5462 @include glibc-functions/getrpcent.texi
5463 @include glibc-functions/getrpcent_r.texi
5464 @include glibc-functions/setrpcent.texi
5466 @node Glibc rpc/pmap_clnt.h
5467 @section Glibc @code{<rpc/pmap_clnt.h>}
5469 @menu
5470 * clnt_broadcast::
5471 * pmap_getmaps::
5472 * pmap_getport::
5473 * pmap_rmtcall::
5474 * pmap_set::
5475 * pmap_unset::
5476 @end menu
5478 @include glibc-functions/clnt_broadcast.texi
5479 @include glibc-functions/pmap_getmaps.texi
5480 @include glibc-functions/pmap_getport.texi
5481 @include glibc-functions/pmap_rmtcall.texi
5482 @include glibc-functions/pmap_set.texi
5483 @include glibc-functions/pmap_unset.texi
5485 @node Glibc rpc/pmap_prot.h
5486 @section Glibc @code{<rpc/pmap_prot.h>}
5488 @menu
5489 * xdr_pmap::
5490 * xdr_pmaplist::
5491 @end menu
5493 @include glibc-functions/xdr_pmap.texi
5494 @include glibc-functions/xdr_pmaplist.texi
5496 @node Glibc rpc/pmap_rmt.h
5497 @section Glibc @code{<rpc/pmap_rmt.h>}
5499 @menu
5500 * xdr_rmtcall_args::
5501 * xdr_rmtcallres::
5502 @end menu
5504 @include glibc-functions/xdr_rmtcall_args.texi
5505 @include glibc-functions/xdr_rmtcallres.texi
5507 @node Glibc rpc/rpc_msg.h
5508 @section Glibc @code{<rpc/rpc_msg.h>}
5510 @menu
5511 * xdr_callhdr::
5512 * xdr_callmsg::
5513 * xdr_replymsg::
5514 @end menu
5516 @include glibc-functions/xdr_callhdr.texi
5517 @include glibc-functions/xdr_callmsg.texi
5518 @include glibc-functions/xdr_replymsg.texi
5520 @node Glibc rpc/svc.h
5521 @section Glibc @code{<rpc/svc.h>}
5523 @menu
5524 * svc_exit::
5525 * svc_fdset::
5526 * svc_getreq::
5527 * svc_getreq_common::
5528 * svc_getreq_poll::
5529 * svc_getreqset::
5530 * svc_max_pollfd::
5531 * svc_pollfd::
5532 * svc_register::
5533 * svc_run::
5534 * svc_sendreply::
5535 * svc_unregister::
5536 * svcerr_auth::
5537 * svcerr_decode::
5538 * svcerr_noproc::
5539 * svcerr_noprog::
5540 * svcerr_progvers::
5541 * svcerr_systemerr::
5542 * svcerr_weakauth::
5543 * svcraw_create::
5544 * svctcp_create::
5545 * svcudp_bufcreate::
5546 * svcudp_create::
5547 * svcunix_create::
5548 * xprt_register::
5549 * xprt_unregister::
5550 @end menu
5552 @include glibc-functions/svc_exit.texi
5553 @include glibc-functions/svc_fdset.texi
5554 @include glibc-functions/svc_getreq.texi
5555 @include glibc-functions/svc_getreq_common.texi
5556 @include glibc-functions/svc_getreq_poll.texi
5557 @include glibc-functions/svc_getreqset.texi
5558 @include glibc-functions/svc_max_pollfd.texi
5559 @include glibc-functions/svc_pollfd.texi
5560 @include glibc-functions/svc_register.texi
5561 @include glibc-functions/svc_run.texi
5562 @include glibc-functions/svc_sendreply.texi
5563 @include glibc-functions/svc_unregister.texi
5564 @include glibc-functions/svcerr_auth.texi
5565 @include glibc-functions/svcerr_decode.texi
5566 @include glibc-functions/svcerr_noproc.texi
5567 @include glibc-functions/svcerr_noprog.texi
5568 @include glibc-functions/svcerr_progvers.texi
5569 @include glibc-functions/svcerr_systemerr.texi
5570 @include glibc-functions/svcerr_weakauth.texi
5571 @include glibc-functions/svcraw_create.texi
5572 @include glibc-functions/svctcp_create.texi
5573 @include glibc-functions/svcudp_bufcreate.texi
5574 @include glibc-functions/svcudp_create.texi
5575 @include glibc-functions/svcunix_create.texi
5576 @include glibc-functions/xprt_register.texi
5577 @include glibc-functions/xprt_unregister.texi
5579 @node Glibc rpc/xdr.h
5580 @section Glibc @code{<rpc/xdr.h>}
5582 @menu
5583 * xdr_array::
5584 * xdr_bool::
5585 * xdr_bytes::
5586 * xdr_char::
5587 * xdr_double::
5588 * xdr_enum::
5589 * xdr_float::
5590 * xdr_free::
5591 * xdr_hyper::
5592 * xdr_int::
5593 * xdr_int16_t::
5594 * xdr_int32_t::
5595 * xdr_int64_t::
5596 * xdr_int8_t::
5597 * xdr_long::
5598 * xdr_longlong_t::
5599 * xdr_netobj::
5600 * xdr_opaque::
5601 * xdr_pointer::
5602 * xdr_quad_t::
5603 * xdr_reference::
5604 * xdr_short::
5605 * xdr_sizeof::
5606 * xdr_string::
5607 * xdr_u_char::
5608 * xdr_u_hyper::
5609 * xdr_u_int::
5610 * xdr_u_long::
5611 * xdr_u_longlong_t::
5612 * xdr_u_quad_t::
5613 * xdr_u_short::
5614 * xdr_uint16_t::
5615 * xdr_uint32_t::
5616 * xdr_uint64_t::
5617 * xdr_uint8_t::
5618 * xdr_union::
5619 * xdr_vector::
5620 * xdr_void::
5621 * xdr_wrapstring::
5622 * xdrmem_create::
5623 * xdrrec_create::
5624 * xdrrec_endofrecord::
5625 * xdrrec_eof::
5626 * xdrrec_skiprecord::
5627 * xdrstdio_create::
5628 @end menu
5630 @include glibc-functions/xdr_array.texi
5631 @include glibc-functions/xdr_bool.texi
5632 @include glibc-functions/xdr_bytes.texi
5633 @include glibc-functions/xdr_char.texi
5634 @include glibc-functions/xdr_double.texi
5635 @include glibc-functions/xdr_enum.texi
5636 @include glibc-functions/xdr_float.texi
5637 @include glibc-functions/xdr_free.texi
5638 @include glibc-functions/xdr_hyper.texi
5639 @include glibc-functions/xdr_int.texi
5640 @include glibc-functions/xdr_int16_t.texi
5641 @include glibc-functions/xdr_int32_t.texi
5642 @include glibc-functions/xdr_int64_t.texi
5643 @include glibc-functions/xdr_int8_t.texi
5644 @include glibc-functions/xdr_long.texi
5645 @include glibc-functions/xdr_longlong_t.texi
5646 @include glibc-functions/xdr_netobj.texi
5647 @include glibc-functions/xdr_opaque.texi
5648 @include glibc-functions/xdr_pointer.texi
5649 @include glibc-functions/xdr_quad_t.texi
5650 @include glibc-functions/xdr_reference.texi
5651 @include glibc-functions/xdr_short.texi
5652 @include glibc-functions/xdr_sizeof.texi
5653 @include glibc-functions/xdr_string.texi
5654 @include glibc-functions/xdr_u_char.texi
5655 @include glibc-functions/xdr_u_hyper.texi
5656 @include glibc-functions/xdr_u_int.texi
5657 @include glibc-functions/xdr_u_long.texi
5658 @include glibc-functions/xdr_u_longlong_t.texi
5659 @include glibc-functions/xdr_u_quad_t.texi
5660 @include glibc-functions/xdr_u_short.texi
5661 @include glibc-functions/xdr_uint16_t.texi
5662 @include glibc-functions/xdr_uint32_t.texi
5663 @include glibc-functions/xdr_uint64_t.texi
5664 @include glibc-functions/xdr_uint8_t.texi
5665 @include glibc-functions/xdr_union.texi
5666 @include glibc-functions/xdr_vector.texi
5667 @include glibc-functions/xdr_void.texi
5668 @include glibc-functions/xdr_wrapstring.texi
5669 @include glibc-functions/xdrmem_create.texi
5670 @include glibc-functions/xdrrec_create.texi
5671 @include glibc-functions/xdrrec_endofrecord.texi
5672 @include glibc-functions/xdrrec_eof.texi
5673 @include glibc-functions/xdrrec_skiprecord.texi
5674 @include glibc-functions/xdrstdio_create.texi
5676 @node Glibc rpcsvc/nislib.h
5677 @section Glibc @code{<rpcsvc/nislib.h>}
5679 @menu
5680 * nis_add::
5681 * nis_add_entry::
5682 * nis_addmember::
5683 * nis_checkpoint::
5684 * nis_clone_object::
5685 * nis_creategroup::
5686 * nis_destroy_object::
5687 * nis_destroygroup::
5688 * nis_dir_cmp::
5689 * nis_domain_of::
5690 * nis_domain_of_r::
5691 * nis_first_entry::
5692 * nis_freenames::
5693 * nis_freeresult::
5694 * nis_freeservlist::
5695 * nis_freetags::
5696 * nis_getnames::
5697 * nis_getservlist::
5698 * nis_ismember::
5699 * nis_leaf_of::
5700 * nis_leaf_of_r::
5701 * nis_lerror::
5702 * nis_list::
5703 * nis_local_directory::
5704 * nis_local_group::
5705 * nis_local_host::
5706 * nis_local_principal::
5707 * nis_lookup::
5708 * nis_mkdir::
5709 * nis_modify::
5710 * nis_modify_entry::
5711 * nis_name_of::
5712 * nis_name_of_r::
5713 * nis_next_entry::
5714 * nis_perror::
5715 * nis_ping::
5716 * nis_print_directory::
5717 * nis_print_entry::
5718 * nis_print_group::
5719 * nis_print_group_entry::
5720 * nis_print_link::
5721 * nis_print_object::
5722 * nis_print_result::
5723 * nis_print_rights::
5724 * nis_print_table::
5725 * nis_remove::
5726 * nis_remove_entry::
5727 * nis_removemember::
5728 * nis_rmdir::
5729 * nis_servstate::
5730 * nis_sperrno::
5731 * nis_sperror::
5732 * nis_sperror_r::
5733 * nis_stats::
5734 * nis_verifygroup::
5735 @end menu
5737 @include glibc-functions/nis_add.texi
5738 @include glibc-functions/nis_add_entry.texi
5739 @include glibc-functions/nis_addmember.texi
5740 @include glibc-functions/nis_checkpoint.texi
5741 @include glibc-functions/nis_clone_object.texi
5742 @include glibc-functions/nis_creategroup.texi
5743 @include glibc-functions/nis_destroy_object.texi
5744 @include glibc-functions/nis_destroygroup.texi
5745 @include glibc-functions/nis_dir_cmp.texi
5746 @include glibc-functions/nis_domain_of.texi
5747 @include glibc-functions/nis_domain_of_r.texi
5748 @include glibc-functions/nis_first_entry.texi
5749 @include glibc-functions/nis_freenames.texi
5750 @include glibc-functions/nis_freeresult.texi
5751 @include glibc-functions/nis_freeservlist.texi
5752 @include glibc-functions/nis_freetags.texi
5753 @include glibc-functions/nis_getnames.texi
5754 @include glibc-functions/nis_getservlist.texi
5755 @include glibc-functions/nis_ismember.texi
5756 @include glibc-functions/nis_leaf_of.texi
5757 @include glibc-functions/nis_leaf_of_r.texi
5758 @include glibc-functions/nis_lerror.texi
5759 @include glibc-functions/nis_list.texi
5760 @include glibc-functions/nis_local_directory.texi
5761 @include glibc-functions/nis_local_group.texi
5762 @include glibc-functions/nis_local_host.texi
5763 @include glibc-functions/nis_local_principal.texi
5764 @include glibc-functions/nis_lookup.texi
5765 @include glibc-functions/nis_mkdir.texi
5766 @include glibc-functions/nis_modify.texi
5767 @include glibc-functions/nis_modify_entry.texi
5768 @include glibc-functions/nis_name_of.texi
5769 @include glibc-functions/nis_name_of_r.texi
5770 @include glibc-functions/nis_next_entry.texi
5771 @include glibc-functions/nis_perror.texi
5772 @include glibc-functions/nis_ping.texi
5773 @include glibc-functions/nis_print_directory.texi
5774 @include glibc-functions/nis_print_entry.texi
5775 @include glibc-functions/nis_print_group.texi
5776 @include glibc-functions/nis_print_group_entry.texi
5777 @include glibc-functions/nis_print_link.texi
5778 @include glibc-functions/nis_print_object.texi
5779 @include glibc-functions/nis_print_result.texi
5780 @include glibc-functions/nis_print_rights.texi
5781 @include glibc-functions/nis_print_table.texi
5782 @include glibc-functions/nis_remove.texi
5783 @include glibc-functions/nis_remove_entry.texi
5784 @include glibc-functions/nis_removemember.texi
5785 @include glibc-functions/nis_rmdir.texi
5786 @include glibc-functions/nis_servstate.texi
5787 @include glibc-functions/nis_sperrno.texi
5788 @include glibc-functions/nis_sperror.texi
5789 @include glibc-functions/nis_sperror_r.texi
5790 @include glibc-functions/nis_stats.texi
5791 @include glibc-functions/nis_verifygroup.texi
5793 @node Glibc rpcsvc/nis_callback.h
5794 @section Glibc @code{<rpcsvc/nis_callback.h>}
5796 @menu
5797 * xdr_cback_data::
5798 * xdr_obj_p::
5799 @end menu
5801 @include glibc-functions/xdr_cback_data.texi
5802 @include glibc-functions/xdr_obj_p.texi
5804 @node Glibc rpcsvc/yp.h
5805 @section Glibc @code{<rpcsvc/yp.h>}
5807 @menu
5808 * xdr_domainname::
5809 * xdr_keydat::
5810 * xdr_valdat::
5811 * xdr_ypbind_resptype::
5812 * xdr_ypmap_parms::
5813 * xdr_ypmaplist::
5814 * xdr_yppushresp_xfr::
5815 * xdr_ypreq_key::
5816 * xdr_ypreq_nokey::
5817 * xdr_ypreq_xfr::
5818 * xdr_ypresp_all::
5819 * xdr_ypresp_key_val::
5820 * xdr_ypresp_maplist::
5821 * xdr_ypresp_master::
5822 * xdr_ypresp_order::
5823 * xdr_ypresp_val::
5824 * xdr_ypresp_xfr::
5825 * xdr_ypstat::
5826 * xdr_ypxfrstat::
5827 @end menu
5829 @include glibc-functions/xdr_domainname.texi
5830 @include glibc-functions/xdr_keydat.texi
5831 @include glibc-functions/xdr_valdat.texi
5832 @include glibc-functions/xdr_ypbind_resptype.texi
5833 @include glibc-functions/xdr_ypmap_parms.texi
5834 @include glibc-functions/xdr_ypmaplist.texi
5835 @include glibc-functions/xdr_yppushresp_xfr.texi
5836 @include glibc-functions/xdr_ypreq_key.texi
5837 @include glibc-functions/xdr_ypreq_nokey.texi
5838 @include glibc-functions/xdr_ypreq_xfr.texi
5839 @include glibc-functions/xdr_ypresp_all.texi
5840 @include glibc-functions/xdr_ypresp_key_val.texi
5841 @include glibc-functions/xdr_ypresp_maplist.texi
5842 @include glibc-functions/xdr_ypresp_master.texi
5843 @include glibc-functions/xdr_ypresp_order.texi
5844 @include glibc-functions/xdr_ypresp_val.texi
5845 @include glibc-functions/xdr_ypresp_xfr.texi
5846 @include glibc-functions/xdr_ypstat.texi
5847 @include glibc-functions/xdr_ypxfrstat.texi
5849 @c @node Glibc rpcsvc/yp_prot.h
5850 @c @section Glibc @code{<rpcsvc/yp_prot.h>}
5852 @node Glibc rpcsvc/ypclnt.h
5853 @section Glibc @code{<rpcsvc/ypclnt.h>}
5855 @menu
5856 * yp_all::
5857 * yp_bind::
5858 * yp_first::
5859 * yp_get_default_domain::
5860 * yp_master::
5861 * yp_match::
5862 * yp_next::
5863 * yp_order::
5864 * yp_unbind::
5865 * ypbinderr_string::
5866 * yperr_string::
5867 * ypprot_err::
5868 @end menu
5870 @include glibc-functions/yp_all.texi
5871 @include glibc-functions/yp_bind.texi
5872 @include glibc-functions/yp_first.texi
5873 @include glibc-functions/yp_get_default_domain.texi
5874 @include glibc-functions/yp_master.texi
5875 @include glibc-functions/yp_match.texi
5876 @include glibc-functions/yp_next.texi
5877 @include glibc-functions/yp_order.texi
5878 @include glibc-functions/yp_unbind.texi
5879 @include glibc-functions/ypbinderr_string.texi
5880 @include glibc-functions/yperr_string.texi
5881 @include glibc-functions/ypprot_err.texi
5883 @c @node Glibc rpcsvc/ypupd.h
5884 @c @section Glibc @code{<rpcsvc/ypupd.h>}
5886 @node Glibc sched.h
5887 @section Glibc Extensions to @code{<sched.h>}
5889 @menu
5890 * clone::
5891 * getcpu::
5892 * sched_getaffinity::
5893 * sched_getcpu::
5894 * sched_setaffinity::
5895 * setns::
5896 @end menu
5898 @include glibc-functions/clone.texi
5899 @include glibc-functions/getcpu.texi
5900 @include glibc-functions/sched_getaffinity.texi
5901 @include glibc-functions/sched_getcpu.texi
5902 @include glibc-functions/sched_setaffinity.texi
5903 @include glibc-functions/setns.texi
5905 @node Glibc search.h
5906 @section Glibc Extensions to @code{<search.h>}
5908 @menu
5909 * hcreate_r::
5910 * hdestroy_r::
5911 * hsearch_r::
5912 * tdestroy::
5913 * twalk_r::
5914 @end menu
5916 @include glibc-functions/hcreate_r.texi
5917 @include glibc-functions/hdestroy_r.texi
5918 @include glibc-functions/hsearch_r.texi
5919 @include glibc-functions/tdestroy.texi
5920 @include glibc-functions/twalk_r.texi
5922 @node Glibc selinux/selinux.h
5923 @section Glibc Extensions to @code{<selinux/selinux.h>}
5925 @menu
5926 * fgetfilecon::
5927 * getfilecon::
5928 * lgetfilecon::
5929 @end menu
5931 @include glibc-functions/getfilecon-desc.texi
5932 @include glibc-functions/fgetfilecon.texi
5933 @include glibc-functions/getfilecon.texi
5934 @include glibc-functions/lgetfilecon.texi
5936 @node Glibc semaphore.h
5937 @section Glibc Extensions to @code{<semaphore.h>}
5939 @menu
5940 * sem_clockwait::
5941 @end menu
5943 @include glibc-functions/sem_clockwait.texi
5945 @c @node Glibc setjmp.h
5946 @c @section Glibc Extensions to @code{<setjmp.h>}
5948 @node Glibc shadow.h
5949 @section Glibc @code{<shadow.h>}
5951 @menu
5952 * endspent::
5953 * fgetspent::
5954 * fgetspent_r::
5955 * getspent::
5956 * getspent_r::
5957 * getspnam::
5958 * getspnam_r::
5959 * lckpwdf::
5960 * putspent::
5961 * setspent::
5962 * sgetspent::
5963 * sgetspent_r::
5964 * ulckpwdf::
5965 @end menu
5967 @include glibc-functions/endspent.texi
5968 @include glibc-functions/fgetspent.texi
5969 @include glibc-functions/fgetspent_r.texi
5970 @include glibc-functions/getspent.texi
5971 @include glibc-functions/getspent_r.texi
5972 @include glibc-functions/getspnam.texi
5973 @include glibc-functions/getspnam_r.texi
5974 @include glibc-functions/lckpwdf.texi
5975 @include glibc-functions/putspent.texi
5976 @include glibc-functions/setspent.texi
5977 @include glibc-functions/sgetspent.texi
5978 @include glibc-functions/sgetspent_r.texi
5979 @include glibc-functions/ulckpwdf.texi
5981 @node Glibc signal.h
5982 @section Glibc Extensions to @code{<signal.h>}
5984 @menu
5985 * gsignal::
5986 * sigandset::
5987 * sigblock::
5988 * siggetmask::
5989 * sigisemptyset::
5990 * sigorset::
5991 * sigreturn::
5992 * sigsetmask::
5993 * sigstack::
5994 * sigvec::
5995 * ssignal::
5996 * sys_siglist::
5997 * sysv_signal::
5998 * tgkill::
5999 @end menu
6001 @include glibc-functions/gsignal.texi
6002 @include glibc-functions/sigandset.texi
6003 @include glibc-functions/sigblock.texi
6004 @include glibc-functions/siggetmask.texi
6005 @include glibc-functions/sigisemptyset.texi
6006 @include glibc-functions/sigorset.texi
6007 @include glibc-functions/sigreturn.texi
6008 @include glibc-functions/sigsetmask.texi
6009 @include glibc-functions/sigstack.texi
6010 @include glibc-functions/sigvec.texi
6011 @include glibc-functions/ssignal.texi
6012 @include glibc-functions/sys_siglist.texi
6013 @include glibc-functions/sysv_signal.texi
6014 @include glibc-functions/tgkill.texi
6016 @node Glibc spawn.h
6017 @section Glibc Extensions to @code{<spawn.h>}
6019 @menu
6020 * pidfd_spawn::
6021 * pidfd_spawnp::
6022 * posix_spawn_file_actions_addchdir_np::
6023 * posix_spawn_file_actions_addclosefrom_np::
6024 * posix_spawn_file_actions_addfchdir_np::
6025 * posix_spawn_file_actions_addtcsetpgrp_np::
6026 * posix_spawnattr_getcgroup_np::
6027 * posix_spawnattr_setcgroup_np::
6028 @end menu
6030 @include glibc-functions/pidfd_spawn.texi
6031 @include glibc-functions/pidfd_spawnp.texi
6032 @include glibc-functions/posix_spawn_file_actions_addchdir_np.texi
6033 @include glibc-functions/posix_spawn_file_actions_addclosefrom_np.texi
6034 @include glibc-functions/posix_spawn_file_actions_addfchdir_np.texi
6035 @include glibc-functions/posix_spawn_file_actions_addtcsetpgrp_np.texi
6036 @include glibc-functions/posix_spawnattr_getcgroup_np.texi
6037 @include glibc-functions/posix_spawnattr_setcgroup_np.texi
6039 @c @node Glibc stdarg.h
6040 @c @section Glibc Extensions to @code{<stdarg.h>}
6042 @c @node Glibc stdbool.h
6043 @c @section Glibc Extensions to @code{<stdbool.h>}
6045 @c @node Glibc stddef.h
6046 @c @section Glibc Extensions to @code{<stddef.h>}
6048 @c @node Glibc stdint.h
6049 @c @section Glibc Extensions to @code{<stdint.h>}
6051 @node Glibc stdio.h
6052 @section Glibc Extensions to @code{<stdio.h>}
6054 @menu
6055 * asprintf::
6056 * cuserid::
6057 * clearerr_unlocked::
6058 * fcloseall::
6059 * feof_unlocked::
6060 * ferror_unlocked::
6061 * fflush_unlocked::
6062 * fgetc_unlocked::
6063 * fgets_unlocked::
6064 * fileno_unlocked::
6065 * fopencookie::
6066 * fputc_unlocked::
6067 * fputs_unlocked::
6068 * fread_unlocked::
6069 * fwrite_unlocked::
6070 * getw::
6071 * putw::
6072 * renameat2::
6073 * setbuffer::
6074 * setlinebuf::
6075 * sys_errlist::
6076 * sys_nerr::
6077 * tmpnam_r::
6078 * vasprintf::
6079 @end menu
6081 @include glibc-functions/asprintf.texi
6082 @include glibc-functions/cuserid.texi
6083 @include glibc-functions/clearerr_unlocked.texi
6084 @include glibc-functions/fcloseall.texi
6085 @include glibc-functions/feof_unlocked.texi
6086 @include glibc-functions/ferror_unlocked.texi
6087 @include glibc-functions/fflush_unlocked.texi
6088 @include glibc-functions/fgetc_unlocked.texi
6089 @include glibc-functions/fgets_unlocked.texi
6090 @include glibc-functions/fileno_unlocked.texi
6091 @include glibc-functions/fopencookie.texi
6092 @include glibc-functions/fputc_unlocked.texi
6093 @include glibc-functions/fputs_unlocked.texi
6094 @include glibc-functions/fread_unlocked.texi
6095 @include glibc-functions/fwrite_unlocked.texi
6096 @include glibc-functions/getw.texi
6097 @include glibc-functions/putw.texi
6098 @include glibc-functions/renameat2.texi
6099 @include glibc-functions/setbuffer.texi
6100 @include glibc-functions/setlinebuf.texi
6101 @include glibc-functions/sys_errlist.texi
6102 @include glibc-functions/sys_nerr.texi
6103 @include glibc-functions/tmpnam_r.texi
6104 @include glibc-functions/vasprintf.texi
6106 @node Glibc stdlib.h
6107 @section Glibc Extensions to @code{<stdlib.h>}
6109 @menu
6110 * arc4random::
6111 * arc4random_buf::
6112 * arc4random_uniform::
6113 * canonicalize_file_name::
6114 * cfree::
6115 * clearenv::
6116 * drand48_r::
6117 * ecvt_r::
6118 * erand48_r::
6119 * fcvt_r::
6120 * getloadavg::
6121 * getpt::
6122 * initstate_r::
6123 * jrand48_r::
6124 * lcong48_r::
6125 * lrand48_r::
6126 * mkostemp::
6127 * mkostemps::
6128 * mkstemps::
6129 * mrand48_r::
6130 * nrand48_r::
6131 * on_exit::
6132 * ptsname_r::
6133 * qecvt::
6134 * qecvt_r::
6135 * qfcvt::
6136 * qfcvt_r::
6137 * qgcvt::
6138 * qsort_r::
6139 * random_r::
6140 * rpmatch::
6141 * secure_getenv::
6142 * seed48_r::
6143 * setstate_r::
6144 * srand48_r::
6145 * srandom_r::
6146 * strtod_l::
6147 * strtof_l::
6148 * strtol_l::
6149 * strtold_l::
6150 * strtoll_l::
6151 * strtoq::
6152 * strtoul_l::
6153 * strtoull_l::
6154 * strtouq::
6155 * valloc::
6156 @end menu
6158 @include glibc-functions/arc4random.texi
6159 @include glibc-functions/arc4random_buf.texi
6160 @include glibc-functions/arc4random_uniform.texi
6161 @include glibc-functions/canonicalize_file_name.texi
6162 @include glibc-functions/cfree.texi
6163 @include glibc-functions/clearenv.texi
6164 @include glibc-functions/drand48_r.texi
6165 @include glibc-functions/ecvt_r.texi
6166 @include glibc-functions/erand48_r.texi
6167 @include glibc-functions/fcvt_r.texi
6168 @include glibc-functions/getloadavg.texi
6169 @include glibc-functions/getpt.texi
6170 @include glibc-functions/initstate_r.texi
6171 @include glibc-functions/jrand48_r.texi
6172 @include glibc-functions/lcong48_r.texi
6173 @include glibc-functions/lrand48_r.texi
6174 @include glibc-functions/mkostemp.texi
6175 @include glibc-functions/mkostemps.texi
6176 @include glibc-functions/mkstemps.texi
6177 @include glibc-functions/mrand48_r.texi
6178 @include glibc-functions/nrand48_r.texi
6179 @include glibc-functions/on_exit.texi
6180 @include glibc-functions/ptsname_r.texi
6181 @include glibc-functions/qecvt.texi
6182 @include glibc-functions/qecvt_r.texi
6183 @include glibc-functions/qfcvt.texi
6184 @include glibc-functions/qfcvt_r.texi
6185 @include glibc-functions/qgcvt.texi
6186 @include glibc-functions/qsort_r.texi
6187 @include glibc-functions/random_r.texi
6188 @include glibc-functions/rpmatch.texi
6189 @include glibc-functions/secure_getenv.texi
6190 @include glibc-functions/seed48_r.texi
6191 @include glibc-functions/setstate_r.texi
6192 @include glibc-functions/srand48_r.texi
6193 @include glibc-functions/srandom_r.texi
6194 @include glibc-functions/strtod_l.texi
6195 @include glibc-functions/strtof_l.texi
6196 @include glibc-functions/strtol_l.texi
6197 @include glibc-functions/strtold_l.texi
6198 @include glibc-functions/strtoll_l.texi
6199 @include glibc-functions/strtoq.texi
6200 @include glibc-functions/strtoul_l.texi
6201 @include glibc-functions/strtoull_l.texi
6202 @include glibc-functions/strtouq.texi
6203 @include glibc-functions/valloc.texi
6205 @node Glibc string.h
6206 @section Glibc Extensions to @code{<string.h>}
6208 @menu
6209 * explicit_bzero::
6210 * ffsl::
6211 * ffsll::
6212 * memfrob::
6213 * memmem::
6214 * mempcpy::
6215 * memrchr::
6216 * rawmemchr::
6217 * sigabbrev_np::
6218 * sigdescr_np::
6219 * strcasestr::
6220 * strchrnul::
6221 * strerrordesc_np::
6222 * strerrorname_np::
6223 * strfry::
6224 * strsep::
6225 * strverscmp::
6226 @end menu
6228 @include glibc-functions/explicit_bzero.texi
6229 @include glibc-functions/ffsl.texi
6230 @include glibc-functions/ffsll.texi
6231 @include glibc-functions/memfrob.texi
6232 @include glibc-functions/memmem.texi
6233 @include glibc-functions/mempcpy.texi
6234 @include glibc-functions/memrchr.texi
6235 @include glibc-functions/rawmemchr.texi
6236 @include glibc-functions/sigabbrev_np.texi
6237 @include glibc-functions/sigdescr_np.texi
6238 @include glibc-functions/strcasestr.texi
6239 @include glibc-functions/strchrnul.texi
6240 @include glibc-functions/strerrordesc_np.texi
6241 @include glibc-functions/strerrorname_np.texi
6242 @include glibc-functions/strfry.texi
6243 @include glibc-functions/strsep.texi
6244 @include glibc-functions/strverscmp.texi
6246 @c @node Glibc strings.h
6247 @c @section Glibc Extensions to @code{<strings.h>}
6249 @c @node Glibc stropts.h
6250 @c @section Glibc Extensions to @code{<stropts.h>}
6252 @node Glibc sys/auxv.h
6253 @section Glibc @code{<sys/auxv.h>}
6255 @menu
6256 * getauxval::
6257 @end menu
6259 @include glibc-functions/getauxval.texi
6261 @node Glibc sys/capability.h
6262 @section Glibc @code{<sys/capability.h>}
6264 @menu
6265 * capget::
6266 * capset::
6267 @end menu
6269 @include glibc-functions/capget.texi
6270 @include glibc-functions/capset.texi
6272 @node Glibc sys/epoll.h
6273 @section Glibc @code{<sys/epoll.h>}
6275 @menu
6276 * epoll_create::
6277 * epoll_create1::
6278 * epoll_ctl::
6279 * epoll_pwait::
6280 * epoll_pwait2::
6281 * epoll_wait::
6282 @end menu
6284 @include glibc-functions/epoll_create.texi
6285 @include glibc-functions/epoll_create1.texi
6286 @include glibc-functions/epoll_ctl.texi
6287 @include glibc-functions/epoll_pwait.texi
6288 @include glibc-functions/epoll_pwait2.texi
6289 @include glibc-functions/epoll_wait.texi
6291 @node Glibc sys/eventfd.h
6292 @section Glibc @code{<sys/eventfd.h>}
6294 @menu
6295 * eventfd::
6296 * eventfd_read::
6297 * eventfd_write::
6298 @end menu
6300 @include glibc-functions/eventfd.texi
6301 @include glibc-functions/eventfd_read.texi
6302 @include glibc-functions/eventfd_write.texi
6304 @node Glibc sys/fanotify.h
6305 @section Glibc @code{<sys/fanotify.h>}
6307 @menu
6308 * fanotify_init::
6309 * fanotify_mark::
6310 @end menu
6312 @include glibc-functions/fanotify_init.texi
6313 @include glibc-functions/fanotify_mark.texi
6315 @node Glibc sys/file.h
6316 @section Glibc @code{<sys/file.h>}
6318 @menu
6319 * flock::
6320 @end menu
6322 @include glibc-functions/flock.texi
6324 @node Glibc sys/fsuid.h
6325 @section Glibc @code{<sys/fsuid.h>}
6327 @menu
6328 * setfsgid::
6329 * setfsuid::
6330 @end menu
6332 @include glibc-functions/setfsgid.texi
6333 @include glibc-functions/setfsuid.texi
6335 @node Glibc sys/gmon.h
6336 @section Glibc @code{<sys/gmon.h>}
6338 @menu
6339 * monstartup::
6340 @end menu
6342 @include glibc-functions/monstartup.texi
6344 @node Glibc sys/inotify.h
6345 @section Glibc @code{<sys/inotify.h>}
6347 @menu
6348 * inotify_add_watch::
6349 * inotify_init::
6350 * inotify_init1::
6351 * inotify_rm_watch::
6352 @end menu
6354 @include glibc-functions/inotify_add_watch.texi
6355 @include glibc-functions/inotify_init.texi
6356 @include glibc-functions/inotify_init1.texi
6357 @include glibc-functions/inotify_rm_watch.texi
6359 @node Glibc sys/io.h and sys/perm.h
6360 @section Glibc @code{<sys/io.h>}, @code{<sys/perm.h>}
6362 @menu
6363 * ioperm::
6364 * iopl::
6365 @end menu
6367 @include glibc-functions/ioperm.texi
6368 @include glibc-functions/iopl.texi
6370 @c @node Glibc sys/ioctl.h
6371 @c @section Glibc @code{<sys/ioctl.h>}
6373 @c @node Glibc sys/ipc.h
6374 @c @section Glibc Extensions to @code{<sys/ipc.h>}
6376 @node Glibc sys/kdaemon.h
6377 @section Glibc @code{<sys/kdaemon.h>}
6379 @menu
6380 * bdflush::
6381 @end menu
6383 @include glibc-functions/bdflush.texi
6385 @node Glibc sys/klog.h
6386 @section Glibc @code{<sys/klog.h>}
6388 @menu
6389 * klogctl::
6390 @end menu
6392 @include glibc-functions/klogctl.texi
6394 @node Glibc sys/mman.h
6395 @section Glibc Extensions to @code{<sys/mman.h>}
6397 @menu
6398 * madvise::
6399 * memfd_create::
6400 * mincore::
6401 * mlock2::
6402 * mremap::
6403 * pkey_alloc::
6404 * pkey_free::
6405 * pkey_get::
6406 * pkey_mprotect::
6407 * pkey_set::
6408 * process_madvise::
6409 * process_mrelease::
6410 * remap_file_pages::
6411 @end menu
6413 @include glibc-functions/madvise.texi
6414 @include glibc-functions/memfd_create.texi
6415 @include glibc-functions/mincore.texi
6416 @include glibc-functions/mlock2.texi
6417 @include glibc-functions/mremap.texi
6418 @include glibc-functions/pkey_alloc.texi
6419 @include glibc-functions/pkey_free.texi
6420 @include glibc-functions/pkey_get.texi
6421 @include glibc-functions/pkey_mprotect.texi
6422 @include glibc-functions/pkey_set.texi
6423 @include glibc-functions/process_madvise.texi
6424 @include glibc-functions/process_mrelease.texi
6425 @include glibc-functions/remap_file_pages.texi
6427 @node Glibc sys/mount.h
6428 @section Glibc @code{<sys/mount.h>}
6430 @menu
6431 * fsconfig::
6432 * fsmount::
6433 * fsopen::
6434 * fspick::
6435 * mount::
6436 * mount_setattr::
6437 * move_mount::
6438 * open_tree::
6439 * umount::
6440 * umount2::
6441 @end menu
6443 @include glibc-functions/fsconfig.texi
6444 @include glibc-functions/fsmount.texi
6445 @include glibc-functions/fsopen.texi
6446 @include glibc-functions/fspick.texi
6447 @include glibc-functions/mount.texi
6448 @include glibc-functions/mount_setattr.texi
6449 @include glibc-functions/move_mount.texi
6450 @include glibc-functions/open_tree.texi
6451 @include glibc-functions/umount.texi
6452 @include glibc-functions/umount2.texi
6454 @c @node Glibc sys/msg.h
6455 @c @section Glibc Extensions to @code{<sys/msg.h>}
6457 @node Glibc sys/personality.h
6458 @section Glibc @code{<sys/personality.h>}
6460 @menu
6461 * personality::
6462 @end menu
6464 @include glibc-functions/personality.texi
6466 @node Glibc sys/pidfd.h
6467 @section Glibc @code{<sys/pidfd.h>}
6469 @menu
6470 * pidfd_getfd::
6471 * pidfd_getpid::
6472 * pidfd_open::
6473 * pidfd_send_signal::
6474 @end menu
6476 @include glibc-functions/pidfd_getfd.texi
6477 @include glibc-functions/pidfd_getpid.texi
6478 @include glibc-functions/pidfd_open.texi
6479 @include glibc-functions/pidfd_send_signal.texi
6481 @node Glibc sys/prctl.h
6482 @section Glibc @code{<sys/prctl.h>}
6484 @menu
6485 * prctl::
6486 @end menu
6488 @include glibc-functions/prctl.texi
6490 @node Glibc sys/profil.h
6491 @section Glibc @code{<sys/profil.h>}
6493 @menu
6494 * sprofil::
6495 @end menu
6497 @include glibc-functions/sprofil.texi
6499 @node Glibc sys/ptrace.h
6500 @section Glibc @code{<sys/ptrace.h>}
6502 @menu
6503 * ptrace::
6504 @end menu
6506 @include glibc-functions/ptrace.texi
6508 @node Glibc sys/quota.h
6509 @section Glibc @code{<sys/quota.h>}
6511 @menu
6512 * quotactl::
6513 @end menu
6515 @include glibc-functions/quotactl.texi
6517 @node Glibc sys/random.h
6518 @section Glibc @code{<sys/random.h>}
6520 @menu
6521 * getentropy::
6522 * getrandom::
6523 @end menu
6525 @include glibc-functions/getentropy.texi
6526 @include glibc-functions/getrandom.texi
6528 @node Glibc sys/reboot.h
6529 @section Glibc @code{<sys/reboot.h>}
6531 @menu
6532 * reboot::
6533 @end menu
6535 @include glibc-functions/reboot.texi
6537 @node Glibc sys/resource.h
6538 @section Glibc Extensions to @code{<sys/resource.h>}
6540 @menu
6541 * prlimit::
6542 @end menu
6544 @include glibc-functions/prlimit.texi
6546 @c @node Glibc sys/select.h
6547 @c @section Glibc Extensions to @code{<sys/select.h>}
6549 @node Glibc sys/sem.h
6550 @section Glibc Extensions to @code{<sys/sem.h>}
6552 @menu
6553 * semtimedop::
6554 @end menu
6556 @include glibc-functions/semtimedop.texi
6558 @node Glibc sys/sendfile.h
6559 @section Glibc @code{<sys/sendfile.h>}
6561 @menu
6562 * sendfile::
6563 @end menu
6565 @include glibc-functions/sendfile.texi
6567 @c @node Glibc sys/shm.h
6568 @c @section Glibc Extensions to @code{<sys/shm.h>}
6570 @node Glibc sys/signalfd.h
6571 @section Glibc @code{<sys/signalfd.h>}
6573 @menu
6574 * signalfd::
6575 @end menu
6577 @include glibc-functions/signalfd.texi
6579 @node Glibc sys/single_threaded.h
6580 @section Glibc @code{<sys/single_threaded.h>}
6582 @menu
6583 * __libc_single_threaded::
6584 @end menu
6586 @include glibc-functions/__libc_single_threaded.texi
6588 @node Glibc sys/socket.h
6589 @section Glibc Extensions to @code{<sys/socket.h>}
6591 @menu
6592 * accept4::
6593 * isfdtype::
6594 * recvmmsg::
6595 * sendmmsg::
6596 @end menu
6598 @include glibc-functions/accept4.texi
6599 @include glibc-functions/isfdtype.texi
6600 @include glibc-functions/recvmmsg.texi
6601 @include glibc-functions/sendmmsg.texi
6603 @node Glibc sys/stat.h
6604 @section Glibc Extensions to @code{<sys/stat.h>}
6606 @menu
6607 * getumask::
6608 * lchmod::
6609 * statx::
6610 @end menu
6612 @include glibc-functions/getumask.texi
6613 @include glibc-functions/lchmod.texi
6614 @include glibc-functions/statx.texi
6616 @node Glibc sys/statfs.h
6617 @section Glibc @code{<sys/statfs.h>}
6619 @menu
6620 * fstatfs::
6621 * statfs::
6622 @end menu
6624 @include glibc-functions/fstatfs.texi
6625 @include glibc-functions/statfs.texi
6627 @c @node Glibc sys/statvfs.h
6628 @c @section Glibc Extensions to @code{<sys/statvfs.h>}
6630 @node Glibc sys/swap.h
6631 @section Glibc @code{<sys/swap.h>}
6633 @menu
6634 * swapoff::
6635 * swapon::
6636 @end menu
6638 @include glibc-functions/swapoff.texi
6639 @include glibc-functions/swapon.texi
6641 @node Glibc sys/sysctl.h
6642 @section Glibc @code{<sys/sysctl.h>}
6644 @menu
6645 * sysctl::
6646 @end menu
6648 @include glibc-functions/sysctl.texi
6650 @node Glibc sys/sysinfo.h
6651 @section Glibc @code{<sys/sysinfo.h>}
6653 @menu
6654 * get_avphys_pages::
6655 * get_nprocs::
6656 * get_nprocs_conf::
6657 * get_phys_pages::
6658 * sysinfo::
6659 @end menu
6661 @include glibc-functions/get_avphys_pages.texi
6662 @include glibc-functions/get_nprocs.texi
6663 @include glibc-functions/get_nprocs_conf.texi
6664 @include glibc-functions/get_phys_pages.texi
6665 @include glibc-functions/sysinfo.texi
6667 @node Glibc sys/syslog.h
6668 @section Glibc @code{<sys/syslog.h>}
6670 @menu
6671 * vsyslog::
6672 @end menu
6674 @include glibc-functions/vsyslog.texi
6676 @node Glibc sys/sysmacros.h
6677 @section Glibc @code{<sys/sysmacros.h>}
6679 @menu
6680 * gnu_dev_major::
6681 * gnu_dev_makedev::
6682 * gnu_dev_minor::
6683 @end menu
6685 @include glibc-functions/gnu_dev_major.texi
6686 @include glibc-functions/gnu_dev_makedev.texi
6687 @include glibc-functions/gnu_dev_minor.texi
6689 @node Glibc sys/time.h
6690 @section Glibc Extensions to @code{<sys/time.h>}
6692 @menu
6693 * adjtime::
6694 * futimes::
6695 * futimesat::
6696 * lutimes::
6697 * settimeofday::
6698 @end menu
6700 @include glibc-functions/adjtime.texi
6701 @include glibc-functions/futimes.texi
6702 @include glibc-functions/futimesat.texi
6703 @include glibc-functions/lutimes.texi
6704 @include glibc-functions/settimeofday.texi
6706 @c @node Glibc sys/timeb.h
6707 @c @section Glibc Extensions to @code{<sys/timeb.h>}
6709 @node Glibc sys/timerfd.h
6710 @section Glibc @code{<sys/timerfd.h>}
6712 @menu
6713 * timerfd_create::
6714 * timerfd_gettime::
6715 * timerfd_settime::
6716 @end menu
6718 @include glibc-functions/timerfd_create.texi
6719 @include glibc-functions/timerfd_gettime.texi
6720 @include glibc-functions/timerfd_settime.texi
6722 @c @node Glibc sys/times.h
6723 @c @section Glibc Extensions to @code{<sys/times.h>}
6725 @node Glibc sys/timex.h
6726 @section Glibc @code{<sys/timex.h>}
6728 @menu
6729 * adjtimex::
6730 * ntp_adjtime::
6731 * ntp_gettime::
6732 * ntp_gettimex::
6733 @end menu
6735 @include glibc-functions/adjtimex.texi
6736 @include glibc-functions/ntp_adjtime.texi
6737 @include glibc-functions/ntp_gettime.texi
6738 @include glibc-functions/ntp_gettimex.texi
6740 @c @node Glibc sys/types.h
6741 @c @section Glibc Extensions to @code{<sys/types.h>}
6743 @node Glibc sys/uio.h
6744 @section Glibc Extensions to @code{<sys/uio.h>}
6746 @menu
6747 * preadv::
6748 * preadv2::
6749 * process_vm_readv::
6750 * process_vm_writev::
6751 * pwritev::
6752 * pwritev2::
6753 @end menu
6755 @include glibc-functions/preadv.texi
6756 @include glibc-functions/preadv2.texi
6757 @include glibc-functions/process_vm_readv.texi
6758 @include glibc-functions/process_vm_writev.texi
6759 @include glibc-functions/pwritev.texi
6760 @include glibc-functions/pwritev2.texi
6762 @c @node Glibc sys/un.h
6763 @c @section Glibc Extensions to @code{<sys/un.h>}
6765 @node Glibc sys/ustat.h
6766 @section Glibc @code{<sys/ustat.h>}
6768 @menu
6769 * ustat::
6770 @end menu
6772 @include glibc-functions/ustat.texi
6774 @c @node Glibc sys/utsname.h
6775 @c @section Glibc Extensions to @code{<sys/utsname.h>}
6777 @node Glibc sys/vlimit.h
6778 @section Glibc @code{<sys/vlimit.h>}
6780 @menu
6781 * vlimit::
6782 @end menu
6784 @include glibc-functions/vlimit.texi
6786 @c @node Glibc sys/vm86.h
6787 @c @section Glibc @code{<sys/vm86.h>}
6789 @node Glibc sys/wait.h
6790 @section Glibc Extensions to @code{<sys/wait.h>}
6792 @menu
6793 * wait3::
6794 * wait4::
6795 @end menu
6797 @include glibc-functions/wait3.texi
6798 @include glibc-functions/wait4.texi
6800 @node Glibc sys/xattr.h
6801 @section Glibc @code{<sys/xattr.h>}
6803 @menu
6804 * fgetxattr::
6805 * flistxattr::
6806 * fremovexattr::
6807 * fsetxattr::
6808 * getxattr::
6809 * lgetxattr::
6810 * listxattr::
6811 * llistxattr::
6812 * lremovexattr::
6813 * lsetxattr::
6814 * removexattr::
6815 * setxattr::
6816 @end menu
6818 @include glibc-functions/fgetxattr.texi
6819 @include glibc-functions/flistxattr.texi
6820 @include glibc-functions/fremovexattr.texi
6821 @include glibc-functions/fsetxattr.texi
6822 @include glibc-functions/getxattr.texi
6823 @include glibc-functions/lgetxattr.texi
6824 @include glibc-functions/listxattr.texi
6825 @include glibc-functions/llistxattr.texi
6826 @include glibc-functions/lremovexattr.texi
6827 @include glibc-functions/lsetxattr.texi
6828 @include glibc-functions/removexattr.texi
6829 @include glibc-functions/setxattr.texi
6831 @c @node Glibc sysexits.h
6832 @c @section Glibc @code{<sysexits.h>}
6834 @c @node Glibc syslog.h
6835 @c @section Glibc Extensions to @code{<syslog.h>}
6837 @c @node Glibc tar.h
6838 @c @section Glibc Extensions to @code{<tar.h>}
6840 @node Glibc termios.h
6841 @section Glibc Extensions to @code{<termios.h>}
6843 @menu
6844 * cfmakeraw::
6845 * cfsetspeed::
6846 @end menu
6848 @include glibc-functions/cfmakeraw.texi
6849 @include glibc-functions/cfsetspeed.texi
6851 @c @node Glibc tgmath.h
6852 @c @section Glibc Extensions to @code{<tgmath.h>}
6854 @node Glibc time.h
6855 @section Glibc Extensions to @code{<time.h>}
6857 @menu
6858 * clock_adjtime::
6859 * dysize::
6860 * getdate_r::
6861 * stime::
6862 * strptime_l::
6863 * timelocal::
6864 * timespec_get::
6865 @end menu
6867 @include glibc-functions/clock_adjtime.texi
6868 @include glibc-functions/dysize.texi
6869 @include glibc-functions/getdate_r.texi
6870 @include glibc-functions/stime.texi
6871 @include glibc-functions/strptime_l.texi
6872 @include glibc-functions/timelocal.texi
6873 @include glibc-functions/timespec_get.texi
6875 @c @node Glibc trace.h
6876 @c @section Glibc Extensions to @code{<trace.h>}
6878 @node Glibc ttyent.h
6879 @section Glibc @code{<ttyent.h>}
6881 @menu
6882 * endttyent::
6883 * getttyent::
6884 * getttynam::
6885 * setttyent::
6886 @end menu
6888 @include glibc-functions/endttyent.texi
6889 @include glibc-functions/getttyent.texi
6890 @include glibc-functions/getttynam.texi
6891 @include glibc-functions/setttyent.texi
6893 @c @node Glibc uchar.h
6894 @c @section Glibc Extensions to @code{<uchar.h>}
6896 @c @node Glibc ucontext.h
6897 @c @section Glibc Extensions to @code{<ucontext.h>}
6899 @c @node Glibc ulimit.h
6900 @c @section Glibc Extensions to @code{<ulimit.h>}
6902 @node Glibc unistd.h
6903 @section Glibc Extensions to @code{<unistd.h>}
6905 @menu
6906 * _Fork::
6907 * acct::
6908 * brk::
6909 * chroot::
6910 * closefrom::
6911 * close_range::
6912 * copy_file_range::
6913 * daemon::
6914 * dup3::
6915 * eaccess::
6916 * endusershell::
6917 * euidaccess::
6918 * execveat::
6919 * execvpe::
6920 * get_current_dir_name::
6921 * getdomainname::
6922 * getdtablesize::
6923 * getpagesize::
6924 * getpass::
6925 * getresgid::
6926 * getresuid::
6927 * gettid::
6928 * getusershell::
6929 * group_member::
6930 * pipe2::
6931 * profil::
6932 * revoke::
6933 * sbrk::
6934 * setlogin::
6935 * setdomainname::
6936 * sethostid::
6937 * sethostname::
6938 * setresgid::
6939 * setresuid::
6940 * setusershell::
6941 * syncfs::
6942 * syscall::
6943 * ttyslot::
6944 * vhangup::
6945 @end menu
6947 @include glibc-functions/_Fork.texi
6948 @include glibc-functions/acct.texi
6949 @include glibc-functions/brk.texi
6950 @include glibc-functions/chroot.texi
6951 @include glibc-functions/closefrom.texi
6952 @include glibc-functions/close_range.texi
6953 @include glibc-functions/copy_file_range.texi
6954 @include glibc-functions/daemon.texi
6955 @include glibc-functions/dup3.texi
6956 @include glibc-functions/eaccess.texi
6957 @include glibc-functions/endusershell.texi
6958 @include glibc-functions/euidaccess.texi
6959 @include glibc-functions/execveat.texi
6960 @include glibc-functions/execvpe.texi
6961 @include glibc-functions/get_current_dir_name.texi
6962 @include glibc-functions/getdomainname.texi
6963 @include glibc-functions/getdtablesize.texi
6964 @include glibc-functions/getpagesize.texi
6965 @include glibc-functions/getpass.texi
6966 @include glibc-functions/getresgid.texi
6967 @include glibc-functions/getresuid.texi
6968 @include glibc-functions/gettid.texi
6969 @include glibc-functions/getusershell.texi
6970 @include glibc-functions/group_member.texi
6971 @include glibc-functions/pipe2.texi
6972 @include glibc-functions/profil.texi
6973 @include glibc-functions/revoke.texi
6974 @include glibc-functions/sbrk.texi
6975 @include glibc-functions/setlogin.texi
6976 @include glibc-functions/setdomainname.texi
6977 @include glibc-functions/sethostid.texi
6978 @include glibc-functions/sethostname.texi
6979 @include glibc-functions/setresgid.texi
6980 @include glibc-functions/setresuid.texi
6981 @include glibc-functions/setusershell.texi
6982 @include glibc-functions/syncfs.texi
6983 @include glibc-functions/syscall.texi
6984 @include glibc-functions/ttyslot.texi
6985 @include glibc-functions/vhangup.texi
6987 @c @node Glibc utime.h
6988 @c @section Glibc Extensions to @code{<utime.h>}
6990 @node Glibc utmp.h
6991 @section Glibc @code{<utmp.h>}
6993 @menu
6994 * endutent::
6995 * getutent::
6996 * getutent_r::
6997 * getutid::
6998 * getutid_r::
6999 * getutline::
7000 * getutline_r::
7001 * pututline::
7002 * setutent::
7003 * updwtmp::
7004 * utmpname::
7005 * login::
7006 * login_tty::
7007 @end menu
7009 @include glibc-functions/endutent.texi
7010 @include glibc-functions/getutent.texi
7011 @include glibc-functions/getutent_r.texi
7012 @include glibc-functions/getutid.texi
7013 @include glibc-functions/getutid_r.texi
7014 @include glibc-functions/getutline.texi
7015 @include glibc-functions/getutline_r.texi
7016 @include glibc-functions/pututline.texi
7017 @include glibc-functions/setutent.texi
7018 @include glibc-functions/updwtmp.texi
7019 @include glibc-functions/utmpname.texi
7020 @include glibc-functions/login.texi
7021 @include glibc-functions/login_tty.texi
7023 @node Glibc utmpx.h
7024 @section Glibc Extensions to @code{<utmpx.h>}
7026 @menu
7027 * getutmp::
7028 * getutmpx::
7029 * updwtmpx::
7030 * utmpxname::
7031 @end menu
7033 @include glibc-functions/getutmp.texi
7034 @include glibc-functions/getutmpx.texi
7035 @include glibc-functions/updwtmpx.texi
7036 @include glibc-functions/utmpxname.texi
7038 @node Glibc wchar.h
7039 @section Glibc Extensions to @code{<wchar.h>}
7041 @menu
7042 * fgetwc_unlocked::
7043 * fgetws_unlocked::
7044 * fputwc_unlocked::
7045 * fputws_unlocked::
7046 * getwc_unlocked::
7047 * getwchar_unlocked::
7048 * putwc_unlocked::
7049 * putwchar_unlocked::
7050 * wcschrnul::
7051 * wcsftime_l::
7052 * wcstod_l::
7053 * wcstof_l::
7054 * wcstol_l::
7055 * wcstold_l::
7056 * wcstoll_l::
7057 * wcstoq::
7058 * wcstoul_l::
7059 * wcstoull_l::
7060 * wcstouq::
7061 * wmempcpy::
7062 @end menu
7064 @include glibc-functions/fgetwc_unlocked.texi
7065 @include glibc-functions/fgetws_unlocked.texi
7066 @include glibc-functions/fputwc_unlocked.texi
7067 @include glibc-functions/fputws_unlocked.texi
7068 @include glibc-functions/getwc_unlocked.texi
7069 @include glibc-functions/getwchar_unlocked.texi
7070 @include glibc-functions/putwc_unlocked.texi
7071 @include glibc-functions/putwchar_unlocked.texi
7072 @include glibc-functions/wcschrnul.texi
7073 @include glibc-functions/wcsftime_l.texi
7074 @include glibc-functions/wcstod_l.texi
7075 @include glibc-functions/wcstof_l.texi
7076 @include glibc-functions/wcstol_l.texi
7077 @include glibc-functions/wcstold_l.texi
7078 @include glibc-functions/wcstoll_l.texi
7079 @include glibc-functions/wcstoq.texi
7080 @include glibc-functions/wcstoul_l.texi
7081 @include glibc-functions/wcstoull_l.texi
7082 @include glibc-functions/wcstouq.texi
7083 @include glibc-functions/wmempcpy.texi
7085 @c @node Glibc wctype.h
7086 @c @section Glibc Extensions to @code{<wctype.h>}
7088 @c @node Glibc wordexp.h
7089 @c @section Glibc Extensions to @code{<wordexp.h>}
7092 @node Native Windows Support
7093 @chapter Native Windows Support
7095 There are three ways to create binaries that run on Microsoft Windows:
7096 @itemize
7097 @item
7098 Native binaries, built using the MinGW tool chain.
7099 @item
7100 Native binaries, built using the MSVC (MS Visual C/C++) tool chain.
7101 @item
7102 Binaries for the Cygwin environment.
7103 @end itemize
7105 This chapter deals with the MinGW and MSVC platforms, commonly called
7106 ``native Windows'' platforms.  Cygwin, on the other hand, is close enough
7107 to POSIX that it can be treated like any other Unix-like platform.
7109 @menu
7110 * Libtool and Windows::
7111 * Large File Support::
7112 * Inode numbers on Windows::
7113 * Precise file timestamps on Windows::
7114 * Avoiding the year 2038 problem::
7115 * Windows sockets::
7116 * Native Windows Support without MSVC Support::
7117 * Visual Studio Compatibility::
7118 @end menu
7120 @include windows-libtool.texi
7122 @include largefile.texi
7124 @include windows-stat-inodes.texi
7126 @include windows-stat-timespec.texi
7128 @include year2038.texi
7130 @include windows-sockets.texi
7132 @include windows-without-msvc.texi
7134 @include ld-output-def.texi
7137 @include multithread.texi
7140 @include strings.texi
7143 @node Particular Modules
7144 @chapter Particular Modules
7146 @menu
7147 * alloca::
7148 * alloca-opt::
7149 * Safe Allocation Macros::
7150 * Attributes::
7151 * Compile-time Assertions::
7152 * Non-returning Functions::
7153 * Integer Properties::
7154 * static inline::
7155 * extern inline::
7156 * Closed standard fds::
7157 * Handling strings with NUL characters::
7158 * Container data types::
7159 * Recognizing Option Arguments::
7160 * Quoting::
7161 * progname and getprogname::
7162 * gcd::
7163 * Profiling of program phases::
7164 * Library version handling::
7165 * Supporting Relocation::
7166 * func::
7167 * stat-size::
7168 @end menu
7170 @node alloca
7171 @section alloca
7172 @findex alloca
7173 @include alloca.texi
7175 @node alloca-opt
7176 @section alloca-opt
7177 @findex alloca
7178 @include alloca-opt.texi
7180 @include safe-alloc.texi
7182 @include attribute.texi
7184 @include verify.texi
7186 @include noreturn.texi
7188 @include intprops.texi
7190 @include static-inline.texi
7192 @include extern-inline.texi
7194 @include xstdopen.texi
7196 @include string-desc.texi
7198 @include containers.texi
7200 @include argmatch.texi
7202 @include quote.texi
7204 @include progname.texi
7206 @include gcd.texi
7208 @include timevar.texi
7210 @include check-version.texi
7212 @include relocatable-maint.texi
7214 @include func.texi
7216 @include stat-size.texi
7219 @node Regular expressions
7220 @chapter Regular expressions
7222 @menu
7223 * Overview::
7224 * Regular Expression Syntax::
7225 * Common Operators::
7226 * GNU Operators::
7227 * What Gets Matched?::
7228 * Programming with Regex::
7229 * Regular expression syntaxes::
7230 @end menu
7232 @lowersections
7233 @include regex.texi
7234 @raisesections
7236 @node Regular expression syntaxes
7237 @section Regular expression syntaxes
7239 Gnulib supports many different types of regular expressions; although
7240 the underlying features are the same or identical, the syntax used
7241 varies.  The descriptions given here for the different types are
7242 generated automatically.
7244 @include regexprops-generic.texi
7247 @node Build Infrastructure Modules
7248 @chapter Build Infrastructure Modules
7250 Gnulib has a couple of modules that don't provide code, but rather
7251 extend the GNU Build System.  That is, they are convenience facilities
7252 for use with GNU Automake (in particular).
7254 @menu
7255 * Searching for Libraries::
7256 * Exported Symbols of Shared Libraries::
7257 * LD Version Scripts::
7258 * configmake::
7259 * warnings::
7260 * manywarnings::
7261 * Running self-tests under valgrind::
7262 * VCS To ChangeLog::
7263 * gitlog-to-changelog::
7264 @end menu
7266 @include havelib.texi
7268 @include lib-symbol-visibility.texi
7270 @include ld-version-script.texi
7272 @include configmake.texi
7274 @include warnings.texi
7276 @include manywarnings.texi
7278 @include valgrind-tests.texi
7280 @include vcs-to-changelog.texi
7282 @include gitlog-to-changelog.texi
7285 @node Build Infrastructure Files
7286 @chapter Build Infrastructure Files
7288 Gnulib contains also a small number of files that are not part of
7289 modules.  They are meant to be imported into packages by means of
7290 @samp{gnulib-tool --copy-file}, not @samp{gnulib-tool --import}.  For
7291 example, the commands to import the files @code{config.guess} and
7292 @code{config.sub} are
7293 @smallexample
7294 for file in config.guess config.sub; do
7295   $GNULIB_TOOL --copy-file build-aux/$file \
7296     && chmod a+x build-aux/$file \
7297     || exit $?
7298 done
7299 @end smallexample
7301 Packages that don't use Gnulib can get hold of these files through
7302 direct download from Gnulib's git repository.  The commands to do this
7303 look as follows:
7304 @smallexample
7305 for file in config.guess config.sub; do
7306   echo "$0: getting $file..."
7307   wget -q --timeout=5 -O build-aux/$file.tmp "https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/$@{file@};hb=HEAD" \
7308     && mv build-aux/$file.tmp build-aux/$file \
7309     && chmod a+x build-aux/$file
7310   retval=$?
7311   rm -f build-aux/$file.tmp
7312   test $retval -eq 0 || exit $retval
7313 done
7314 @end smallexample
7316 @menu
7317 * Recognizing platforms::
7318 * Utilities for Makefiles::
7319 * Developer tools::
7320 * For building documentation::
7321 * For building libraries::
7322 * For running tests::
7323 @end menu
7325 @node Recognizing platforms
7326 @section Recognizing platforms
7328 @table @code
7329 @item build-aux/config.guess
7330 @itemx build-aux/config.sub
7331 These files are helper scripts, invoked by the @samp{configure} script.
7332 @code{config.guess} recognizes the platform on which the script is
7333 running, and produces a triplet of the form
7334 @code{@var{cpu-type}-@var{vendor}-@var{operating_system}}.
7335 @code{config.sub} receives a possibly abbreviated triplet and produces a
7336 canonical triplet for a platform.  For more information, see
7337 @ifinfo
7338 @ref{Configuration,,,standards}.
7339 @end ifinfo
7340 @ifnotinfo
7341 @url{https://www.gnu.org/prep/standards/html_node/Configuration.html}.
7342 @end ifnotinfo
7343 @end table
7345 It is important that you always include the newest versions of these two
7346 files in your tarball, because people who work on emerging platforms
7347 otherwise have a hard time building your package.
7349 @node Utilities for Makefiles
7350 @section Utilities for Makefiles
7352 These programs can be used in Makefiles.  Some
7353 of them are also described in
7354 @ifinfo
7355 @ref{Auxiliary Programs,,,automake}.
7356 @end ifinfo
7357 @ifnotinfo
7358 @url{https://www.gnu.org/software/automake/manual/html_node/Auxiliary-Programs.html}.
7359 @end ifnotinfo
7361 @table @code
7362 @item build-aux/ar-lib
7363 @itemx build-aux/compile
7364 These two scripts are necessary for supporting portability to native
7365 Windows with the MSVC compiler.  @code{compile} is a wrapper script that
7366 invokes the compiler and provides a command-line interface compatible
7367 with Unix compilers.  Similarly, @code{ar-lib} is a wrapper script that
7368 provides a command-line interface compatible with Unix @code{ar}.
7369 @item build-aux/depcomp
7370 This is a helper script, used by Makefile rules generated by GNU
7371 Automake.  It generates Makefile dependencies while compiling a file.
7372 @item build-aux/install-sh
7373 This is a helper script, used by Makefile rules generated by GNU
7374 Automake.  It installs files during the @code{make install} phase.  In
7375 the Makefile, don't use this file directly; always use
7376 @code{$(INSTALL_PROGRAM)} or @code{$(INSTALL_DATA)} instead.
7377 @item build-aux/mdate-sh
7378 This script determines the modification time of a file and pretty-prints
7379 it.  The typical use is to add a ``Last modified'' line to the
7380 documentation.
7381 @item build-aux/mkinstalldirs
7382 This is a helper script, used by Makefile rules generated by GNU
7383 Automake.  It creates directories during the @code{make install} phase.
7384 It is roughly equivalent to @samp{mkdir -p} (except that the latter is
7385 not portable).  In the Makefile, don't use this file directly; always
7386 use @code{$(MKDIR_P)} instead.
7387 @item build-aux/mktempd
7388 This script creates a temporary directory.  It is roughly equivalent to
7389 @samp{mktemp -d} (except that the latter is not portable).
7390 @item build-aux/move-if-change
7391 This script moves a freshly generated file to a destination file, with a
7392 special optimization for the case that both files are identical.  In
7393 this case the freshly generated file is deleted, and the time stamp of
7394 the destination file is @emph{not} changed.  This is useful when
7395 updating a file that rarely actually changes and which many Makefile
7396 targets depend upon.
7397 @end table
7399 @node Developer tools
7400 @section Programs for developing in Git checkouts
7402 These programs can help when developing in a Git
7403 checkout.  The maintainer of the package copies these programs into the
7404 version control of the package, so that co-developers can use these
7405 tools right away.
7407 @table @code
7408 @item top/gitsub.sh
7409 This program manages the subdirectories of a Git checkout that come from
7410 other packages, including Gnulib.
7412 @item top/bootstrap
7413 @itemx top/autopull.sh
7414 @itemx top/autogen.sh
7415 @itemx top/bootstrap-funclib.sh
7416 This is a set of three programs and a function library, that manage
7417 the source directory of a package, preparing for the state where
7418 @samp{./configure} can be used.
7420 @code{autopull.sh} is a program for fetching dependencies that may
7421 require network accesses.  It manages the Git submodules, including
7422 Gnulib -- assuming that Gnulib is a Git submodule. It also can fetch
7423 the PO files for internationalized packages.
7425 @code{autogen.sh} is a program that is meant to be run after
7426 @code{autopull.sh}.  It generates all autogeneratable files that are
7427 omitted from version control.  Usually this means that it invokes
7428 @code{gnulib-tool} and @code{automake}, that generate files from other
7429 files.
7431 @code{bootstrap} is a wrapper around both:
7432 @code{./bootstrap --pull} is equivalent to @code{./autopull.sh},
7433 @code{./bootstrap --gen} is equivalent to @code{./autogen.sh}.
7434 Plain @code{./bootstrap} is equivalent to @code{./autopull.sh}
7435 immediately followed by @code{./autogen.sh}; however, because plain
7436 @code{./bootstrap} mixes version control management and
7437 generation of files in non-obvious ways, it has a number of usability
7438 issues for the advanced developer.
7440 @code{bootstrap-funclib.sh} is a function library for these three
7441 programs.  It is not meant to be used directly.
7443 All three programs make use of a configuration file, called
7444 @code{bootstrap.conf}.
7446 @item build-aux/bootstrap
7447 This acts like @code{top/bootstrap}, except it does not
7448 need the companion files @code{autogen.sh},
7449 @code{autopull.sh}, and @code{bootstrap-funclib.sh}
7450 so it avoids some clutter in your project's top level directory.
7451 With this approach, you update via @code{./bootstrap --pull} and
7452 @code{./bootstrap --gen} instead of via @code{./autopull.sh} and
7453 @code{./autogen.sh}.  Otherwise this approach acts similarly, and
7454 uses the same @code{bootstrap.conf} file.
7456 @item build-aux/bootstrap.conf
7457 This is the template configuration file.  After copying it into the
7458 top-level directory of your package, you need to customize it.
7460 @item build-aux/po/Makefile.in.in
7461 @itemx build-aux/po/remove-potcdate.sin
7462 These are auxiliary files used by @code{bootstrap}.  You don't have to
7463 copy them yourself; @code{bootstrap} will do that.
7464 @end table
7466 @node For building documentation
7467 @section Utilities for building documentation
7469 These are auxiliary files for building documentation.
7471 @table @code
7472 @item build-aux/texinfo.tex
7473 This file is needed for the conversion of Texinfo-format documentation
7474 to PDF, PostScript, or DVI formats.  It implements the GNU Texinfo
7475 commands on top of plain TeX.
7476 @item build-aux/x-to-1.in
7477 This file, once processed, gives a program @code{x-to-1}, that produces
7478 a manual page for a program, by combining a skeleton with the program's
7479 @code{--help} output.
7480 @end table
7482 @node For building libraries
7483 @section Utilities for building libraries
7485 @table @code
7486 @item build-aux/declared.sh
7487 This program extracts the declared global symbols of a C header file.
7488 It is useful when you want to control the set of symbols exported by a
7489 library.  See @ref{Exported Symbols of Shared Libraries}.
7490 @end table
7492 @node For running tests
7493 @section Utilities for running test suites
7495 @table @code
7496 @item build-aux/run-test
7497 This file is a test driver that supports running a test under
7498 @code{valgrind}.
7499 @item build-aux/test-driver.diff
7500 This is a patch, against Automake's test driver, that supports running a
7501 test suite on Android.
7502 @end table
7505 @node Release Management Files
7506 @chapter Release Management Files
7508 Gnulib also contain a few scripts that are useful for the release
7509 management of a package.  They can be used directly off the Gnulib
7510 checkout; they don't need to copied first.
7512 @menu
7513 * For building shared libraries::
7514 * For uploading releases::
7515 @end menu
7517 @node For building shared libraries
7518 @section Tools for releasing packages with shared libraries
7520 @table @code
7521 @item build-aux/libtool-next-version
7522 This program is a wizard that helps a maintainer update the libtool
7523 version of a shared library, without making mistakes in this process.
7524 For background documentation, see
7525 @ifinfo
7526 @ref{Updating version info,,,libtool}.
7527 @end ifinfo
7528 @ifnotinfo
7529 @url{https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html}.
7530 @end ifnotinfo
7531 @end table
7533 @node For uploading releases
7534 @section Tools for uploading release tarballs
7536 @table @code
7537 @item build-aux/gnupload
7538 This program is a user-friendly way to upload a release tarball to one of
7539 the GNU servers (@code{ftp.gnu.org} or @code{alpha.gnu.org}).  It
7540 implements the interface described in
7541 @ifinfo
7542 @ref{Automated FTP Uploads,,,maintain}.
7543 @end ifinfo
7544 @ifnotinfo
7545 @url{https://www.gnu.org/prep/maintain/html_node/Automated-FTP-Uploads.html}.
7546 @end ifnotinfo
7547 @item build-aux/ncftpput-ftp
7548 This is a helper program that mimics the @code{ncftpput} program used by
7549 @code{gnupload}.  If you want to use @code{gnupload} but don't have
7550 @code{ncftp} installed, copy this file into your $PATH, renaming it to
7551 @code{ncftpput}.
7552 @end table
7555 @node GNU Free Documentation License
7556 @appendix GNU Free Documentation License
7558 @include fdl-1.3.texi
7561 @node Gnulib history
7562 @appendix Gnulib history
7564 @include gnulib-history.texi
7567 @node Index
7568 @unnumbered Index
7570 @printindex cp
7572 @bye
7574 @c Local Variables:
7575 @c indent-tabs-mode: nil
7576 @c whitespace-check-buffer-indent: nil
7577 @c End: