From c35f7836a95cd9875af1ff8a59a33a8e19f4d873 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 12 Jan 2008 16:28:52 +0100 Subject: [PATCH] Add documentation chapter about the glibc header files. --- ChangeLog | 34 ++++++++++++++++++ doc/glibc-headers/a.out.texi | 22 ++++++++++++ doc/glibc-headers/aliases.texi | 26 ++++++++++++++ doc/glibc-headers/alloca.texi | 30 ++++++++++++++++ doc/glibc-headers/ar.texi | 19 ++++++++++ doc/glibc-headers/argp.texi | 26 ++++++++++++++ doc/glibc-headers/argz.texi | 31 ++++++++++++++++ doc/glibc-headers/byteswap.texi | 18 ++++++++++ doc/glibc-headers/crypt.texi | 44 +++++++++++++++++++++++ doc/glibc-headers/endian.texi | 19 ++++++++++ doc/glibc-headers/envz.texi | 28 +++++++++++++++ doc/glibc-headers/err.texi | 32 +++++++++++++++++ doc/glibc-headers/error.texi | 32 +++++++++++++++++ doc/glibc-headers/execinfo.texi | 31 ++++++++++++++++ doc/glibc-headers/fpu_control.texi | 19 ++++++++++ doc/glibc-headers/fstab.texi | 36 +++++++++++++++++++ doc/glibc-headers/fts.texi | 25 +++++++++++++ doc/glibc-headers/getopt.texi | 42 ++++++++++++++++++++++ doc/glibc-headers/ieee754.texi | 18 ++++++++++ doc/glibc-headers/ifaddrs.texi | 24 +++++++++++++ doc/glibc-headers/libintl.texi | 43 ++++++++++++++++++++++ doc/glibc-headers/mcheck.texi | 30 ++++++++++++++++ doc/glibc-headers/mntent.texi | 38 ++++++++++++++++++++ doc/glibc-headers/obstack.texi | 26 ++++++++++++++ doc/glibc-headers/paths.texi | 19 ++++++++++ doc/glibc-headers/printf.texi | 32 +++++++++++++++++ doc/glibc-headers/pty.texi | 30 ++++++++++++++++ doc/glibc-headers/resolv.texi | 34 ++++++++++++++++++ doc/glibc-headers/shadow.texi | 39 ++++++++++++++++++++ doc/glibc-headers/sysexits.texi | 20 +++++++++++ doc/glibc-headers/ttyent.texi | 24 +++++++++++++ doc/gnulib.texi | 73 ++++++++++++++++++++++++++++++++++++++ 32 files changed, 964 insertions(+) create mode 100644 doc/glibc-headers/a.out.texi create mode 100644 doc/glibc-headers/aliases.texi create mode 100644 doc/glibc-headers/alloca.texi create mode 100644 doc/glibc-headers/ar.texi create mode 100644 doc/glibc-headers/argp.texi create mode 100644 doc/glibc-headers/argz.texi create mode 100644 doc/glibc-headers/byteswap.texi create mode 100644 doc/glibc-headers/crypt.texi create mode 100644 doc/glibc-headers/endian.texi create mode 100644 doc/glibc-headers/envz.texi create mode 100644 doc/glibc-headers/err.texi create mode 100644 doc/glibc-headers/error.texi create mode 100644 doc/glibc-headers/execinfo.texi create mode 100644 doc/glibc-headers/fpu_control.texi create mode 100644 doc/glibc-headers/fstab.texi create mode 100644 doc/glibc-headers/fts.texi create mode 100644 doc/glibc-headers/getopt.texi create mode 100644 doc/glibc-headers/ieee754.texi create mode 100644 doc/glibc-headers/ifaddrs.texi create mode 100644 doc/glibc-headers/libintl.texi create mode 100644 doc/glibc-headers/mcheck.texi create mode 100644 doc/glibc-headers/mntent.texi create mode 100644 doc/glibc-headers/obstack.texi create mode 100644 doc/glibc-headers/paths.texi create mode 100644 doc/glibc-headers/printf.texi create mode 100644 doc/glibc-headers/pty.texi create mode 100644 doc/glibc-headers/resolv.texi create mode 100644 doc/glibc-headers/shadow.texi create mode 100644 doc/glibc-headers/sysexits.texi create mode 100644 doc/glibc-headers/ttyent.texi diff --git a/ChangeLog b/ChangeLog index 2d785fc1c..cd3a69956 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,37 @@ +2008-01-12 Bruno Haible + + * doc/gnulib.texi (Glibc Header File Substitutes): New chapter. + * doc/glibc-headers/a.out.texi: New file. + * doc/glibc-headers/aliases.texi: New file. + * doc/glibc-headers/alloca.texi: New file. + * doc/glibc-headers/ar.texi: New file. + * doc/glibc-headers/argp.texi: New file. + * doc/glibc-headers/argz.texi: New file. + * doc/glibc-headers/byteswap.texi: New file. + * doc/glibc-headers/crypt.texi: New file. + * doc/glibc-headers/endian.texi: New file. + * doc/glibc-headers/envz.texi: New file. + * doc/glibc-headers/err.texi: New file. + * doc/glibc-headers/error.texi: New file. + * doc/glibc-headers/execinfo.texi: New file. + * doc/glibc-headers/fpu_control.texi: New file. + * doc/glibc-headers/fstab.texi: New file. + * doc/glibc-headers/fts.texi: New file. + * doc/glibc-headers/getopt.texi: New file. + * doc/glibc-headers/ieee754.texi: New file. + * doc/glibc-headers/ifaddrs.texi: New file. + * doc/glibc-headers/libintl.texi: New file. + * doc/glibc-headers/mcheck.texi: New file. + * doc/glibc-headers/mntent.texi: New file. + * doc/glibc-headers/obstack.texi: New file. + * doc/glibc-headers/paths.texi: New file. + * doc/glibc-headers/printf.texi: New file. + * doc/glibc-headers/pty.texi: New file. + * doc/glibc-headers/resolv.texi: New file. + * doc/glibc-headers/shadow.texi: New file. + * doc/glibc-headers/sysexits.texi: New file. + * doc/glibc-headers/ttyent.texi: New file. + 2008-01-12 Jim Meyering announce-gen: emit Gnulib's git-based version string. diff --git a/doc/glibc-headers/a.out.texi b/doc/glibc-headers/a.out.texi new file mode 100644 index 000000000..c4cdc927a --- /dev/null +++ b/doc/glibc-headers/a.out.texi @@ -0,0 +1,22 @@ +@node a.out.h +@section @file{a.out.h} + +Describes the structure of executables (and object files?) in the old +@code{a.out} format. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, Solaris 10, mingw, Interix 3.5, BeOS. +@item +This header file is useless because most executables and object files are +in ELF format on some platforms: +glibc 2.3.6, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8. +@end itemize diff --git a/doc/glibc-headers/aliases.texi b/doc/glibc-headers/aliases.texi new file mode 100644 index 000000000..48d86ac8c --- /dev/null +++ b/doc/glibc-headers/aliases.texi @@ -0,0 +1,26 @@ +@node aliases.h +@section @file{aliases.h} + +Defines the type @code{struct aliasent} and declares the functions +@code{setaliasent}, @code{endaliasent}, +@code{getaliasent}, @code{getaliasent_r}, +@code{getaliasbyname}, @code{getaliasbyname_r}. + +Documentation: +@itemize +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/setaliasent.3.html,,man setaliasent}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/alloca.texi b/doc/glibc-headers/alloca.texi new file mode 100644 index 000000000..c23248be6 --- /dev/null +++ b/doc/glibc-headers/alloca.texi @@ -0,0 +1,30 @@ +@node alloca.h +@section @file{alloca.h} + +Declares the @code{alloca} function of function-like macro. + +Documentation: +@itemize +@item +@ifinfo +@ref{Variable Size Automatic,,Automatic Storage with Variable Size,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Variable-Size-Automatic.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/alloca.3.html,,man alloca}. +@end itemize + +Gnulib module: alloca + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, mingw. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/ar.texi b/doc/glibc-headers/ar.texi new file mode 100644 index 000000000..5b353c5dd --- /dev/null +++ b/doc/glibc-headers/ar.texi @@ -0,0 +1,19 @@ +@node ar.h +@section @file{ar.h} + +Describes the structure of files produced by the @samp{ar} program. +Defines the type @code{struct ar_hdr} and the macros @code{ARMAG}, +@code{SARMAG}, @code{ARFMAG}. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +mingw, BeOS. +@end itemize diff --git a/doc/glibc-headers/argp.texi b/doc/glibc-headers/argp.texi new file mode 100644 index 000000000..5c983b76e --- /dev/null +++ b/doc/glibc-headers/argp.texi @@ -0,0 +1,26 @@ +@node argp.h +@section @file{argp.h} + +Documentation: +@itemize +@item +@ifinfo +@ref{Argp,,Parsing Program Options with Argp,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Argp.html}. +@end ifnotinfo +@end itemize + +Gnulib module: argp + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/argz.texi b/doc/glibc-headers/argz.texi new file mode 100644 index 000000000..3720e04db --- /dev/null +++ b/doc/glibc-headers/argz.texi @@ -0,0 +1,31 @@ +@node argz.h +@section @file{argz.h} + +Documentation: +@itemize +@item +@ifinfo +@ref{Argz Functions,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Argz-Functions.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/argz.3.html,,man argz}. +@end itemize + +Gnulib module: argz + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +@item +The argz functions do not work on some platforms: +Cygwin. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/byteswap.texi b/doc/glibc-headers/byteswap.texi new file mode 100644 index 000000000..d85a8f3cc --- /dev/null +++ b/doc/glibc-headers/byteswap.texi @@ -0,0 +1,18 @@ +@node byteswap.h +@section @file{byteswap.h} + +Defines the functions or function-like macros @code{bswap_16}, @code{bswap_32}, +@code{bswap_64}. + +Gnulib module: byteswap + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/crypt.texi b/doc/glibc-headers/crypt.texi new file mode 100644 index 000000000..0ea311393 --- /dev/null +++ b/doc/glibc-headers/crypt.texi @@ -0,0 +1,44 @@ +@node crypt.h +@section @file{crypt.h} + +Defines the type @code{struct crypt_data} and declares the functions +@code{crypt}, @code{crypt_r}, +@code{setkey}, @code{setkey_r}, +@code{encrypt}, @code{encrypt_r}. + +Documentation: +@itemize +@item +@ifinfo +@ref{crypt,,Encrypting Passwords,libc}, +@ref{DES Encryption,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/crypt.html}, +@url{http://www.gnu.org/software/libc/manual/html_node/DES-Encryption.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/crypt.3.html,,man crypt}, +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/encrypt.3.html,,man encrypt}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, mingw, Interix 3.5, BeOS. +@item +The functions @code{crypt}, @code{setkey}, @code{encrypt} are missing on some +platforms: +HP-UX 11, OSF/1 5.1. +@item +The type @code{struct crypt_data} and the functions @code{crypt_r}, +@code{setkey_r}, @code{encrypt_r} are missing on some platforms: +IRIX 6.5, Solaris 10, Cygwin. +@end itemize diff --git a/doc/glibc-headers/endian.texi b/doc/glibc-headers/endian.texi new file mode 100644 index 000000000..28dd87335 --- /dev/null +++ b/doc/glibc-headers/endian.texi @@ -0,0 +1,19 @@ +@node endian.h +@section @file{endian.h} + +Describe's the platform's endianness (byte ordering of words stored in memory). +Defines the macros @code{BYTE_ORDER}, @code{LITTLE_ENDIAN}, @code{BIG_ENDIAN}, +@code{PDP_ENDIAN}. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5. +@end itemize diff --git a/doc/glibc-headers/envz.texi b/doc/glibc-headers/envz.texi new file mode 100644 index 000000000..c06797801 --- /dev/null +++ b/doc/glibc-headers/envz.texi @@ -0,0 +1,28 @@ +@node envz.h +@section @file{envz.h} + +Documentation: +@itemize +@item +@ifinfo +@ref{Envz Functions,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Envz-Functions.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/envz.3.html,,man envz}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/err.texi b/doc/glibc-headers/err.texi new file mode 100644 index 000000000..a4235ce95 --- /dev/null +++ b/doc/glibc-headers/err.texi @@ -0,0 +1,32 @@ +@node err.h +@section @file{err.h} + +Declares the functions +@code{warn}, @code{vwarn}, @code{warnx}, @code{vwarnx}, +@code{err}, @code{verr}, @code{errx}, @code{verrx}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Error Messages,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Error-Messages.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/err.3.html,,man err}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +@end itemize diff --git a/doc/glibc-headers/error.texi b/doc/glibc-headers/error.texi new file mode 100644 index 000000000..7a437974c --- /dev/null +++ b/doc/glibc-headers/error.texi @@ -0,0 +1,32 @@ +@node error.h +@section @file{error.h} + +Declares the functions @code{error}, @code{error_at_line} and the variables +@code{error_print_progname}, @code{error_message_count}, +@code{error_one_per_line}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Error Messages,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Error-Messages.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/error.3.html,,man error}. +@end itemize + +Gnulib module: error + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/execinfo.texi b/doc/glibc-headers/execinfo.texi new file mode 100644 index 000000000..a2e722bd7 --- /dev/null +++ b/doc/glibc-headers/execinfo.texi @@ -0,0 +1,31 @@ +@node execinfo.h +@section @file{execinfo.h} + +Declares the functions @code{backtrace}, @code{backtrace_symbols}, +@code{backtrace_symbols_fd}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Backtraces,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Backtraces.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/backtrace.3.html,,man backtrace}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/fpu_control.texi b/doc/glibc-headers/fpu_control.texi new file mode 100644 index 000000000..6187d5f23 --- /dev/null +++ b/doc/glibc-headers/fpu_control.texi @@ -0,0 +1,19 @@ +@node fpu_control.h +@section @file{fpu_control.h} + +Handling of the FPU control word. Defines the @code{fpu_control_t} type, +declares the @code{__fpu_control} variable, and defines the @code{_FPU_GETCW}, +@code{_FPU_SETCW} macros. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/fstab.texi b/doc/glibc-headers/fstab.texi new file mode 100644 index 000000000..426ff6099 --- /dev/null +++ b/doc/glibc-headers/fstab.texi @@ -0,0 +1,36 @@ +@node fstab.h +@section @file{fstab.h} + +Defines the type @code{struct fstab}, the macros @code{FSTAB_*}, +@code{_PATH_FSTAB}, and declares the functions +@code{setfsent}, @code{endfsent}, +@code{getfsent}, @code{getfsspec}, @code{getfsfile}. + +Documentation: +@itemize +@item +@ifinfo +@ref{fstab,,The `fstab' file,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/fstab.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/setfsent.3.html,,man setfsent}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +IRIX 6.5, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@item +The macro @code{_PATH_FSTAB} is missing on some platforms: +AIX 5.1, HP-UX 11. +@end itemize diff --git a/doc/glibc-headers/fts.texi b/doc/glibc-headers/fts.texi new file mode 100644 index 000000000..2190de8de --- /dev/null +++ b/doc/glibc-headers/fts.texi @@ -0,0 +1,25 @@ +@node fts.h +@section @file{fts.h} + +Defines the types @code{FTS}, @code{FTSENT} and the macros @code{FTS_*}, +and declares the functions @code{fts_open}, @code{fts_read}, +@code{fts_children}, @code{fts_set}, @code{fts_close}. + +Documentation: +@itemize +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/fts.3.html,,man fts}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, mingw, BeOS. +@end itemize diff --git a/doc/glibc-headers/getopt.texi b/doc/glibc-headers/getopt.texi new file mode 100644 index 000000000..b112ab6f5 --- /dev/null +++ b/doc/glibc-headers/getopt.texi @@ -0,0 +1,42 @@ +@node getopt.h +@section @file{getopt.h} + +Defines the type @code{struct option} and declares the variables +@code{optarg}, @code{optind}, @code{opterr}, @code{optopt} +and the functions @code{getopt}, @code{getopt_long}, @code{getopt_long_only}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Getopt,,Parsing program options using `getopt',libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Getopt.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/getopt.3.html,,man getopt}. +@end itemize + +Gnulib module: getopt + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +AIX 5.1, HP-UX 11, Interix 3.5. +@item +The function @code{getopt_long_only} is missing on some platforms: +MacOS X 10.3, FreeBSD 5.2.1, NetBSD 3.0, IRIX 6.5, OSF/1 5.1, mingw. +@item +The method to reset options is incompatible on some platforms: +FreeBSD 6.0, NetBSD 3.0(?), OpenBSD 3.8, Cygwin(?), mingw. +@item +The function @code{getopt} does not handle a leading @samp{+} character in +the options string on some platforms: +Solaris 10. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/ieee754.texi b/doc/glibc-headers/ieee754.texi new file mode 100644 index 000000000..1132f9451 --- /dev/null +++ b/doc/glibc-headers/ieee754.texi @@ -0,0 +1,18 @@ +@node ieee754.h +@section @file{ieee754.h} + +Defines the types @code{union ieee754_float}, @code{union ieee754_double}, +@code{union ieee854_long_double}. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/ifaddrs.texi b/doc/glibc-headers/ifaddrs.texi new file mode 100644 index 000000000..7856ce880 --- /dev/null +++ b/doc/glibc-headers/ifaddrs.texi @@ -0,0 +1,24 @@ +@node ifaddrs.h +@section @file{ifaddrs.h} + +Defines the type @code{struct ifaddrs} and declares the functions +@code{getifaddrs}, @code{freeifaddrs}. + +Documentation: +@itemize +@item +@url{http://ecos.sourceware.org/docs-latest/ref/net-common-tcpip-manpages-getifaddrs.html}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/libintl.texi b/doc/glibc-headers/libintl.texi new file mode 100644 index 000000000..e4b126359 --- /dev/null +++ b/doc/glibc-headers/libintl.texi @@ -0,0 +1,43 @@ +@node libintl.h +@section @file{libintl.h} + +Defines the macros @code{__USE_GNU_GETTEXT}, +@code{__GNU_GETTEXT_SUPPORTED_REVISION}, and declares the functions +@code{gettext}, @code{dgettext}, @code{dcgettext}, +@code{ngettext}, @code{dngettext}, @code{dcngettext}, +@code{textdomain}, @code{bindtextdomain}, @code{bind_textdomain_codeset}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Message catalogs with gettext,,The `gettext' family of functions,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Message-catalogs-with-gettext.html}, +@end ifnotinfo +@item +@ifinfo +@ref{gettext,,,gettext}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/gettext/manual/html_node/gettext.html}. +@end ifnotinfo +@end itemize + +Gnulib module: gettext + +Portability problems fixed by Gnulib, if GNU gettext is installed: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, mingw, Interix 3.5, BeOS. +@item +The functions cannot deal with GNU .mo files with system-dependent strings +(of major version 1 or of minor version 1) on some non-glibc platforms: +NetBSD 3.0, Solaris 10. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/mcheck.texi b/doc/glibc-headers/mcheck.texi new file mode 100644 index 000000000..28e0581f7 --- /dev/null +++ b/doc/glibc-headers/mcheck.texi @@ -0,0 +1,30 @@ +@node mcheck.h +@section @file{mcheck.h} + +Defines the type @code{enum mcheck_status} and declares the functions +@code{mcheck}, @code{mcheck_pedantic}, @code{mcheck_check_all}, @code{mprobe}, +@code{mtrace}, @code{muntrace}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Heap Consistency Checking,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Heap-Consistency-Checking.html}. +@end ifnotinfo +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on all non-glibc platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/glibc-headers/mntent.texi b/doc/glibc-headers/mntent.texi new file mode 100644 index 000000000..0067a2dab --- /dev/null +++ b/doc/glibc-headers/mntent.texi @@ -0,0 +1,38 @@ +@node mntent.h +@section @file{mntent.h} + +Defines the type @code{struct mntent} and the macros @code{MNTTAB}, +@code{MOUNTED}, @code{MNTTYPE_*}, @code{MNTOPT_*}, and declares the functions +@code{setmntent}, @code{getmntent}, @code{getmntent_r}, @code{addmntent}, +@code{endmntent}, @code{hasmntopt}. + +Documentation: +@itemize +@item +@ifinfo +@ref{mtab,,The `mtab' file,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/mtab.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/setmntent.3.html,,man setmntent}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, OSF/1 5.1, Solaris 10, mingw, Interix 3.5, BeOS. +@item +The function @code{getmntent_r} is missing on all non-glibc platforms: +AIX 5.1, HP-UX 11, IRIX 6.5, Cygwin. +@end itemize + +Gnulib module @code{mountlist} provides a higher-level abstraction. diff --git a/doc/glibc-headers/obstack.texi b/doc/glibc-headers/obstack.texi new file mode 100644 index 000000000..725626791 --- /dev/null +++ b/doc/glibc-headers/obstack.texi @@ -0,0 +1,26 @@ +@node obstack.h +@section @file{obstack.h} + +Documentation: +@itemize +@item +@ifinfo +@ref{Obstacks,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Obstacks.html}. +@end ifnotinfo +@end itemize + +Gnulib module: obstack + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/paths.texi b/doc/glibc-headers/paths.texi new file mode 100644 index 000000000..ce5a0cc09 --- /dev/null +++ b/doc/glibc-headers/paths.texi @@ -0,0 +1,19 @@ +@node paths.h +@section @file{paths.h} + +Defines the macros @code{_PATH_*}. + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +HP-UX 11, Solaris 10, mingw, BeOS. +@item +The set of @code{_PATH_*} macros is platform dependent. +@end itemize diff --git a/doc/glibc-headers/printf.texi b/doc/glibc-headers/printf.texi new file mode 100644 index 000000000..74f9b60a7 --- /dev/null +++ b/doc/glibc-headers/printf.texi @@ -0,0 +1,32 @@ +@node printf.h +@section @file{printf.h} + +Defines the type @code{struct printf_info} and the macros and enum values +@code{PA_*}, and declares the functions +@code{printf_function}, @code{printf_arginfo_function}, +@code{register_printf_function}, @code{parse_printf_format}, +@code{printf_size}, @code{printf_size_info}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Parsing a Template String,,,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Parsing-a-Template-String.html}. +@end ifnotinfo +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin, mingw, Interix 3.5. +@end itemize diff --git a/doc/glibc-headers/pty.texi b/doc/glibc-headers/pty.texi new file mode 100644 index 000000000..26d77647f --- /dev/null +++ b/doc/glibc-headers/pty.texi @@ -0,0 +1,30 @@ +@node pty.h +@section @file{pty.h} + +Declares the functions @code{openpty} and @code{forkpty}. + +Documentation: +@itemize +@item +@ifinfo +@ref{Pseudo-Terminal Pairs,,Opening a Pseudo-Terminal Pair,libc}, +@end ifinfo +@ifnotinfo +@url{http://www.gnu.org/software/libc/manual/html_node/Pseudo_002dTerminal-Pairs.html}, +@end ifnotinfo +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/openpty.3.html,,man openpty}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 10, mingw, BeOS. +@end itemize diff --git a/doc/glibc-headers/resolv.texi b/doc/glibc-headers/resolv.texi new file mode 100644 index 000000000..d97958dd0 --- /dev/null +++ b/doc/glibc-headers/resolv.texi @@ -0,0 +1,34 @@ +@node resolv.h +@section @file{resolv.h} + +Defines the types @code{res_sendhookact}, @code{res_send_qhook}, +@code{res_send_rhook}, @code{res_state}, @code{struct res_sym} and the +macros @code{_PATH_RESCONF}, @code{RES_*}, and declares the functions +@code{fp_nquery}, @code{fp_query}, +@code{hostalias}, +@code{p_query}, +@code{res_close}, @code{res_init}, @code{res_isourserver}, +@code{res_mkquery}, @code{res_query}, @code{res_querydomain}, +@code{res_search}, @code{res_send}. + +Documentation: +@itemize +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/res_init.3.html,,man res_init}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +Cygwin, mingw, Interix 3.5, BeOS. +@item +The functions are missing on some platforms: +HP-UX 11. +@end itemize diff --git a/doc/glibc-headers/shadow.texi b/doc/glibc-headers/shadow.texi new file mode 100644 index 000000000..886f6cda4 --- /dev/null +++ b/doc/glibc-headers/shadow.texi @@ -0,0 +1,39 @@ +@node shadow.h +@section @file{shadow.h} + +Defines the type @code{struct spwd} and declares the functions +@code{setspent}, @code{endspent}, +@code{getspent}, @code{getspent_r}, +@code{getspnam}, @code{getspnam_r}, +@code{sgetspent}, @code{sgetspent_r}, +@code{fgetspent}, @code{fgetspent_r}, +@code{putspent}, +@code{lckpwdf}, @code{ulckpwdf}. + +Documentation: +@itemize +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/setspent.3.html,,man setspent}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 5.1, OSF/1 5.1, Cygwin, mingw, Interix 3.5, BeOS. +@item +The functions @code{getspent_r}, @code{getspnam_r}, @code{sgetspent_r}, +@code{fgetspent}, @code{fgetspent_r}, @code{putspent} are missing on some +platforms: +HP-UX 11. +@item +The functions @code{sgetspent}, @code{sgetspent_r} are missing on some +platforms: +IRIX 6.5, Solaris 10. +@end itemize diff --git a/doc/glibc-headers/sysexits.texi b/doc/glibc-headers/sysexits.texi new file mode 100644 index 000000000..3db771a58 --- /dev/null +++ b/doc/glibc-headers/sysexits.texi @@ -0,0 +1,20 @@ +@node sysexits.h +@section @file{sysexits.h} + +Defines the @code{EX_*} macros, including @code{EX_OK}. + +Gnulib module: sysexits + +Portability problems fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +mingw, Interix 3.5, BeOS. +@item +The macro @code{EX_CONFIG} is missing on some platforms: +HP-UX 11. +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@end itemize diff --git a/doc/glibc-headers/ttyent.texi b/doc/glibc-headers/ttyent.texi new file mode 100644 index 000000000..d7b653653 --- /dev/null +++ b/doc/glibc-headers/ttyent.texi @@ -0,0 +1,24 @@ +@node ttyent.h +@section @file{ttyent.h} + +Defines the type @code{struct ttyent} and declares the functions +@code{setttyent}, @code{endttyent}, @code{getttyent}, @code{getttynam}. + +Documentation: +@itemize +@item +@uref{http://www.kernel.org/doc/man-pages/online/pages/man3/setttyent.3.html,,man setttyent}. +@end itemize + +Gnulib module: --- + +Portability problems fixed by Gnulib: +@itemize +@end itemize + +Portability problems not fixed by Gnulib: +@itemize +@item +This header file is missing on some platforms: +HP-UX 11, IRIX 6.5, Solaris 10, Cygwin, mingw, Interix 3.5, BeOS. +@end itemize diff --git a/doc/gnulib.texi b/doc/gnulib.texi index e68ca2934..fdab409ef 100644 --- a/doc/gnulib.texi +++ b/doc/gnulib.texi @@ -58,6 +58,7 @@ Texts. A copy of the license is included in the section entitled * POSIX Substitutes Library:: Building as a separate substitutes library. * Header File Substitutes:: Overriding system headers. * Function Substitutes:: Replacing system functions. +* Glibc Header File Substitutes:: Overriding system headers. * Particular Modules:: Documentation of individual modules. * GNU Free Documentation License:: Copying and sharing this manual. * Index:: @@ -2889,6 +2890,78 @@ If you need this particular function, you may write to @include functions/y1.texi @include functions/yn.texi +@node Glibc Header File Substitutes +@chapter Glibc Header File Substitutes + +This chapter describes which header files contained in GNU libc but not +specified by ISO C or POSIX are substituted by Gnulib, which portability +pitfalls are fixed by Gnulib, and which (known) portability problems are +not worked around by Gnulib. + +@menu +* a.out.h:: +* aliases.h:: +* alloca.h:: +* ar.h:: +* argp.h:: +* argz.h:: +* byteswap.h:: +* crypt.h:: +* endian.h:: +* envz.h:: +* err.h:: +* error.h:: +* execinfo.h:: +* fpu_control.h:: +* fstab.h:: +* fts.h:: +* getopt.h:: +* ieee754.h:: +* ifaddrs.h:: +* libintl.h:: +* mcheck.h:: +* mntent.h:: +* obstack.h:: +* paths.h:: +* printf.h:: +* pty.h:: +* resolv.h:: +* shadow.h:: +* sysexits.h:: +* ttyent.h:: +@end menu + +@include glibc-headers/a.out.texi +@include glibc-headers/aliases.texi +@include glibc-headers/alloca.texi +@include glibc-headers/ar.texi +@include glibc-headers/argp.texi +@include glibc-headers/argz.texi +@include glibc-headers/byteswap.texi +@include glibc-headers/crypt.texi +@include glibc-headers/endian.texi +@include glibc-headers/envz.texi +@include glibc-headers/err.texi +@include glibc-headers/error.texi +@include glibc-headers/execinfo.texi +@include glibc-headers/fpu_control.texi +@include glibc-headers/fstab.texi +@include glibc-headers/fts.texi +@include glibc-headers/getopt.texi +@include glibc-headers/ieee754.texi +@include glibc-headers/ifaddrs.texi +@include glibc-headers/libintl.texi +@include glibc-headers/mcheck.texi +@include glibc-headers/mntent.texi +@include glibc-headers/obstack.texi +@include glibc-headers/paths.texi +@include glibc-headers/printf.texi +@include glibc-headers/pty.texi +@include glibc-headers/resolv.texi +@include glibc-headers/shadow.texi +@include glibc-headers/sysexits.texi +@include glibc-headers/ttyent.texi + @node Particular Modules @chapter Particular Modules -- 2.11.0