\input texinfo @c -*-texinfo-*-
-@comment $Id: gnulib.texi,v 1.44 2007-09-09 13:20:45 haible Exp $
@comment %**start of header
@setfilename gnulib.info
@settitle GNU Gnulib
@end ifclear
@comment %**end of header
-@set UPDATED $Date: 2007-09-09 13:20:45 $
+@comment Defines the UPDATED variable.
+@include updated-stamp
@copying
This manual is for GNU Gnulib (updated @value{UPDATED}),
which is a library of common routines intended to be shared at the
source level.
-Copyright @copyright{} 2004, 2005, 2006, 2007, 2008 Free Software
-Foundation, Inc.
+Copyright @copyright{} 2004-2009 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts. A copy of the license is included in the section entitled
-``GNU Free Documentation License.''
+Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
+copy of the license is included in the section entitled ``GNU Free
+Documentation License''.
@end copying
@dircategory Software development
* POSIX Substitutes Library:: Building as a separate substitutes library.
* Header File Substitutes:: Overriding system headers.
* Function Substitutes:: Replacing system functions.
+* Legacy Function Substitutes:: Replacing system functions.
* Glibc Header File Substitutes:: Overriding system headers.
* Glibc Function Substitutes:: Replacing system functions.
* Particular Modules:: Documentation of individual modules.
* Index::
@end menu
+@c This is used at the beginning of four chapters.
+@macro nosuchmodulenote{thing}
+The notation ``Gnulib module: ---'' means that Gnulib does not provide a
+module providing a substitute for the \thing\. When the list
+``Portability problems not fixed by Gnulib'' is empty, such a module is
+not needed: No portability problems are known. Otherwise, it indicates
+that such a module would be useful but is not available: No one so far
+found this \thing\ important enough to contribute a substitute for it.
+If you need this particular \thing\, you may write to
+@w{@code{<bug-gnulib at gnu dot org>}}.
+@end macro
+
+
@node Introduction
@chapter Introduction
@end itemize
@menu
+* Benefits::
* Library vs Reusable Code::
* Portability and Application Code::
* Modules::
* Comments::
* Header files::
* Out of memory handling::
+* Obsolete modules::
* Library version handling::
* Windows sockets::
* Libtool and Windows::
your header file as something available for C programs only, or for C
and C++ programs alike.
+Note that putting a @code{#include} in an @code{extern "C" @{ ... @}}
+block yields a syntax error in C++ mode on some platforms (e.g., glibc
+systems with g++ v3.3 to v4.2, AIX, OSF/1, IRIX). For this reason, it
+is recommended to place the @code{#include} before the @code{extern
+"C"} block.
+
@subheading Include ordering
When writing a gnulib module, or even in general, a good way to order
fail.
+@node Obsolete modules
+@section Obsolete modules
+
+@cindex Obsolete modules
+Modules can be marked obsolete. This means that the problems they fix
+don't occur any more on the platforms that are reasonable porting targets
+now. @code{gnulib-tool} warns when obsolete modules are mentioned on the
+command line, and by default ignores dependencies from modules to obsolete
+modules. When you pass the option @code{--with-obsolete} to
+@code{gnulib-tool}, dependencies to obsolete modules will be included,
+however, unless blocked through an @code{--avoid} option. This option
+is useful if your package should be portable even to very old platforms.
+
+In order to mark a module obsolete, you need to add this to the module
+description:
+
+@example
+Status:
+obsolete
+
+Notice:
+This module is obsolete.
+@end example
+
+
@node Library version handling
@section Library version handling
The getaddrinfo function exists in ws2tcpip.h and -lws2_32 on Windows
XP. The function declaration is present if @code{WINVER >= 0x0501}.
-Windows 2000 does not have getaddrinfo in its @file{WS2_32.dll}.
+Windows 2000 does not have getaddrinfo in its @file{WS2_32.DLL}.
Thus, if you want to assume Windows XP or later, you can add
AC_DEFINE(WINVER, 0x0501) to avoid compiling to (partial) getaddrinfo
implementation.
-If you want to support Windows 2000, don't do anything, but be aware
-that gnulib will use its own (partial) getaddrinfo implementation even
-on Windows XP. Currently the code does not attempt to determine if
-the getaddrinfo function is available during runtime.
-
-Todo: Make getaddrinfo.c open the WS2_32.DLL and check for the
-getaddrinfo symbol and use it if present, otherwise fall back to our
-own implementation.
-
+If you want to support Windows 2000, don't do anything. The
+replacement function will open @file{WS2_32.DLL} during run-time to
+see if there is a getaddrinfo function available, and use it when
+available.
@node Libtool and Windows
@section Libtool and Windows
gnulib git or cvs checkout (typically a Linux machine), use
@example
-gnulib-tool --create-megatestdir --with-tests --dir=..."
+gnulib-tool --create-megatestdir --with-tests --dir=...
@end example
Note: The created directory uses ca. 512 MB on disk.
substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and
which (known) portability problems are not worked around by Gnulib.
+@nosuchmodulenote header file
+
@menu
* aio.h::
* arpa/inet.h::
fixed by Gnulib, and which (known) portability problems are not worked around
by Gnulib.
-The notation ``Gnulib module: ---'' means that Gnulib does not provide a
-module providing a substitute for the function. When the list
-``Portability problems not fixed by Gnulib'' is empty, such a module is
-not needed: No portability problems are known. Otherwise, it indicates
-that such a module would be useful but is not available: No one so far
-found this function important enough to contribute a substitute for it.
-If you need this particular function, you may write to
-@code{<bug-gnulib at gnu dot org>}.
+@nosuchmodulenote function
@menu
* FD_CLR::
* aio_suspend::
* aio_write::
* alarm::
+* alphasort::
* asctime::
* asctime_r::
* asin::
* atol::
* atoll::
* basename::
-* bcmp::
-* bcopy::
* bind::
-* bsd_signal::
* bsearch::
* btowc::
-* bzero::
* cabs::
* cabsf::
* cabsl::
* dbm_open::
* dbm_store::
* difftime::
+* dirfd::
* dirname::
* div::
* dlclose::
* dlerror::
* dlopen::
* dlsym::
+* dprintf::
* drand48::
* dup::
* dup2::
-* ecvt::
+* duplocale::
* encrypt::
* endgrent::
* endhostent::
* fabs::
* fabsf::
* fabsl::
+* faccessat::
* fattach::
* fchdir::
* fchmod::
+* fchmodat::
* fchown::
+* fchownat::
* fclose::
* fcntl::
-* fcvt::
* fdatasync::
* fdetach::
* fdim::
* fdimf::
* fdiml::
* fdopen::
+* fdopendir::
* feclearexcept::
* fegetenv::
* fegetexceptflag::
* fesetround::
* fetestexcept::
* feupdateenv::
+* fexecve::
* fflush::
* ffs::
* fgetc::
* fmax::
* fmaxf::
* fmaxl::
+* fmemopen::
* fmin::
* fminf::
* fminl::
* fread::
* free::
* freeaddrinfo::
+* freelocale::
* freopen::
* frexp::
* frexpf::
* fseeko::
* fsetpos::
* fstat::
+* fstatat::
* fstatvfs::
* fsync::
* ftell::
* ftello::
-* ftime::
* ftok::
* ftruncate::
* ftrylockfile::
* ftw::
* funlockfile::
+* futimens::
* fwide::
* fwprintf::
* fwrite::
* fwscanf::
* gai_strerror::
-* gcvt::
* getaddrinfo::
* getc::
* getc_unlocked::
* getchar::
* getchar_unlocked::
-* getcontext::
* getcwd::
* getdate::
+* getdate_err::
* getdelim::
* getegid::
* getenv::
* getgrnam::
* getgrnam_r::
* getgroups::
-* gethostbyaddr::
-* gethostbyname::
* gethostent::
* gethostid::
* gethostname::
* getutxline::
* getwc::
* getwchar::
-* getwd::
* glob::
* globfree::
* gmtime::
* gmtime_r::
* grantpt::
-* h_errno::
* hcreate::
* hdestroy::
* hsearch::
* ilogbl::
* imaxabs::
* imaxdiv::
-* index::
* inet_addr::
* inet_ntoa::
* inet_ntop::
* insque::
* ioctl::
* isalnum::
+* isalnum_l::
* isalpha::
+* isalpha_l::
* isascii::
* isastream::
* isatty::
* isblank::
+* isblank_l::
* iscntrl::
+* iscntrl_l::
* isdigit::
+* isdigit_l::
* isfinite::
* isgraph::
+* isgraph_l::
* isgreater::
* isgreaterequal::
* isinf::
* islessequal::
* islessgreater::
* islower::
+* islower_l::
* isnan::
* isnormal::
* isprint::
+* isprint_l::
* ispunct::
+* ispunct_l::
* isspace::
+* isspace_l::
* isunordered::
* isupper::
+* isupper_l::
* iswalnum::
+* iswalnum_l::
* iswalpha::
+* iswalpha_l::
* iswblank::
+* iswblank_l::
* iswcntrl::
+* iswcntrl_l::
* iswctype::
+* iswctype_l::
* iswdigit::
+* iswdigit_l::
* iswgraph::
+* iswgraph_l::
* iswlower::
+* iswlower_l::
* iswprint::
+* iswprint_l::
* iswpunct::
+* iswpunct_l::
* iswspace::
+* iswspace_l::
* iswupper::
+* iswupper_l::
* iswxdigit::
+* iswxdigit_l::
* isxdigit::
+* isxdigit_l::
* j0::
* j1::
* jn::
* lgammaf::
* lgammal::
* link::
+* linkat::
* lio_listio::
* listen::
* llabs::
* lsearch::
* lseek::
* lstat::
-* makecontext::
* malloc::
* mblen::
* mbrlen::
* mbrtowc::
* mbsinit::
+* mbsnrtowcs::
* mbsrtowcs::
* mbstowcs::
* mbtowc::
* memmove::
* memset::
* mkdir::
+* mkdirat::
+* mkdtemp::
* mkfifo::
+* mkfifoat::
* mknod::
+* mknodat::
* mkstemp::
-* mktemp::
* mktime::
* mlock::
* mlockall::
* nearbyint::
* nearbyintf::
* nearbyintl::
+* newlocale::
* nextafter::
* nextafterf::
* nextafterl::
* nftw::
* nice::
* nl_langinfo::
+* nl_langinfo_l::
* nrand48::
* ntohl::
* ntohs::
* open::
+* openat::
* opendir::
* openlog::
+* open_memstream::
+* open_wmemstream::
* optarg::
+* opterr::
+* optind::
+* optopt::
* pathconf::
* pause::
* pclose::
* pread::
* printf::
* pselect::
+* psiginfo::
+* psignal::
* pthread_atfork::
* pthread_attr_destroy::
* pthread_attr_getdetachstate::
* pthread_attr_getschedpolicy::
* pthread_attr_getscope::
* pthread_attr_getstack::
-* pthread_attr_getstackaddr::
* pthread_attr_getstacksize::
* pthread_attr_init::
* pthread_attr_setdetachstate::
* pthread_attr_setschedpolicy::
* pthread_attr_setscope::
* pthread_attr_setstack::
-* pthread_attr_setstackaddr::
* pthread_attr_setstacksize::
* pthread_barrier_destroy::
* pthread_barrier_init::
* pthread_key_create::
* pthread_key_delete::
* pthread_kill::
+* pthread_mutex_consistent::
* pthread_mutex_destroy::
* pthread_mutex_getprioceiling::
* pthread_mutex_init::
* pthread_mutexattr_getprioceiling::
* pthread_mutexattr_getprotocol::
* pthread_mutexattr_getpshared::
+* pthread_mutexattr_getrobust::
* pthread_mutexattr_gettype::
* pthread_mutexattr_init::
* pthread_mutexattr_setprioceiling::
* pthread_mutexattr_setprotocol::
* pthread_mutexattr_setpshared::
+* pthread_mutexattr_setrobust::
* pthread_mutexattr_settype::
* pthread_once::
* pthread_rwlock_destroy::
* readdir::
* readdir_r::
* readlink::
+* readlinkat::
* readv::
* realloc::
* realpath::
* remquof::
* remquol::
* rename::
+* renameat::
* rewind::
* rewinddir::
-* rindex::
* rint::
* rintf::
* rintl::
* round::
* roundf::
* roundl::
-* scalb::
* scalbln::
* scalblnf::
* scalblnl::
* scalbn::
* scalbnf::
* scalbnl::
+* scandir::
* scanf::
* sched_get_priority_max::
+* sched_get_priority_min::
* sched_getparam::
* sched_getscheduler::
* sched_rr_get_interval::
* sendmsg::
* sendto::
* setbuf::
-* setcontext::
* setegid::
* setenv::
* seteuid::
* siglongjmp::
* signal::
* signbit::
+* signgam::
* sigpause::
* sigpending::
* sigprocmask::
* stderr::
* stdin::
* stdout::
+* stpcpy::
+* stpncpy::
* strcasecmp::
+* strcasecmp_l::
* strcat::
* strchr::
* strcmp::
* strcoll::
+* strcoll_l::
* strcpy::
* strcspn::
* strdup::
* strerror::
+* strerror_l::
* strerror_r::
* strfmon::
+* strfmon_l::
* strftime::
+* strftime_l::
* strlen::
* strncasecmp::
+* strncasecmp_l::
* strncat::
* strncmp::
* strncpy::
+* strndup::
+* strnlen::
* strpbrk::
* strptime::
* strrchr::
+* strsignal::
* strspn::
* strstr::
* strtod::
* strtoull::
* strtoumax::
* strxfrm::
+* strxfrm_l::
* swab::
-* swapcontext::
* swprintf::
* swscanf::
* symlink::
+* symlinkat::
* sync::
* sysconf::
* syslog::
* timer_create::
* timer_delete::
* timer_getoverrun::
+* timer_gettime::
* timer_settime::
* times::
* timezone::
* tmpnam::
* toascii::
* tolower::
+* tolower_l::
* toupper::
+* toupper_l::
* towctrans::
+* towctrans_l::
* towlower::
+* towlower_l::
* towupper::
+* towupper_l::
* trunc::
* truncate::
* truncf::
* twalk::
* tzname::
* tzset::
-* ualarm::
* ulimit::
* umask::
* uname::
* ungetc::
* ungetwc::
* unlink::
+* unlinkat::
* unlockpt::
* unsetenv::
-* usleep::
+* uselocale::
* utime::
+* utimensat::
* utimes::
* va_arg::
* va_copy::
* va_end::
* va_start::
-* vfork::
+* vdprintf::
* vfprintf::
* vfscanf::
* vfwprintf::
* wait::
* waitid::
* waitpid::
+* wcpcpy::
+* wcpncpy::
* wcrtomb::
+* wcscasecmp::
+* wcscasecmp_l::
* wcscat::
* wcschr::
* wcscmp::
* wcscoll::
+* wcscoll_l::
* wcscpy::
* wcscspn::
+* wcsdup::
* wcsftime::
* wcslen::
+* wcsncasecmp::
+* wcsncasecmp_l::
* wcsncat::
* wcsncmp::
* wcsncpy::
+* wcsnlen::
+* wcsnrtombs::
* wcspbrk::
* wcsrchr::
* wcsrtombs::
* wcstoul::
* wcstoull::
* wcstoumax::
-* wcswcs::
* wcswidth::
* wcsxfrm::
+* wcsxfrm_l::
* wctob::
* wctomb::
* wctrans::
+* wctrans_l::
* wctype::
+* wctype_l::
* wcwidth::
* wmemchr::
* wmemcmp::
@include posix-functions/aio_suspend.texi
@include posix-functions/aio_write.texi
@include posix-functions/alarm.texi
+@include posix-functions/alphasort.texi
@include posix-functions/asctime.texi
@include posix-functions/asctime_r.texi
@include posix-functions/asin.texi
@include posix-functions/atol.texi
@include posix-functions/atoll.texi
@include posix-functions/basename.texi
-@include posix-functions/bcmp.texi
-@include posix-functions/bcopy.texi
@include posix-functions/bind.texi
-@include posix-functions/bsd_signal.texi
@include posix-functions/bsearch.texi
@include posix-functions/btowc.texi
-@include posix-functions/bzero.texi
@include posix-functions/cabs.texi
@include posix-functions/cabsf.texi
@include posix-functions/cabsl.texi
@include posix-functions/dbm_open.texi
@include posix-functions/dbm_store.texi
@include posix-functions/difftime.texi
+@include posix-functions/dirfd.texi
@include posix-functions/dirname.texi
@include posix-functions/div.texi
@include posix-functions/dlclose.texi
@include posix-functions/dlerror.texi
@include posix-functions/dlopen.texi
@include posix-functions/dlsym.texi
+@include posix-functions/dprintf.texi
@include posix-functions/drand48.texi
@include posix-functions/dup.texi
@include posix-functions/dup2.texi
-@include posix-functions/ecvt.texi
+@include posix-functions/duplocale.texi
@include posix-functions/encrypt.texi
@include posix-functions/endgrent.texi
@include posix-functions/endhostent.texi
@include posix-functions/fabs.texi
@include posix-functions/fabsf.texi
@include posix-functions/fabsl.texi
+@include posix-functions/faccessat.texi
@include posix-functions/fattach.texi
@include posix-functions/fchdir.texi
@include posix-functions/fchmod.texi
+@include posix-functions/fchmodat.texi
@include posix-functions/fchown.texi
+@include posix-functions/fchownat.texi
@include posix-functions/fclose.texi
@include posix-functions/fcntl.texi
-@include posix-functions/fcvt.texi
@include posix-functions/fdatasync.texi
@include posix-functions/fdetach.texi
@include posix-functions/fdim.texi
@include posix-functions/fdimf.texi
@include posix-functions/fdiml.texi
@include posix-functions/fdopen.texi
+@include posix-functions/fdopendir.texi
@include posix-functions/feclearexcept.texi
@include posix-functions/fegetenv.texi
@include posix-functions/fegetexceptflag.texi
@include posix-functions/fesetround.texi
@include posix-functions/fetestexcept.texi
@include posix-functions/feupdateenv.texi
+@include posix-functions/fexecve.texi
@include posix-functions/fflush.texi
@include posix-functions/ffs.texi
@include posix-functions/fgetc.texi
@include posix-functions/fmax.texi
@include posix-functions/fmaxf.texi
@include posix-functions/fmaxl.texi
+@include posix-functions/fmemopen.texi
@include posix-functions/fmin.texi
@include posix-functions/fminf.texi
@include posix-functions/fminl.texi
@include posix-functions/fread.texi
@include posix-functions/free.texi
@include posix-functions/freeaddrinfo.texi
+@include posix-functions/freelocale.texi
@include posix-functions/freopen.texi
@include posix-functions/frexp.texi
@include posix-functions/frexpf.texi
@include posix-functions/fseeko.texi
@include posix-functions/fsetpos.texi
@include posix-functions/fstat.texi
+@include posix-functions/fstatat.texi
@include posix-functions/fstatvfs.texi
@include posix-functions/fsync.texi
@include posix-functions/ftell.texi
@include posix-functions/ftello.texi
-@include posix-functions/ftime.texi
@include posix-functions/ftok.texi
@include posix-functions/ftruncate.texi
@include posix-functions/ftrylockfile.texi
@include posix-functions/ftw.texi
@include posix-functions/funlockfile.texi
+@include posix-functions/futimens.texi
@include posix-functions/fwide.texi
@include posix-functions/fwprintf.texi
@include posix-functions/fwrite.texi
@include posix-functions/fwscanf.texi
@include posix-functions/gai_strerror.texi
-@include posix-functions/gcvt.texi
@include posix-functions/getaddrinfo.texi
@include posix-functions/getc.texi
@include posix-functions/getc_unlocked.texi
@include posix-functions/getchar.texi
@include posix-functions/getchar_unlocked.texi
-@include posix-functions/getcontext.texi
@include posix-functions/getcwd.texi
@include posix-functions/getdate.texi
+@include posix-functions/getdate_err.texi
@include posix-functions/getdelim.texi
@include posix-functions/getegid.texi
@include posix-functions/getenv.texi
@include posix-functions/getgrnam.texi
@include posix-functions/getgrnam_r.texi
@include posix-functions/getgroups.texi
-@include posix-functions/gethostbyaddr.texi
-@include posix-functions/gethostbyname.texi
@include posix-functions/gethostent.texi
@include posix-functions/gethostid.texi
@include posix-functions/gethostname.texi
@include posix-functions/getutxline.texi
@include posix-functions/getwc.texi
@include posix-functions/getwchar.texi
-@include posix-functions/getwd.texi
@include posix-functions/glob.texi
@include posix-functions/globfree.texi
@include posix-functions/gmtime.texi
@include posix-functions/gmtime_r.texi
@include posix-functions/grantpt.texi
-@include posix-functions/h_errno.texi
@include posix-functions/hcreate.texi
@include posix-functions/hdestroy.texi
@include posix-functions/hsearch.texi
@include posix-functions/ilogbl.texi
@include posix-functions/imaxabs.texi
@include posix-functions/imaxdiv.texi
-@include posix-functions/index.texi
@include posix-functions/inet_addr.texi
@include posix-functions/inet_ntoa.texi
@include posix-functions/inet_ntop.texi
@include posix-functions/insque.texi
@include posix-functions/ioctl.texi
@include posix-functions/isalnum.texi
+@include posix-functions/isalnum_l.texi
@include posix-functions/isalpha.texi
+@include posix-functions/isalpha_l.texi
@include posix-functions/isascii.texi
@include posix-functions/isastream.texi
@include posix-functions/isatty.texi
@include posix-functions/isblank.texi
+@include posix-functions/isblank_l.texi
@include posix-functions/iscntrl.texi
+@include posix-functions/iscntrl_l.texi
@include posix-functions/isdigit.texi
+@include posix-functions/isdigit_l.texi
@include posix-functions/isfinite.texi
@include posix-functions/isgraph.texi
+@include posix-functions/isgraph_l.texi
@include posix-functions/isgreater.texi
@include posix-functions/isgreaterequal.texi
@include posix-functions/isinf.texi
@include posix-functions/islessequal.texi
@include posix-functions/islessgreater.texi
@include posix-functions/islower.texi
+@include posix-functions/islower_l.texi
@include posix-functions/isnan.texi
@include posix-functions/isnormal.texi
@include posix-functions/isprint.texi
+@include posix-functions/isprint_l.texi
@include posix-functions/ispunct.texi
+@include posix-functions/ispunct_l.texi
@include posix-functions/isspace.texi
+@include posix-functions/isspace_l.texi
@include posix-functions/isunordered.texi
@include posix-functions/isupper.texi
+@include posix-functions/isupper_l.texi
@include posix-functions/iswalnum.texi
+@include posix-functions/iswalnum_l.texi
@include posix-functions/iswalpha.texi
+@include posix-functions/iswalpha_l.texi
@include posix-functions/iswblank.texi
+@include posix-functions/iswblank_l.texi
@include posix-functions/iswcntrl.texi
+@include posix-functions/iswcntrl_l.texi
@include posix-functions/iswctype.texi
+@include posix-functions/iswctype_l.texi
@include posix-functions/iswdigit.texi
+@include posix-functions/iswdigit_l.texi
@include posix-functions/iswgraph.texi
+@include posix-functions/iswgraph_l.texi
@include posix-functions/iswlower.texi
+@include posix-functions/iswlower_l.texi
@include posix-functions/iswprint.texi
+@include posix-functions/iswprint_l.texi
@include posix-functions/iswpunct.texi
+@include posix-functions/iswpunct_l.texi
@include posix-functions/iswspace.texi
+@include posix-functions/iswspace_l.texi
@include posix-functions/iswupper.texi
+@include posix-functions/iswupper_l.texi
@include posix-functions/iswxdigit.texi
+@include posix-functions/iswxdigit_l.texi
@include posix-functions/isxdigit.texi
+@include posix-functions/isxdigit_l.texi
@include posix-functions/j0.texi
@include posix-functions/j1.texi
@include posix-functions/jn.texi
@include posix-functions/lgammaf.texi
@include posix-functions/lgammal.texi
@include posix-functions/link.texi
+@include posix-functions/linkat.texi
@include posix-functions/lio_listio.texi
@include posix-functions/listen.texi
@include posix-functions/llabs.texi
@include posix-functions/lsearch.texi
@include posix-functions/lseek.texi
@include posix-functions/lstat.texi
-@include posix-functions/makecontext.texi
@include posix-functions/malloc.texi
@include posix-functions/mblen.texi
@include posix-functions/mbrlen.texi
@include posix-functions/mbrtowc.texi
@include posix-functions/mbsinit.texi
+@include posix-functions/mbsnrtowcs.texi
@include posix-functions/mbsrtowcs.texi
@include posix-functions/mbstowcs.texi
@include posix-functions/mbtowc.texi
@include posix-functions/memmove.texi
@include posix-functions/memset.texi
@include posix-functions/mkdir.texi
+@include posix-functions/mkdirat.texi
+@include posix-functions/mkdtemp.texi
@include posix-functions/mkfifo.texi
+@include posix-functions/mkfifoat.texi
@include posix-functions/mknod.texi
+@include posix-functions/mknodat.texi
@include posix-functions/mkstemp.texi
-@include posix-functions/mktemp.texi
@include posix-functions/mktime.texi
@include posix-functions/mlock.texi
@include posix-functions/mlockall.texi
@include posix-functions/nearbyint.texi
@include posix-functions/nearbyintf.texi
@include posix-functions/nearbyintl.texi
+@include posix-functions/newlocale.texi
@include posix-functions/nextafter.texi
@include posix-functions/nextafterf.texi
@include posix-functions/nextafterl.texi
@include posix-functions/nftw.texi
@include posix-functions/nice.texi
@include posix-functions/nl_langinfo.texi
+@include posix-functions/nl_langinfo_l.texi
@include posix-functions/nrand48.texi
@include posix-functions/ntohl.texi
@include posix-functions/ntohs.texi
@include posix-functions/open.texi
+@include posix-functions/openat.texi
@include posix-functions/opendir.texi
@include posix-functions/openlog.texi
+@include posix-functions/open_memstream.texi
+@include posix-functions/open_wmemstream.texi
@include posix-functions/optarg.texi
+@include posix-functions/opterr.texi
+@include posix-functions/optind.texi
+@include posix-functions/optopt.texi
@include posix-functions/pathconf.texi
@include posix-functions/pause.texi
@include posix-functions/pclose.texi
@include posix-functions/pread.texi
@include posix-functions/printf.texi
@include posix-functions/pselect.texi
+@include posix-functions/psiginfo.texi
+@include posix-functions/psignal.texi
@include posix-functions/pthread_atfork.texi
@include posix-functions/pthread_attr_destroy.texi
@include posix-functions/pthread_attr_getdetachstate.texi
@include posix-functions/pthread_attr_getschedpolicy.texi
@include posix-functions/pthread_attr_getscope.texi
@include posix-functions/pthread_attr_getstack.texi
-@include posix-functions/pthread_attr_getstackaddr.texi
@include posix-functions/pthread_attr_getstacksize.texi
@include posix-functions/pthread_attr_init.texi
@include posix-functions/pthread_attr_setdetachstate.texi
@include posix-functions/pthread_attr_setschedpolicy.texi
@include posix-functions/pthread_attr_setscope.texi
@include posix-functions/pthread_attr_setstack.texi
-@include posix-functions/pthread_attr_setstackaddr.texi
@include posix-functions/pthread_attr_setstacksize.texi
@include posix-functions/pthread_barrier_destroy.texi
@include posix-functions/pthread_barrier_init.texi
@include posix-functions/pthread_key_create.texi
@include posix-functions/pthread_key_delete.texi
@include posix-functions/pthread_kill.texi
+@include posix-functions/pthread_mutex_consistent.texi
@include posix-functions/pthread_mutex_destroy.texi
@include posix-functions/pthread_mutex_getprioceiling.texi
@include posix-functions/pthread_mutex_init.texi
@include posix-functions/pthread_mutexattr_getprioceiling.texi
@include posix-functions/pthread_mutexattr_getprotocol.texi
@include posix-functions/pthread_mutexattr_getpshared.texi
+@include posix-functions/pthread_mutexattr_getrobust.texi
@include posix-functions/pthread_mutexattr_gettype.texi
@include posix-functions/pthread_mutexattr_init.texi
@include posix-functions/pthread_mutexattr_setprioceiling.texi
@include posix-functions/pthread_mutexattr_setprotocol.texi
@include posix-functions/pthread_mutexattr_setpshared.texi
+@include posix-functions/pthread_mutexattr_setrobust.texi
@include posix-functions/pthread_mutexattr_settype.texi
@include posix-functions/pthread_once.texi
@include posix-functions/pthread_rwlock_destroy.texi
@include posix-functions/readdir.texi
@include posix-functions/readdir_r.texi
@include posix-functions/readlink.texi
+@include posix-functions/readlinkat.texi
@include posix-functions/readv.texi
@include posix-functions/realloc.texi
@include posix-functions/realpath.texi
@include posix-functions/remquof.texi
@include posix-functions/remquol.texi
@include posix-functions/rename.texi
+@include posix-functions/renameat.texi
@include posix-functions/rewind.texi
@include posix-functions/rewinddir.texi
-@include posix-functions/rindex.texi
@include posix-functions/rint.texi
@include posix-functions/rintf.texi
@include posix-functions/rintl.texi
@include posix-functions/round.texi
@include posix-functions/roundf.texi
@include posix-functions/roundl.texi
-@include posix-functions/scalb.texi
@include posix-functions/scalbln.texi
@include posix-functions/scalblnf.texi
@include posix-functions/scalblnl.texi
@include posix-functions/scalbn.texi
@include posix-functions/scalbnf.texi
@include posix-functions/scalbnl.texi
+@include posix-functions/scandir.texi
@include posix-functions/scanf.texi
@include posix-functions/sched_get_priority_max.texi
+@include posix-functions/sched_get_priority_min.texi
@include posix-functions/sched_getparam.texi
@include posix-functions/sched_getscheduler.texi
@include posix-functions/sched_rr_get_interval.texi
@include posix-functions/sendmsg.texi
@include posix-functions/sendto.texi
@include posix-functions/setbuf.texi
-@include posix-functions/setcontext.texi
@include posix-functions/setegid.texi
@include posix-functions/setenv.texi
@include posix-functions/seteuid.texi
@include posix-functions/siglongjmp.texi
@include posix-functions/signal.texi
@include posix-functions/signbit.texi
+@include posix-functions/signgam.texi
@include posix-functions/sigpause.texi
@include posix-functions/sigpending.texi
@include posix-functions/sigprocmask.texi
@include posix-functions/stderr.texi
@include posix-functions/stdin.texi
@include posix-functions/stdout.texi
+@include posix-functions/stpcpy.texi
+@include posix-functions/stpncpy.texi
@include posix-functions/strcasecmp.texi
+@include posix-functions/strcasecmp_l.texi
@include posix-functions/strcat.texi
@include posix-functions/strchr.texi
@include posix-functions/strcmp.texi
@include posix-functions/strcoll.texi
+@include posix-functions/strcoll_l.texi
@include posix-functions/strcpy.texi
@include posix-functions/strcspn.texi
@include posix-functions/strdup.texi
@include posix-functions/strerror.texi
+@include posix-functions/strerror_l.texi
@include posix-functions/strerror_r.texi
@include posix-functions/strfmon.texi
+@include posix-functions/strfmon_l.texi
@include posix-functions/strftime.texi
+@include posix-functions/strftime_l.texi
@include posix-functions/strlen.texi
@include posix-functions/strncasecmp.texi
+@include posix-functions/strncasecmp_l.texi
@include posix-functions/strncat.texi
@include posix-functions/strncmp.texi
@include posix-functions/strncpy.texi
+@include posix-functions/strndup.texi
+@include posix-functions/strnlen.texi
@include posix-functions/strpbrk.texi
@include posix-functions/strptime.texi
@include posix-functions/strrchr.texi
+@include posix-functions/strsignal.texi
@include posix-functions/strspn.texi
@include posix-functions/strstr.texi
@include posix-functions/strtod.texi
@include posix-functions/strtoull.texi
@include posix-functions/strtoumax.texi
@include posix-functions/strxfrm.texi
+@include posix-functions/strxfrm_l.texi
@include posix-functions/swab.texi
-@include posix-functions/swapcontext.texi
@include posix-functions/swprintf.texi
@include posix-functions/swscanf.texi
@include posix-functions/symlink.texi
+@include posix-functions/symlinkat.texi
@include posix-functions/sync.texi
@include posix-functions/sysconf.texi
@include posix-functions/syslog.texi
@include posix-functions/timer_create.texi
@include posix-functions/timer_delete.texi
@include posix-functions/timer_getoverrun.texi
+@include posix-functions/timer_gettime.texi
@include posix-functions/timer_settime.texi
@include posix-functions/times.texi
@include posix-functions/timezone.texi
@include posix-functions/tmpnam.texi
@include posix-functions/toascii.texi
@include posix-functions/tolower.texi
+@include posix-functions/tolower_l.texi
@include posix-functions/toupper.texi
+@include posix-functions/toupper_l.texi
@include posix-functions/towctrans.texi
+@include posix-functions/towctrans_l.texi
@include posix-functions/towlower.texi
+@include posix-functions/towlower_l.texi
@include posix-functions/towupper.texi
+@include posix-functions/towupper_l.texi
@include posix-functions/trunc.texi
@include posix-functions/truncate.texi
@include posix-functions/truncf.texi
@include posix-functions/twalk.texi
@include posix-functions/tzname.texi
@include posix-functions/tzset.texi
-@include posix-functions/ualarm.texi
@include posix-functions/ulimit.texi
@include posix-functions/umask.texi
@include posix-functions/uname.texi
@include posix-functions/ungetc.texi
@include posix-functions/ungetwc.texi
@include posix-functions/unlink.texi
+@include posix-functions/unlinkat.texi
@include posix-functions/unlockpt.texi
@include posix-functions/unsetenv.texi
-@include posix-functions/usleep.texi
+@include posix-functions/uselocale.texi
@include posix-functions/utime.texi
+@include posix-functions/utimensat.texi
@include posix-functions/utimes.texi
@include posix-functions/va_arg.texi
@include posix-functions/va_copy.texi
@include posix-functions/va_end.texi
@include posix-functions/va_start.texi
-@include posix-functions/vfork.texi
+@include posix-functions/vdprintf.texi
@include posix-functions/vfprintf.texi
@include posix-functions/vfscanf.texi
@include posix-functions/vfwprintf.texi
@include posix-functions/wait.texi
@include posix-functions/waitid.texi
@include posix-functions/waitpid.texi
+@include posix-functions/wcpcpy.texi
+@include posix-functions/wcpncpy.texi
@include posix-functions/wcrtomb.texi
+@include posix-functions/wcscasecmp.texi
+@include posix-functions/wcscasecmp_l.texi
@include posix-functions/wcscat.texi
@include posix-functions/wcschr.texi
@include posix-functions/wcscmp.texi
@include posix-functions/wcscoll.texi
+@include posix-functions/wcscoll_l.texi
@include posix-functions/wcscpy.texi
@include posix-functions/wcscspn.texi
+@include posix-functions/wcsdup.texi
@include posix-functions/wcsftime.texi
@include posix-functions/wcslen.texi
+@include posix-functions/wcsncasecmp.texi
+@include posix-functions/wcsncasecmp_l.texi
@include posix-functions/wcsncat.texi
@include posix-functions/wcsncmp.texi
@include posix-functions/wcsncpy.texi
+@include posix-functions/wcsnlen.texi
+@include posix-functions/wcsnrtombs.texi
@include posix-functions/wcspbrk.texi
@include posix-functions/wcsrchr.texi
@include posix-functions/wcsrtombs.texi
@include posix-functions/wcstoul.texi
@include posix-functions/wcstoull.texi
@include posix-functions/wcstoumax.texi
-@include posix-functions/wcswcs.texi
@include posix-functions/wcswidth.texi
@include posix-functions/wcsxfrm.texi
+@include posix-functions/wcsxfrm_l.texi
@include posix-functions/wctob.texi
@include posix-functions/wctomb.texi
@include posix-functions/wctrans.texi
+@include posix-functions/wctrans_l.texi
@include posix-functions/wctype.texi
+@include posix-functions/wctype_l.texi
@include posix-functions/wcwidth.texi
@include posix-functions/wmemchr.texi
@include posix-functions/wmemcmp.texi
@include posix-functions/y1.texi
@include posix-functions/yn.texi
+@node Legacy Function Substitutes
+@chapter Past POSIX Function Substitutes
+
+This chapter describes which functions and function-like macros specified by
+older versions of POSIX (POSIX:2001) are substituted by Gnulib, which
+portability pitfalls are fixed by Gnulib, and which (known) portability
+problems are not worked around by Gnulib.
+
+@nosuchmodulenote function
+
+@menu
+* bcmp::
+* bcopy::
+* bsd_signal::
+* bzero::
+* ecvt::
+* fcvt::
+* ftime::
+* gcvt::
+* getcontext::
+* gethostbyaddr::
+* gethostbyname::
+* getwd::
+* h_errno::
+* index::
+* makecontext::
+* mktemp::
+* pthread_attr_getstackaddr::
+* pthread_attr_setstackaddr::
+* rindex::
+* scalb::
+* setcontext::
+* swapcontext::
+* ualarm::
+* usleep::
+* vfork::
+* wcswcs::
+@end menu
+
+@include pastposix-functions/bcmp.texi
+@include pastposix-functions/bcopy.texi
+@include pastposix-functions/bsd_signal.texi
+@include pastposix-functions/bzero.texi
+@include pastposix-functions/ecvt.texi
+@include pastposix-functions/fcvt.texi
+@include pastposix-functions/ftime.texi
+@include pastposix-functions/gcvt.texi
+@include pastposix-functions/getcontext.texi
+@include pastposix-functions/gethostbyaddr.texi
+@include pastposix-functions/gethostbyname.texi
+@include pastposix-functions/getwd.texi
+@include pastposix-functions/h_errno.texi
+@include pastposix-functions/index.texi
+@include pastposix-functions/makecontext.texi
+@include pastposix-functions/mktemp.texi
+@include pastposix-functions/pthread_attr_getstackaddr.texi
+@include pastposix-functions/pthread_attr_setstackaddr.texi
+@include pastposix-functions/rindex.texi
+@include pastposix-functions/scalb.texi
+@include pastposix-functions/setcontext.texi
+@include pastposix-functions/swapcontext.texi
+@include pastposix-functions/ualarm.texi
+@include pastposix-functions/usleep.texi
+@include pastposix-functions/vfork.texi
+@include pastposix-functions/wcswcs.texi
+
@node Glibc Header File Substitutes
@chapter Glibc Header File Substitutes
pitfalls are fixed by Gnulib, and which (known) portability problems are
not worked around by Gnulib.
+@nosuchmodulenote header file
+
@menu
* a.out.h::
* aliases.h::
* pty.h::
* resolv.h::
* shadow.h::
+* sys/ioctl.h::
* sysexits.h::
* ttyent.h::
@end menu
@include glibc-headers/pty.texi
@include glibc-headers/resolv.texi
@include glibc-headers/shadow.texi
+@include glibc-headers/sys_ioctl.texi
@include glibc-headers/sysexits.texi
@include glibc-headers/ttyent.texi
which portability pitfalls are fixed by Gnulib, and which (known)
portability problems are not worked around by Gnulib.
-The notation ``Gnulib module: ---'' means that Gnulib does not provide a
-module providing a substitute for the function. When the list
-``Portability problems not fixed by Gnulib'' is empty, such a module is
-not needed: No portability problems are known. Otherwise, it indicates
-that such a module would be useful but is not available: No one so far
-found this function important enough to contribute a substitute for it.
-If you need this particular function, you may write to
-@code{<bug-gnulib at gnu dot org>}.
+@nosuchmodulenote function
This list of functions is sorted according to the header that declares them.
@menu
-* Glibc aio.h::
-* Glibc aliases.h::
-* Glibc argp.h::
-* Glibc argz.h::
-* Glibc arpa/inet.h::
-* Glibc byteswap.h::
-* Glibc complex.h::
-* Glibc crypt.h::
-* Glibc ctype.h::
-* Glibc dirent.h::
-* Glibc dlfcn.h::
-* Glibc envz.h::
-* Glibc err.h::
-* Glibc errno.h::
-* Glibc error.h::
-* Glibc execinfo.h::
-* Glibc fcntl.h::
-* Glibc fenv.h::
-* Glibc fmtmsg.h::
-* Glibc fstab.h::
-* Glibc fts.h::
-* Glibc getopt.h::
-* Glibc glob.h::
-* Glibc gnu/libc-version.h::
-* Glibc grp.h::
-* Glibc ifaddrs.h::
-* Glibc langinfo.h::
-* Glibc libintl.h::
-* Glibc link.h::
-* Glibc locale.h::
-* Glibc malloc.h::
-* Glibc math.h::
-* Glibc mcheck.h::
-* Glibc monetary.h::
-* Glibc mntent.h::
-* Glibc netdb.h::
-* Glibc netinet/ether.h::
-* Glibc netinet/in.h::
-* Glibc obstack.h::
-* Glibc printf.h::
-* Glibc pthread.h::
-* Glibc pwd.h::
-* Glibc regex.h::
-* Glibc regexp.h::
-* Glibc resolv.h::
-* Glibc rpc/auth.h::
-* Glibc rpc/auth_des.h::
-* Glibc rpc/auth_unix.h::
-* Glibc rpc/clnt.h::
-* Glibc rpc/des_crypt.h::
-* Glibc rpc/key_prot.h::
-* Glibc rpc/netdb.h::
-* Glibc rpc/pmap_clnt.h::
-* Glibc rpc/pmap_prot.h::
-* Glibc rpc/pmap_rmt.h::
-* Glibc rpc/rpc_msg.h::
-* Glibc rpc/svc.h::
-* Glibc rpc/xdr.h::
-* Glibc rpcsvc/nislib.h::
-* Glibc rpcsvc/nis_callback.h::
-* Glibc rpcsvc/yp.h::
-* Glibc rpcsvc/yp_prot.h::
-* Glibc rpcsvc/ypclnt.h::
-* Glibc rpcsvc/ypupd.h::
-* Glibc sched.h::
-* Glibc search.h::
-* Glibc shadow.h::
-* Glibc signal.h::
-* Glibc stdio.h::
-* Glibc stdlib.h::
-* Glibc string.h::
-* Glibc sys/capability.h::
-* Glibc sys/epoll.h::
-* Glibc sys/file.h::
-* Glibc sys/fsuid.h::
-* Glibc sys/gmon.h::
-* Glibc sys/io.h and sys/perm.h::
-* Glibc sys/kdaemon.h::
-* Glibc sys/klog.h::
-* Glibc sys/mman.h::
-* Glibc sys/mount.h::
-* Glibc sys/personality.h::
-* Glibc sys/prctl.h::
-* Glibc sys/profil.h::
-* Glibc sys/ptrace.h::
-* Glibc sys/quota.h::
-* Glibc sys/reboot.h::
-* Glibc sys/sem.h::
-* Glibc sys/sendfile.h::
-* Glibc sys/socket.h::
-* Glibc sys/stat.h::
-* Glibc sys/statfs.h::
-* Glibc sys/swap.h::
-* Glibc sys/sysctl.h::
-* Glibc sys/sysinfo.h::
-* Glibc sys/syslog.h::
-* Glibc sys/sysmacros.h::
-* Glibc sys/time.h::
-* Glibc sys/timex.h::
-* Glibc sys/ustat.h::
-* Glibc sys/vlimit.h::
-* Glibc sys/vm86.h::
-* Glibc sys/vtimes.h::
-* Glibc sys/wait.h::
-* Glibc sys/xattr.h::
-* Glibc termios.h::
-* Glibc time.h::
-* Glibc ttyent.h::
-* Glibc unistd.h::
-* Glibc utmp.h::
-* Glibc utmpx.h::
-* Glibc wchar.h::
-* Glibc wctype.h::
+* Glibc aio.h::
+* Glibc aliases.h::
+* Glibc argp.h::
+* Glibc argz.h::
+* Glibc arpa/inet.h::
+* Glibc byteswap.h::
+* Glibc complex.h::
+* Glibc crypt.h::
+* Glibc ctype.h::
+* Glibc dirent.h::
+* Glibc dlfcn.h::
+* Glibc envz.h::
+* Glibc err.h::
+* Glibc errno.h::
+* Glibc error.h::
+* Glibc execinfo.h::
+* Glibc fcntl.h::
+* Glibc fenv.h::
+* Glibc fmtmsg.h::
+* Glibc fstab.h::
+* Glibc fts.h::
+* Glibc getopt.h::
+* Glibc glob.h::
+* Glibc gnu/libc-version.h::
+* Glibc grp.h::
+* Glibc ifaddrs.h::
+* Glibc libintl.h::
+* Glibc link.h::
+* Glibc malloc.h::
+* Glibc math.h::
+* Glibc mcheck.h::
+* Glibc mntent.h::
+* Glibc netdb.h::
+* Glibc netinet/ether.h::
+* Glibc netinet/in.h::
+* Glibc obstack.h::
+* Glibc printf.h::
+* Glibc pthread.h::
+* Glibc pwd.h::
+* Glibc regex.h::
+* Glibc regexp.h::
+* Glibc resolv.h::
+* Glibc rpc/auth.h::
+* Glibc rpc/auth_des.h::
+* Glibc rpc/auth_unix.h::
+* Glibc rpc/clnt.h::
+* Glibc rpc/des_crypt.h::
+* Glibc rpc/key_prot.h::
+* Glibc rpc/netdb.h::
+* Glibc rpc/pmap_clnt.h::
+* Glibc rpc/pmap_prot.h::
+* Glibc rpc/pmap_rmt.h::
+* Glibc rpc/rpc_msg.h::
+* Glibc rpc/svc.h::
+* Glibc rpc/xdr.h::
+* Glibc rpcsvc/nislib.h::
+* Glibc rpcsvc/nis_callback.h::
+* Glibc rpcsvc/yp.h::
+* Glibc rpcsvc/yp_prot.h::
+* Glibc rpcsvc/ypclnt.h::
+* Glibc rpcsvc/ypupd.h::
+* Glibc sched.h::
+* Glibc search.h::
+* Glibc shadow.h::
+* Glibc signal.h::
+* Glibc stdio.h::
+* Glibc stdlib.h::
+* Glibc string.h::
+* Glibc sys/capability.h::
+* Glibc sys/epoll.h::
+* Glibc sys/file.h::
+* Glibc sys/fsuid.h::
+* Glibc sys/gmon.h::
+* Glibc sys/io.h and sys/perm.h::
+* Glibc sys/kdaemon.h::
+* Glibc sys/klog.h::
+* Glibc sys/mman.h::
+* Glibc sys/mount.h::
+* Glibc sys/personality.h::
+* Glibc sys/prctl.h::
+* Glibc sys/profil.h::
+* Glibc sys/ptrace.h::
+* Glibc sys/quota.h::
+* Glibc sys/reboot.h::
+* Glibc sys/sem.h::
+* Glibc sys/sendfile.h::
+* Glibc sys/socket.h::
+* Glibc sys/stat.h::
+* Glibc sys/statfs.h::
+* Glibc sys/swap.h::
+* Glibc sys/sysctl.h::
+* Glibc sys/sysinfo.h::
+* Glibc sys/syslog.h::
+* Glibc sys/sysmacros.h::
+* Glibc sys/time.h::
+* Glibc sys/timex.h::
+* Glibc sys/ustat.h::
+* Glibc sys/vlimit.h::
+* Glibc sys/vm86.h::
+* Glibc sys/vtimes.h::
+* Glibc sys/wait.h::
+* Glibc sys/xattr.h::
+* Glibc termios.h::
+* Glibc time.h::
+* Glibc ttyent.h::
+* Glibc unistd.h::
+* Glibc utmp.h::
+* Glibc utmpx.h::
+* Glibc wchar.h::
@end menu
@c @node Glibc a.out.h
@section Glibc Extensions to @code{<ctype.h>}
@menu
-* isalnum_l::
-* isalpha_l::
-* isblank_l::
-* iscntrl_l::
* isctype::
-* isdigit_l::
-* isgraph_l::
-* islower_l::
-* isprint_l::
-* ispunct_l::
-* isspace_l::
-* isupper_l::
-* isxdigit_l::
-* tolower_l::
-* toupper_l::
@end menu
-@include glibc-functions/isalnum_l.texi
-@include glibc-functions/isalpha_l.texi
-@include glibc-functions/isblank_l.texi
-@include glibc-functions/iscntrl_l.texi
@include glibc-functions/isctype.texi
-@include glibc-functions/isdigit_l.texi
-@include glibc-functions/isgraph_l.texi
-@include glibc-functions/islower_l.texi
-@include glibc-functions/isprint_l.texi
-@include glibc-functions/ispunct_l.texi
-@include glibc-functions/isspace_l.texi
-@include glibc-functions/isupper_l.texi
-@include glibc-functions/isxdigit_l.texi
-@include glibc-functions/tolower_l.texi
-@include glibc-functions/toupper_l.texi
@node Glibc dirent.h
@section Glibc Extensions to @code{<dirent.h>}
@menu
-* alphasort::
-* dirfd::
* getdirentries::
-* scandir::
* versionsort::
@end menu
-@include glibc-functions/alphasort.texi
-@include glibc-functions/dirfd.texi
@include glibc-functions/getdirentries.texi
-@include glibc-functions/scandir.texi
@include glibc-functions/versionsort.texi
@node Glibc dlfcn.h
@section Glibc Extensions to @code{<fcntl.h>}
@menu
+* fallocate::
* readahead::
@end menu
+@include glibc-functions/fallocate.texi
@include glibc-functions/readahead.texi
@node Glibc fenv.h
@menu
* getopt_long::
* getopt_long_only::
-* opterr::
-* optind::
-* optopt::
@end menu
@include glibc-functions/getopt_long.texi
@include glibc-functions/getopt_long_only.texi
-@include glibc-functions/opterr.texi
-@include glibc-functions/optind.texi
-@include glibc-functions/optopt.texi
@node Glibc glob.h
@section Glibc Extensions to @code{<glob.h>}
@c @node Glibc iso646.h
@c @section Glibc Extensions to @code{<iso646.h>}
-@node Glibc langinfo.h
-@section Glibc Extensions to @code{<langinfo.h>}
-
-@menu
-* nl_langinfo_l::
-@end menu
-
-@include glibc-functions/nl_langinfo_l.texi
+@c @node Glibc langinfo.h
+@c @section Glibc Extensions to @code{<langinfo.h>}
@c @node Glibc libgen.h
@c @section Glibc Extensions to @code{<libgen.h>}
@include glibc-functions/dl_iterate_phdr.texi
-@node Glibc locale.h
-@section Glibc Extensions to @code{<locale.h>}
-
-@menu
-* duplocale::
-* freelocale::
-* newlocale::
-* uselocale::
-@end menu
-
-@include glibc-functions/duplocale.texi
-@include glibc-functions/freelocale.texi
-@include glibc-functions/newlocale.texi
-@include glibc-functions/uselocale.texi
+@c @node Glibc locale.h
+@c @section Glibc Extensions to @code{<locale.h>}
@node Glibc malloc.h
@section Glibc @code{<malloc.h>}
* pow10l::
* scalbf::
* scalbl::
-* signgam::
* significand::
* significandf::
* significandl::
@include glibc-functions/pow10l.texi
@include glibc-functions/scalbf.texi
@include glibc-functions/scalbl.texi
-@include glibc-functions/signgam.texi
@include glibc-functions/significand.texi
@include glibc-functions/significandf.texi
@include glibc-functions/significandl.texi
@include glibc-functions/mtrace.texi
@include glibc-functions/muntrace.texi
-@node Glibc monetary.h
-@section Glibc Extensions to @code{<monetary.h>}
-
-@menu
-* strfmon_l::
-@end menu
-
-@include glibc-functions/strfmon_l.texi
+@c @node Glibc monetary.h
+@c @section Glibc Extensions to @code{<monetary.h>}
@node Glibc mntent.h
@section Glibc @code{<mntent.h>}
@menu
* clone::
* sched_getaffinity::
-* sched_get_priority_min::
* sched_setaffinity::
@end menu
@include glibc-functions/clone.texi
@include glibc-functions/sched_getaffinity.texi
-@include glibc-functions/sched_get_priority_min.texi
@include glibc-functions/sched_setaffinity.texi
@node Glibc search.h
@menu
* gsignal::
-* psignal::
* sigandset::
* sigblock::
* siggetmask::
@end menu
@include glibc-functions/gsignal.texi
-@include glibc-functions/psignal.texi
@include glibc-functions/sigandset.texi
@include glibc-functions/sigblock.texi
@include glibc-functions/siggetmask.texi
@menu
* asprintf::
* cuserid::
-* dprintf::
* clearerr_unlocked::
* fcloseall::
* feof_unlocked::
* fgetc_unlocked::
* fgets_unlocked::
* fileno_unlocked::
-* fmemopen::
* fopencookie::
* fputc_unlocked::
* fputs_unlocked::
* fread_unlocked::
* fwrite_unlocked::
* getw::
-* open_memstream::
* putw::
* setbuffer::
* setlinebuf::
* sys_nerr::
* tmpnam_r::
* vasprintf::
-* vdprintf::
@end menu
@include glibc-functions/asprintf.texi
@include glibc-functions/cuserid.texi
-@include glibc-functions/dprintf.texi
@include glibc-functions/clearerr_unlocked.texi
@include glibc-functions/fcloseall.texi
@include glibc-functions/feof_unlocked.texi
@include glibc-functions/fgetc_unlocked.texi
@include glibc-functions/fgets_unlocked.texi
@include glibc-functions/fileno_unlocked.texi
-@include glibc-functions/fmemopen.texi
@include glibc-functions/fopencookie.texi
@include glibc-functions/fputc_unlocked.texi
@include glibc-functions/fputs_unlocked.texi
@include glibc-functions/fread_unlocked.texi
@include glibc-functions/fwrite_unlocked.texi
@include glibc-functions/getw.texi
-@include glibc-functions/open_memstream.texi
@include glibc-functions/putw.texi
@include glibc-functions/setbuffer.texi
@include glibc-functions/setlinebuf.texi
@include glibc-functions/sys_nerr.texi
@include glibc-functions/tmpnam_r.texi
@include glibc-functions/vasprintf.texi
-@include glibc-functions/vdprintf.texi
@node Glibc stdlib.h
@section Glibc Extensions to @code{<stdlib.h>}
* jrand48_r::
* lcong48_r::
* lrand48_r::
-* mkdtemp::
+* mkostemp::
* mrand48_r::
* nrand48_r::
* on_exit::
@include glibc-functions/jrand48_r.texi
@include glibc-functions/lcong48_r.texi
@include glibc-functions/lrand48_r.texi
-@include glibc-functions/mkdtemp.texi
+@include glibc-functions/mkostemp.texi
@include glibc-functions/mrand48_r.texi
@include glibc-functions/nrand48_r.texi
@include glibc-functions/on_exit.texi
* mempcpy::
* memrchr::
* rawmemchr::
-* stpcpy::
-* stpncpy::
-* strcasecmp_l::
* strcasestr::
* strchrnul::
-* strcoll_l::
* strfry::
* strsep::
-* strsignal::
-* strncasecmp_l::
-* strndup::
-* strnlen::
* strverscmp::
-* strxfrm_l::
@end menu
@include glibc-functions/ffsl.texi
@include glibc-functions/mempcpy.texi
@include glibc-functions/memrchr.texi
@include glibc-functions/rawmemchr.texi
-@include glibc-functions/stpcpy.texi
-@include glibc-functions/stpncpy.texi
-@include glibc-functions/strcasecmp_l.texi
@include glibc-functions/strcasestr.texi
@include glibc-functions/strchrnul.texi
-@include glibc-functions/strcoll_l.texi
@include glibc-functions/strfry.texi
@include glibc-functions/strsep.texi
-@include glibc-functions/strsignal.texi
-@include glibc-functions/strncasecmp_l.texi
-@include glibc-functions/strndup.texi
-@include glibc-functions/strnlen.texi
@include glibc-functions/strverscmp.texi
-@include glibc-functions/strxfrm_l.texi
@c @node Glibc strings.h
@c @section Glibc Extensions to @code{<strings.h>}
@include glibc-functions/ioperm.texi
@include glibc-functions/iopl.texi
+@c @node Glibc sys/ioctl.h
+@c @section Glibc @code{<sys/ioctl.h>}
+
@c @node Glibc sys/ipc.h
@c @section Glibc Extensions to @code{<sys/ipc.h>}
@section Glibc Extensions to @code{<sys/socket.h>}
@menu
+* accept4::
* isfdtype::
@end menu
+@include glibc-functions/accept4.texi
@include glibc-functions/isfdtype.texi
@node Glibc sys/stat.h
@menu
* dysize::
-* getdate_err::
* getdate_r::
* stime::
-* strftime_l::
* strptime_l::
* timegm::
* timelocal::
-* timer_gettime::
@end menu
@include glibc-functions/dysize.texi
-@include glibc-functions/getdate_err.texi
@include glibc-functions/getdate_r.texi
@include glibc-functions/stime.texi
-@include glibc-functions/strftime_l.texi
@include glibc-functions/strptime_l.texi
@include glibc-functions/timegm.texi
@include glibc-functions/timelocal.texi
-@include glibc-functions/timer_gettime.texi
@c @node Glibc trace.h
@c @section Glibc Extensions to @code{<trace.h>}
* brk::
* chroot::
* daemon::
+* dup3::
* endusershell::
* euidaccess::
-* fexecve::
* get_current_dir_name::
* getdomainname::
* getdtablesize::
* getresuid::
* getusershell::
* group_member::
+* pipe2::
* profil::
* revoke::
* sbrk::
@include glibc-functions/brk.texi
@include glibc-functions/chroot.texi
@include glibc-functions/daemon.texi
+@include glibc-functions/dup3.texi
@include glibc-functions/endusershell.texi
@include glibc-functions/euidaccess.texi
-@include glibc-functions/fexecve.texi
@include glibc-functions/get_current_dir_name.texi
@include glibc-functions/getdomainname.texi
@include glibc-functions/getdtablesize.texi
@include glibc-functions/getresuid.texi
@include glibc-functions/getusershell.texi
@include glibc-functions/group_member.texi
+@include glibc-functions/pipe2.texi
@include glibc-functions/profil.texi
@include glibc-functions/revoke.texi
@include glibc-functions/sbrk.texi
* fputws_unlocked::
* getwc_unlocked::
* getwchar_unlocked::
-* mbsnrtowcs::
* putwc_unlocked::
* putwchar_unlocked::
-* wcpcpy::
-* wcpncpy::
-* wcscasecmp::
-* wcscasecmp_l::
* wcschrnul::
-* wcscoll_l::
-* wcsdup::
* wcsftime_l::
-* wcsncasecmp::
-* wcsncasecmp_l::
-* wcsnlen::
-* wcsnrtombs::
* wcstod_l::
* wcstof_l::
* wcstol_l::
* wcstoul_l::
* wcstoull_l::
* wcstouq::
-* wcsxfrm_l::
* wmempcpy::
@end menu
@include glibc-functions/fputws_unlocked.texi
@include glibc-functions/getwc_unlocked.texi
@include glibc-functions/getwchar_unlocked.texi
-@include glibc-functions/mbsnrtowcs.texi
@include glibc-functions/putwc_unlocked.texi
@include glibc-functions/putwchar_unlocked.texi
-@include glibc-functions/wcpcpy.texi
-@include glibc-functions/wcpncpy.texi
-@include glibc-functions/wcscasecmp.texi
-@include glibc-functions/wcscasecmp_l.texi
@include glibc-functions/wcschrnul.texi
-@include glibc-functions/wcscoll_l.texi
-@include glibc-functions/wcsdup.texi
@include glibc-functions/wcsftime_l.texi
-@include glibc-functions/wcsncasecmp.texi
-@include glibc-functions/wcsncasecmp_l.texi
-@include glibc-functions/wcsnlen.texi
-@include glibc-functions/wcsnrtombs.texi
@include glibc-functions/wcstod_l.texi
@include glibc-functions/wcstof_l.texi
@include glibc-functions/wcstol_l.texi
@include glibc-functions/wcstoul_l.texi
@include glibc-functions/wcstoull_l.texi
@include glibc-functions/wcstouq.texi
-@include glibc-functions/wcsxfrm_l.texi
@include glibc-functions/wmempcpy.texi
-@node Glibc wctype.h
-@section Glibc Extensions to @code{<wctype.h>}
-
-@menu
-* iswalnum_l::
-* iswalpha_l::
-* iswblank_l::
-* iswcntrl_l::
-* iswctype_l::
-* iswdigit_l::
-* iswgraph_l::
-* iswlower_l::
-* iswprint_l::
-* iswpunct_l::
-* iswspace_l::
-* iswupper_l::
-* iswxdigit_l::
-* towctrans_l::
-* towlower_l::
-* towupper_l::
-* wctrans_l::
-* wctype_l::
-@end menu
-
-@include glibc-functions/iswalnum_l.texi
-@include glibc-functions/iswalpha_l.texi
-@include glibc-functions/iswblank_l.texi
-@include glibc-functions/iswcntrl_l.texi
-@include glibc-functions/iswctype_l.texi
-@include glibc-functions/iswdigit_l.texi
-@include glibc-functions/iswgraph_l.texi
-@include glibc-functions/iswlower_l.texi
-@include glibc-functions/iswprint_l.texi
-@include glibc-functions/iswpunct_l.texi
-@include glibc-functions/iswspace_l.texi
-@include glibc-functions/iswupper_l.texi
-@include glibc-functions/iswxdigit_l.texi
-@include glibc-functions/towctrans_l.texi
-@include glibc-functions/towlower_l.texi
-@include glibc-functions/towupper_l.texi
-@include glibc-functions/wctrans_l.texi
-@include glibc-functions/wctype_l.texi
+@c @node Glibc wctype.h
+@c @section Glibc Extensions to @code{<wctype.h>}
@c @node Glibc wordexp.h
@c @section Glibc Extensions to @code{<wordexp.h>}
@menu
* alloca::
* alloca-opt::
+* Safe Allocation Macros::
* String Functions in C Locale::
* Quoting::
* error and progname::
* gcd::
* Regular expressions::
+* Searching for Libraries::
+* Exported Symbols of Shared Libraries::
+* LD Version Scripts::
+* Visual Studio Compatibility::
* Supporting Relocation::
-* __func__::
+* func::
+* warnings::
+* manywarnings::
@end menu
@node alloca
@findex alloca
@include alloca-opt.texi
+@include safe-alloc.texi
+
@node String Functions in C Locale
@section Character and String Functions in C Locale
@include c-strtold.texi
@include quote.texi
+
@include error.texi
+
@include gcd.texi
-@include relocatable-maint.texi
@node Regular expressions
@section Regular expressions
@include regexprops-generic.texi
-@node __func__
-@section __func__
+@include havelib.texi
-The @code{__func__} module makes sure that you can use the predefined
-identifier @code{__func__} as defined by C99 in your code.
+@include lib-symbol-visibility.texi
-A small example is:
+@include ld-version-script.texi
-@smallexample
-#include <config.h>
-#include <stdio.h> /* for printf */
+@include ld-output-def.texi
-int main (void)
-@{
- printf ("%s: hello world\n", __func__);
-@}
-@end smallexample
+@include relocatable-maint.texi
+
+@include func.texi
+
+@include warnings.texi
+
+@include manywarnings.texi
@node GNU Free Documentation License
@appendix GNU Free Documentation License
-@include fdl.texi
+@include fdl-1.3.texi
@node Index