I wrote and Eric Blake agreed: > | If gnulib implements a significant number of functions specified by glibc > | - strsignal was just mentioned - then I'm in favour two additional chapters > | * GNU libc Header File Substitutes > | * GNU libc Function Substitutes > | that makes it clear that these are not POSIX inventions but glibc or BSD > | or SysV inventions.
Here comes the documentation for the first part, the glibc header files. 2008-01-12 Bruno Haible <[EMAIL PROTECTED]> * 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. Changing permissions from . to 100644 *** doc/glibc-headers/a.out.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/a.out.texi 2008-01-12 10:46:35.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/aliases.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/aliases.texi 2008-01-12 16:12:25.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/alloca.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/alloca.texi 2008-01-12 16:12:51.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/ar.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/ar.texi 2008-01-12 10:55:57.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/argp.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/argp.texi 2008-01-12 16:13:00.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/argz.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/argz.texi 2008-01-12 16:13:11.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/byteswap.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/byteswap.texi 2008-01-12 14:24:52.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/crypt.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/crypt.texi 2008-01-12 16:13:38.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/endian.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/endian.texi 2008-01-12 14:35:12.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/envz.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/envz.texi 2008-01-12 16:14:12.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/err.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/err.texi 2008-01-12 16:14:26.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/error.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/error.texi 2008-01-12 16:14:39.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/execinfo.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/execinfo.texi 2008-01-12 16:14:53.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/fpu_control.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/fpu_control.texi 2008-01-12 11:22:20.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/fstab.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/fstab.texi 2008-01-12 16:15:05.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/fts.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/fts.texi 2008-01-12 16:15:15.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/getopt.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/getopt.texi 2008-01-12 16:15:26.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/ieee754.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/ieee754.texi 2008-01-12 11:23:25.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/ifaddrs.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/ifaddrs.texi 2008-01-12 16:15:39.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/libintl.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/libintl.texi 2008-01-12 16:16:11.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/mcheck.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/mcheck.texi 2008-01-12 16:16:21.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/mntent.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/mntent.texi 2008-01-12 16:16:32.000000000 +0100 *************** *** 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. Changing permissions from . to 100644 *** doc/glibc-headers/obstack.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/obstack.texi 2008-01-12 16:16:43.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/paths.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/paths.texi 2008-01-12 15:00:51.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/printf.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/printf.texi 2008-01-12 16:16:52.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/pty.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/pty.texi 2008-01-12 16:17:05.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/resolv.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/resolv.texi 2008-01-12 16:17:17.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/shadow.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/shadow.texi 2008-01-12 16:17:29.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/sysexits.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/sysexits.texi 2008-01-12 15:11:51.000000000 +0100 *************** *** 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 Changing permissions from . to 100644 *** doc/glibc-headers/ttyent.texi.orig 2003-09-23 19:59:22.000000000 +0200 --- doc/glibc-headers/ttyent.texi 2008-01-12 16:17:39.000000000 +0100 *************** *** 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 *** doc/gnulib.texi.orig 2008-01-12 16:24:45.000000000 +0100 --- doc/gnulib.texi 2008-01-12 16:24:18.000000000 +0100 *************** *** 58,63 **** --- 58,64 ---- * 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,2894 **** --- 2890,2967 ---- @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