+ <H2><A HREF="#ansic_sup">Support for systems lacking ANSI C 89</A></H2>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=c-bs-a">c-bs-a</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine portability of "\a".
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=assert">assert</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Allow the installer to disable assertions through "configure --disable-assert".
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=exit">exit</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/exit.html">exit</A>() function: program termination.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=atexit">atexit</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/atexit.html">atexit</A>() function: register a function to be called at program termination.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtod">strtod</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtod.html">strtod</A>() function: convert string to 'double'.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtol">strtol</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtol.html">strtol</A>() function: convert string to 'long'.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtoul">strtoul</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtoul.html">strtoul</A>() function: convert string to 'unsigned long'.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memchr">memchr</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/memchr.html">memchr</A>() function: scan memory for a byte.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memcmp">memcmp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/memcmp.html">memcmp</A>() function: compare memory areas.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memcpy">memcpy</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/memcpy.html">memcpy</A>() function: copy memory area.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memmove">memmove</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/memmove.html">memmove</A>() function: copy memory area.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memset">memset</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/memset.html">memset</A>() function: fill memory with a constant byte.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strcspn">strcspn</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strcspn.html">strcspn</A>() function: search a string for any of a set of characters.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strpbrk">strpbrk</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strpbrk.html">strpbrk</A>() function: search a string for any of a set of characters.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strstr">strstr</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strstr.html">strstr</A>() function: search for a substring in a string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strerror">strerror</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strerror.html">strerror</A>() function: return string describing error code.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mktime">mktime</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/mktime.html">mktime</A>() function: convert broken-down time to linear time.
+ </TR>
+ </TABLE>
+ These modules are not listed among dependencies below, for simplicity.
+ <H2><A HREF="#ansic_enh">Enhancements for ANSI C 89 functions</A></H2>
+ <H3><A HREF="#ansic_enh_stdlib_memory">Memory management functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=malloc">malloc</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/malloc.html">malloc</A>() function that is glibc compatible.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=realloc">realloc</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/realloc.html">realloc</A>() function that is glibc compatible.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_enh_time_datetime">Date and time <time.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strftime">strftime</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">nstrftime() function: convert date and time to string, with GNU extensions.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#ansic_ext">Extra functions based on ANSI C 89</A></H2>
+ <H3><A HREF="#ansic_ext_stdlib_memory">Memory management functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xalloc">xalloc</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Memory allocation with out-of-memory checking.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=alloca">alloca</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Memory allocation on the stack.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=bumpalloc">bumpalloc</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Increase table allocation by one element.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_stdlib_arith">Integer arithmetic functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=gcd">gcd</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Greatest common divisor.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=minmax">minmax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">MIN, MAX macros.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_stdlib_env">Environment variables <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=putenv">putenv</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/putenv.html">putenv</A>() function: change or add an environment variable.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=setenv">setenv</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/setenv.html">setenv</A>() function: set an environment variable.
+<A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/unsetenv.html">unsetenv</A>() function: remove an environment variable.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xsetenv">xsetenv</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">xsetenv() function: set an environment variable, with out-of-memory checking.
+<A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/unsetenv.html">unsetenv</A>() function: remove an environment variable.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_ctype">Character handling <ctype.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=c-ctype">c-ctype</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Character handling in C locale.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_string">String handling <string.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=bcopy">bcopy</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Old BSD <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/bcopy.html">bcopy</A>() function: copy memory area.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memrchr">memrchr</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">memrchr() function: scan memory for a byte, from the right end.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=stpcpy">stpcpy</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">stpcpy() function: copy a string, returning a pointer to its end.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=stpncpy">stpncpy</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">stpncpy() function: copy a size-bounded string, returning a pointer to its end.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strcase">strcase</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Case-insensitive string comparison functions.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strchrnul">strchrnul</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">strchrnul(): Find the first occurrence of C in S or the final NUL byte.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strdup">strdup</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strdup.html">strdup</A>() function: duplicate a string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strnlen">strnlen</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">strnlen() function: determine the length of a size-bounded string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strndup">strndup</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">strndup() function: duplicate a size-bounded string.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_stdlib_conv">Numeric conversion functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xstrtod">xstrtod</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert string to 'double', with error checking.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xstrtol">xstrtol</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert string to 'long` or 'unsigned long', with error checking.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_time_datetime">Date and time <time.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getdate">getdate</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert a date/time string to linear time.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_stdio">Input/Output <stdio.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=unlocked-io">unlocked-io</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Enable faster, non-thread-safe stdio functions if available.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=vasnprintf">vasnprintf</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">vsprintf with automatic memory allocation and bounded output size.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=vasprintf">vasprintf</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">vsprintf with automatic memory allocation.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_argv">Command-line arguments</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=argmatch">argmatch</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Search for an exact or abbreviated match of a string in an array of strings.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=version-etc">version-etc</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Print --version output.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=long-options">long-options</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Handle --help and --version options.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_crypto">Cryptographic computations</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=md5">md5</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Compute MD5 checksum.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=sha">sha</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Compute SHA checksum.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#ansic_ext_misc">Misc</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=diacrit">diacrit</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Decomposition of composed ISO-8859-1 characters.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getline">getline</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read a line from a stream.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=linebuffer">linebuffer</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read a line from a stream.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=obstack">obstack</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Memory allocation, optimized for stack-like allocation patterns.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=hash-pjw">hash-pjw</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Compute a hash value for a NUL-terminated string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=hash">hash</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Parametrizable hash table.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=readtokens">readtokens</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read tokens from a stream.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strverscmp">strverscmp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Compare strings holding version numbers.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#isoc_sup">Support for systems lacking ISO C 99</A></H2>
+ <H3><A HREF="#isoc_sup_stdbool">Boolean type and values <stdbool.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=stdbool">stdbool</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An <stdbool.h> that nearly conforms to C99.
+(Nearly: casts to bool may not work.)
+ </TR>
+ </TABLE>
+ <H3><A HREF="#isoc_sup_stdlib_conv">Numeric conversion functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtoll">strtoll</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtoll.html">strtoll</A>() function: convert string to 'long long'.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtoull">strtoull</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtoull.html">strtoull</A>() function: convert string to 'unsigned long long'.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#isoc_sup_inttypes">Functions for greatest-width integer types <inttypes.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtoimax">strtoimax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtoimax.html">strtoimax</A>() function: convert string to 'intmax_t'.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtoumax">strtoumax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtoumax.html">strtoumax</A>() function: convert string to 'uintmax_t'.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#isoc_sup_math">Mathematics <math.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mathl">mathl</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">C99 functions for transcendental functions with long double arguments.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#isoc_enh">Enhancements for ISO C 99 functions</A></H2>
+ <TABLE>
+ </TABLE>
+ <H2><A HREF="#isoc_ext">Extra functions based on ISO C 99</A></H2>
+ <H3><A HREF="#isoc_ext_stdlib_conv">Numeric conversion functions <stdlib.h></A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xstrtoimax">xstrtoimax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert string to 'intmax_t', with error checking.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xstrtoumax">xstrtoumax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert string to 'uintmax_t', with error checking.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#posix_sup">Support for systems lacking POSIX:2001</A></H2>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=chown">chown</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/chown.html">chown</A>() function: change ownership of a file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=dup2">dup2</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/dup2.html">dup2</A>() function: duplicate an open file descriptor.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=ftruncate">ftruncate</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/ftruncate.html">ftruncate</A>() function: truncate an open file to a specified length.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getgroups">getgroups</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/getgroups.html">getgroups</A>() function: return the supplementary group IDs of the current process.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=gettimeofday">gettimeofday</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/gettimeofday.html">gettimeofday</A>() function: return current time.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mkdir">mkdir</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/mkdir.html">mkdir</A>() function: create a directory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mkstemp">mkstemp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/mkstemp.html">mkstemp</A>() function: create a private temporary file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mkdtemp">mkdtemp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">mkdtemp() function: create a private temporary directory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=poll">poll</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/poll.html">poll</A>() function: wait for some event on a set of file descriptors.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=stat">stat</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/stat.html">stat</A>() function: return information about a file, following symbolic links.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=lstat">lstat</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/stat.html">stat</A>() function: return information about a file or symbolic link.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=timespec">timespec</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">struct timespec.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=nanosleep">nanosleep</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/nanosleep.html">nanosleep</A>() function: pause execution for a specified time.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=regex">regex</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Regular expression matching.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=rename">rename</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/rename.html">rename</A>() function: change the name or location of a file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=rmdir">rmdir</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/rmdir.html">rmdir</A>() function: delete a directory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=utime">utime</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/utime.html">utime</A>() function: change access and/or modification times of a file.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#posix_enh">Enhancements for POSIX:2001 functions</A></H2>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=dirname">dirname</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Extract specific portions of filenames.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getopt">getopt</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Process command line arguments.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=unistd-safer">unistd-safer</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">File descriptor functions that avoid clobbering STD{IN,OUT,ERR}_FILENO.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fnmatch">fnmatch</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">GNU <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/fnmatch.html">fnmatch</A>() implementation.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fnmatch-posix">fnmatch-posix</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/fnmatch.html">fnmatch</A>() function: wildcard matching.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fnmatch-gnu">fnmatch-gnu</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/fnmatch.html">fnmatch</A>() function: wildcard matching, with GNU extensions.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=exclude">exclude</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Manage list of filenames or wildcard patterns for --exclude option processing.
+ </TR>
+ </TABLE>
+ <H2><A HREF="#posix_ext">Extra functions based on POSIX:2001</A></H2>
+ <H3><A HREF="#posix_ext_conv">Numeric conversion functions</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=human">human</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert a number (usually a file size) to a human readable string, possibly
+with K/M/G suffix.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_filesys">File system functions</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=acl">acl</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Access control lists of files. (Unportable.)
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=backupfile">backupfile</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determination of the filename of a backup file, according to user environment
+variables.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=copy-file">copy-file</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Copying of files.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fsusage">fsusage</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return filesystem space usage info.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=dirfd">dirfd</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Retrieving the file descriptor of an open directory stream. (Unportable.)
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=euidaccess">euidaccess</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">euidaccess() function: check effective user's permissions for a file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=file-type">file-type</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return a string describing the type of a file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fileblocks">fileblocks</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Estimate number of blocks of a file, if 'struct stat' doesn't have st_blocks.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=filemode">filemode</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return a string (?rwxrwxrwx format) describing the type and permissions of a
+file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=isdir">isdir</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine whether a directory exists.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=lchown">lchown</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/lchown.html">lchown</A>() function: change ownership of a file.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=makepath">makepath</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Ensure that a directory path exists.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=modechange">modechange</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Manipulation of mode changes specified by strings (e.g. as first argument of
+chmod utility).
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mountlist">mountlist</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return list of mounted filesystems.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=path-concat">path-concat</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Construct a full pathname by concatenating a directory name and a relative
+filename.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=pathname">pathname</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Construct a full pathname by concatenating a directory name, a relative
+filename, and a suffix.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=pathmax">pathmax</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return maximum size of reasonable pathnames. (Unportable: Hurd has no limit.)
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=same">same</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine whether two pathnames refer to the same directory entry of the same
+directory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=save-cwd">save-cwd</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Save and restore the current working directory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=savedir">savedir</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return the entries of a directory (just the names) as an argz string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xgetcwd">xgetcwd</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return the current working directory, without size limitations.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xreadlink">xreadlink</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return the contents of a symbolic link, without size limitations.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_filedesc">File descriptor based Input/Output</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=safe-read">safe-read</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/read.html">read</A>() that retries after interrupts.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=safe-write">safe-write</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/write.html">write</A>() that retries after interrupts.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=full-read">full-read</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/read.html">read</A>() that reads all it is asked to read.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=full-write">full-write</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/write.html">write</A>() that writes all it is asked to write.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=binary-io">binary-io</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Binary mode I/O.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_filestream">File stream based Input/Output</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fpending">fpending</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine the number of bytes waiting in the output buffer of a stream.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=closeout">closeout</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Close stdout, checking for errors.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=stdio-safer">stdio-safer</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">File stream functions that avoid clobbering std{in,out,err}.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getpass">getpass</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">getpass() function: read a password from /dev/tty.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_uidgid">Users and groups</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getugroups">getugroups</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return the group IDs of a user.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=group-member">group-member</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine whether the current process has the permissions of a given group ID.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=idcache">idcache</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Username <--> uid and groupname <--> gid conversions, with cache for speed.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=userspec">userspec</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Parse a specifying a user and/or group (e.g. as first argument of chown
+utility).
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_datetime">Date and time</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=gettime">gettime</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return current time, with nanosecond resolution.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=settime">settime</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Set the current time, with nanosecond resolution.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=posixtm">posixtm</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert a date/time string (POSIX syntax) to linear time or broken-down time.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_net">Networking functions</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=gethostname">gethostname</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/gethostname.html">gethostname</A>() function: Return machine's hostname.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xgethostname">xgethostname</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return machine's hostname, without size limitations.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=canon-host">canon-host</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Canonicalize a host name: return a name other hosts can understand, i.e.
+usually the host name including FQDN.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_i18n">Internationalization functions</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=gettext">gettext</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Translate messages to user's native language.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=iconv">iconv</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Character set conversion.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=localcharset">localcharset</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return current locale's character encoding.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=hard-locale">hard-locale</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine whether the current locale is different from the "C" locale.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mbswidth">mbswidth</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine the number of screen columns needed for a string.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memcasecmp">memcasecmp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Case-insensitive memory area comparison.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memcoll">memcoll</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Locale dependent memory area comparison.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=xmemcoll">xmemcoll</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Locale dependent memory area comparison, with error checking.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=unicodeio">unicodeio</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Unicode character output to streams with locale dependent encoding.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=rpmatch">rpmatch</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Locale dependent classification of a response as matching "yes" or "no".
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=yesno">yesno</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read a response from the user, and its classification as matching "yes" or
+"no".
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=ucs4-utf8">ucs4-utf8</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Conversion UCS-4 to UTF-8.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=ucs4-utf16">ucs4-utf16</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Conversion UCS-4 to UTF-16.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=utf8-ucs4">utf8-ucs4</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Conversion UTF-8 to UCS-4.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=utf16-ucs4">utf16-ucs4</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Conversion UTF-16 to UCS-4.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=linebreak">linebreak</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Line breaking (works also for East-Asian languages).
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_exec">Executing programs</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=findprog">findprog</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Locating a program in PATH.
+ </TR>
+ </TABLE>
+ <H3><A HREF="#posix_ext_java">Java</A></H3>
+ <H3><A HREF="#posix_ext_misc">Misc</A></H3>
+ <TABLE>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=argp">argp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Hierarchical processing of command line arguments.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=exitfail">exitfail</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Set exit status for fatal signal.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=c-stack">c-stack</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Stack overflow handling, causing program exit.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=error">error</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">error() and error_at_line() functions: Error reporting.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=fatal">fatal</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Error reporting for fatal errors.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getloadavg">getloadavg</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return the current system load averages.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getpagesize">getpagesize</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">getpagesize() function: Return memory page size.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getusershell">getusershell</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return names of valid user shells.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=physmem">physmem</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Return amount of total/available physical memory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=posixver">posixver</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Determine desired POSIX specification version, according to user's environment
+variables.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=quotearg">quotearg</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Quote arguments for use in error messages.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=quote">quote</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Quote arguments for use in error messages.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=readutmp">readutmp</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read entire utmp file into memory.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=sig2str">sig2str</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert between signal names and signal numbers.
+ </TR>
+ <TR WIDTH="100%">
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=sysexits">sysexits</A>
+ <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Exit status codes for some BSD system programs.
+ </TR>
+ </TABLE>
+ <H2><A NAME="ansic_sup">Support for systems lacking ANSI C 89</A></H2>