Gnulib Module List

This is a list of the modules which make up gnulib, with dependencies.

Support for systems lacking ANSI C 89

c-bs-a Determine portability of "\a".
assert Allow the installer to disable assertions through "configure --disable-assert".
dummy A dummy file, to make sure the library is non-empty.
exit exit() function: program termination.
atexit atexit() function: register a function to be called at program termination.
strtod strtod() function: convert string to 'double'.
strtol strtol() function: convert string to 'long'.
strtoul strtoul() function: convert string to 'unsigned long'.
memchr memchr() function: scan memory for a byte.
memcmp memcmp() function: compare memory areas.
memcpy memcpy() function: copy memory area.
memmove memmove() function: copy memory area.
memset memset() function: fill memory with a constant byte.
strcspn strcspn() function: search a string for any of a set of characters.
strpbrk strpbrk() function: search a string for any of a set of characters.
strstr strstr() function: search for a substring in a string.
strerror strerror() function: return string describing error code.
mktime mktime() function: convert broken-down time to linear time.
These modules are not listed among dependencies below, for simplicity.

Enhancements for ANSI C 89 functions

Memory management functions <stdlib.h>

calloc calloc() function that is glibc compatible.
eealloc Memory allocation with expensive empty allocations (glibc compatible).
free Work around incompatibility on older systems where free (NULL) fails.
malloc malloc() function that is glibc compatible.
realloc realloc() function that is glibc compatible.

Date and time <time.h>

strftime nstrftime() function: convert date and time to string, with GNU extensions.

Extra functions based on ANSI C 89

Memory management functions <stdlib.h>

xsize Checked size_t computations.
xalloc Memory allocation with out-of-memory checking. Also see xalloc-die.
xalloc-die Report a memory allocation failure and exit.
alloca Memory allocation on the stack.
allocsa Safe automatic memory allocation.
xallocsa Safe automatic memory allocation with out of memory checking.

Integer arithmetic functions <stdlib.h>

gcd Greatest common divisor.
minmax MIN, MAX macros.

Environment variables <stdlib.h>

putenv putenv() function: change or add an environment variable.
setenv setenv() function: set an environment variable. unsetenv() function: remove an environment variable.
xsetenv xsetenv() function: set an environment variable, with out-of-memory checking. unsetenv() function: remove an environment variable.

Character handling <ctype.h>

c-ctype Character handling in C locale.

String handling <string.h>

bcopy Old BSD bcopy() function: copy memory area.
mempcpy mempcpy() function: copy memory area, return point after last written byte.
memrchr memrchr() function: scan memory for a byte, from the right end.
stpcpy stpcpy() function: copy a string, returning a pointer to its end.
stpncpy stpncpy() function: copy a size-bounded string, returning a pointer to its end.
strcase Case-insensitive string comparison functions.
strchrnul strchrnul(): Find the first occurrence of C in S or the final NUL byte.
strdup strdup() function: duplicate a string.
strnlen strnlen() function: determine the length of a size-bounded string.
strndup strndup() function: duplicate a size-bounded string.
xstrndup Duplicate a bounded initial segment of a string, with out-of-memory checking.

Numeric conversion functions <stdlib.h>

c-strtod Convert string to double in C locale.
c-strtold Convert string to long double in C locale.
xstrtod Convert string to 'double', with error checking.
xstrtol Convert string to 'long` or 'unsigned long', with error checking.

Date and time <time.h>

getdate Convert a date/time string to linear time.
timegm Convert calendar time to simple time, inverse of mktime.
tzset tzset - initialize time conversion information

Input/Output <stdio.h>

unlocked-io Enable faster, non-thread-safe stdio functions if available.
fwriteerror Detect write error on a stream.
vasnprintf vsprintf with automatic memory allocation and bounded output size.
vasprintf vsprintf with automatic memory allocation.
xvasprintf vasprintf and asprintf with out-of-memory checking. Also see xalloc-die.

Signal handling <signal.h>

fatal-signal Emergency actions in case of a fatal signal.
raise Send a signal to the executing process.

Command-line arguments

argmatch Search for an exact or abbreviated match of a string in an array of strings.
version-etc Print --version output.
long-options Handle --help and --version options.

Cryptographic computations

md5 Compute MD5 checksum.
sha1 Compute SHA1 checksum.

Misc

diacrit Decomposition of composed ISO-8859-1 characters.
getline Read a line from a stream.
getnline Read a line from a stream, with bounded memory allocation.
getndelim2 Read a line from a stream, stopping at one of 2 delimiters, with bounded memory allocation.
linebuffer Read a line from a stream.
obstack Memory allocation, optimized for stack-like allocation patterns.
hash-pjw Compute a hash value for a NUL-terminated string.
hash Parametrizable hash table.
readtokens Read tokens from a stream.
readtokens0 Read NUL-separated tokens from a stream.
strverscmp Compare strings holding version numbers.

Support for systems lacking ISO C 99

Keywords

restrict The C99 'restrict' keyword.

Boolean type and values <stdbool.h>

stdbool An <stdbool.h> that nearly conforms to C99. (Nearly: casts to bool may not work.)

Integer types and values <stdint.h>

stdint An <stdint.h> that nearly conforms to C99. (Nearly: {uint,int}_{fast,least}{8,16,32,64}_t may not correspond to the fastest and smallest types available on the system.)

Numeric conversion functions <stdlib.h>

strtoll strtoll() function: convert string to 'long long'.
strtoull strtoull() function: convert string to 'unsigned long long'.

Functions for greatest-width integer types <inttypes.h>

strtoimax strtoimax() function: convert string to 'intmax_t'.
strtoumax strtoumax() function: convert string to 'uintmax_t'.

Mathematics <math.h>

mathl C99 functions for transcendental functions with long double arguments.

Enhancements for ISO C 99 functions

Extra functions based on ISO C 99

Numeric conversion functions <stdlib.h>

inttostr Convert integers to printable strings.
xstrtoimax Convert string to 'intmax_t', with error checking.
xstrtoumax Convert string to 'uintmax_t', with error checking.

Support for systems lacking POSIX:2001

chown chown() function: change ownership of a file.
dup2 dup2() function: duplicate an open file descriptor.
ftruncate ftruncate() function: truncate an open file to a specified length.
getcwd Return the current working directory.
getgroups getgroups() function: return the supplementary group IDs of the current process.
gethostname gethostname() function: Return machine's hostname.
getsubopt getsubopt: Parse comma separate list into words.
gettimeofday gettimeofday() function: return current time.
mkdir mkdir() function: create a directory.
mkstemp mkstemp() function: create a private temporary file.
mkdtemp mkdtemp() function: create a private temporary directory.
poll poll() function: wait for some event on a set of file descriptors.
readlink readlink() function: read the value of a symbolic link.
stat stat() function: return information about a file, following symbolic links.
lstat stat() function: return information about a file or symbolic link.
time_r Reentrant time functions like localtime_r.
timespec struct timespec.
nanosleep nanosleep() function: pause execution for a specified time.
regex Regular expression matching.
rename rename() function: change the name or location of a file.
rmdir rmdir() function: delete a directory.
utime utime() function: change access and/or modification times of a file.

Enhancements for POSIX:2001 functions

dirname Extract specific portions of filenames.
getopt Process command line arguments.
fcntl-safer File control functions that avoid clobbering std{in,out,err}.
unistd-safer File descriptor functions that avoid clobbering STD{IN,OUT,ERR}_FILENO.
fnmatch GNU fnmatch() implementation.
fnmatch-posix fnmatch() function: wildcard matching.
fnmatch-gnu fnmatch() function: wildcard matching, with GNU extensions.
exclude Manage list of filenames or wildcard patterns for --exclude option processing.

Extra functions based on POSIX:2001

Numeric conversion functions

human Convert a number (usually a file size) to a human readable string, possibly with K/M/G suffix.

File system functions

acl Access control lists of files. (Unportable.)
backupfile Determination of the filename of a backup file, according to user environment variables.
canonicalize Return the canonical absolute name of a given file.
copy-file Copying of files.
cycle-check help detect directory cycles efficiently
fsusage Return filesystem space usage info.
dirfd Retrieving the file descriptor of an open directory stream. (Unportable.)
euidaccess euidaccess() function: check effective user's permissions for a file.
file-type Return a string describing the type of a file.
fileblocks Estimate number of blocks of a file, if 'struct stat' doesn't have st_blocks.
filemode Return a string (?rwxrwxrwx format) describing the type and permissions of a file.
isdir Determine whether a directory exists.
lchown lchown() function: change ownership of a file.
makepath Ensure that a directory path exists.
modechange Manipulation of mode changes specified by strings (e.g. as first argument of chmod utility).
mountlist Return list of mounted filesystems.
path-concat Construct a full pathname by concatenating a directory name and a relative filename.
pathname Construct a full pathname by concatenating a directory name, a relative filename, and a suffix.
pathmax Return maximum size of reasonable pathnames. (Unportable: Hurd has no limit.)
same Determine whether two pathnames refer to the same directory entry of the same directory.
save-cwd Save and restore the current working directory.
savedir Return the entries of a directory (just the names) as an argz string.
utimecmp compare file time stamps
utimens Set file access and modification times.
xgetcwd Return the current working directory, without size limitations.
xreadlink Return the contents of a symbolic link, without size limitations.

File descriptor based Input/Output

safe-read An interface to read() that retries after interrupts.
safe-write An interface to write() that retries after interrupts.
full-read An interface to read() that reads all it is asked to read.
full-write An interface to write() that writes all it is asked to write.
binary-io Binary mode I/O.

File stream based Input/Output

fpending Determine the number of bytes waiting in the output buffer of a stream.
closeout Close stdout, checking for errors.
stdio-safer File stream functions that avoid clobbering std{in,out,err}.
getpass getpass() function: read a password from /dev/tty.
getpass-gnu getpass() function: read a password of arbitrary length from /dev/tty.

Users and groups

getugroups Return the group IDs of a user.
group-member Determine whether the current process has the permissions of a given group ID.
idcache Username <--> uid and groupname <--> gid conversions, with cache for speed.
userspec Parse a `user:group' specifier (e.g. the first argument of chown utility).

Date and time

gettime Return current time, with nanosecond resolution.
settime Set the current time, with nanosecond resolution.
posixtm Convert a date/time string (POSIX syntax) to linear time or broken-down time.
xnanosleep a more convenient interface to nanosleep

Networking functions

xgethostname Return machine's hostname, without size limitations.
canon-host Canonicalize a host name: return a name other hosts can understand, i.e. usually the host name including FQDN.

Internationalization functions

gettext Translate messages to user's native language.
iconv Character set conversion.
localcharset Return current locale's character encoding.
hard-locale Determine whether the current locale is different from the "C" locale.
mbswidth Determine the number of screen columns needed for a string.
memcasecmp Case-insensitive memory area comparison.
memcoll Locale dependent memory area comparison.
xmemcoll Locale dependent memory area comparison, with error checking.
unicodeio Unicode character output to streams with locale dependent encoding.
rpmatch Locale dependent classification of a response as matching "yes" or "no".
yesno Read a response from the user, and its classification as matching "yes" or "no".
ucs4-utf8 Conversion UCS-4 to UTF-8.
ucs4-utf16 Conversion UCS-4 to UTF-16.
utf8-ucs4 Conversion UTF-8 to UCS-4.
utf16-ucs4 Conversion UTF-16 to UCS-4.
linebreak Line breaking (works also for East-Asian languages).

Executing programs

cloexec Set or clear the close-on-exec descriptor flag.
findprog Locating a program in PATH.
wait-process Waiting for a subprocess to finish.
execute Creation of autonomous subprocesses.
pipe Creation of subprocesses, communicating via pipes.

Java

Misc

argp Hierarchical processing of command line arguments.
argz Argv style string arrays in a single null delimited char*.
exitfail Set exit status for fatal signal.
c-stack Stack overflow handling, causing program exit.
error error() and error_at_line() functions: Error reporting.
extensions Enable extensions in standard headers
getdomainname getdomainname() function: Return machine's NIS domain name.
xgetdomainname Return machine's domainname, without size limitations.
getloadavg Return the current system load averages.
getpagesize getpagesize() function: Return memory page size.
getusershell Return names of valid user shells.
physmem Return amount of total/available physical memory.
posixver Determine desired POSIX specification version, according to user's environment variables.
progname Program name management.
quotearg Quote arguments for use in error messages.
quote Quote arguments for use in error messages.
readutmp Read entire utmp file into memory.
sig2str Convert between signal names and signal numbers.
sysexits Exit status codes for some BSD system programs.

Support for systems lacking ANSI C 89

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
c-bs-a --- --- c-bs-a.m4
AC_C_BACKSLASH_A
---
assert #include <assert.h> --- assert.m4
gl_ASSERT
---
dummy --- dummy.c --- ---
exit #include "exit.h" --- --- ---
atexit #include <stdlib.h> atexit.c atexit.m4
gl_FUNC_ATEXIT
---
strtod #include <stdlib.h> strtod.c strtod.m4
gl_FUNC_STRTOD
---
strtol #include <stdlib.h> strtol.c strtol.m4
gl_FUNC_STRTOL
---
strtoul #include <stdlib.h> strtoul.c strtoul.m4
gl_FUNC_STRTOUL
strtol
memchr #include <string.h> memchr.c memchr.m4
gl_FUNC_MEMCHR
---
memcmp #include <string.h> memcmp.c memcmp.m4
gl_FUNC_MEMCMP
---
memcpy #include <string.h> memcpy.c memcpy.m4
gl_FUNC_MEMCPY
---
memmove #include <string.h> memmove.c memmove.m4
gl_FUNC_MEMMOVE
---
memset #include <string.h> memset.c memset.m4
gl_FUNC_MEMSET
---
strcspn #include <string.h> strcspn.c strcspn.m4
gl_FUNC_STRCSPN
---
strpbrk #include "strpbrk.h" strpbrk.c strpbrk.m4
gl_FUNC_STRPBRK
---
strstr #include "strstr.h" strstr.c strstr.m4
gl_FUNC_STRSTR
---
strerror #include <string.h> strerror.c strerror.m4
gl_FUNC_STRERROR
---
mktime #include <time.h> mktime.c mktime.m4
gl_FUNC_MKTIME
time_r
These modules are not listed among dependencies below, for simplicity.

Enhancements for ANSI C 89 functions

Memory management functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
calloc #include <stdlib.h> calloc.c calloc.m4
AC_FUNC_CALLOC
---
eealloc #include <eealloc.h> eealloc.h eealloc.m4
gl_EEALLOC
---
free #include <stdlib.h> free.c free.m4
gl_FUNC_FREE
---
malloc #include <stdlib.h> malloc.c AC_FUNC_MALLOC ---
realloc #include <stdlib.h> realloc.c AC_FUNC_REALLOC ---

Date and time <time.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
strftime #include "strftime.h" strftime.c mbstate_t.m4
tm_gmtoff.m4
strftime.m4
gl_FUNC_GNU_STRFTIME
time_r
tzset

Extra functions based on ANSI C 89

Memory management functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
xsize #include "xsize.h" --- xsize.m4
size_max.m4
gl_XSIZE
---
xalloc #include "xalloc.h" xmalloc.c
xstrdup.c
xalloc.m4
gl_XALLOC
---
xalloc-die #include "xalloc.h" xalloc-die.c --- xalloc
error
gettext
exitfail
alloca #include <alloca.h> alloca_.h
alloca.c
alloca.m4
gl_FUNC_ALLOCA
---
allocsa #include "allocsa.h" allocsa.c allocsa.m4
eealloc.m4
longlong.m4
longdouble.m4
gl_ALLOCSA
alloca
xallocsa #include "xallocsa.h" xallocsa.c --- allocsa
xalloc

Integer arithmetic functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
gcd #include "gcd.h" gcd.c --- ---
minmax #include "minmax.h" --- --- ---

Environment variables <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
putenv --- putenv.c putenv.m4
gl_FUNC_PUTENV
---
setenv #include "setenv.h" setenv.c
unsetenv.c
setenv.m4
gt_FUNC_SETENV
allocsa
alloca
xsetenv #include "xsetenv.h" xsetenv.c --- setenv
error
exit
gettext

Character handling <ctype.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
c-ctype #include "c-ctype.h" c-ctype.c --- stdbool

String handling <string.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
bcopy --- bcopy.c AC_REPLACE_FUNCS(bcopy) ---
mempcpy #include "mempcpy.h" mempcpy.c mempcpy.m4
gl_FUNC_MEMPCPY
---
memrchr --- memrchr.c memrchr.m4
gl_FUNC_MEMRCHR
---
stpcpy #include "stpcpy.h" stpcpy.c stpcpy.m4
gl_FUNC_STPCPY
---
stpncpy #include "stpncpy.h" stpncpy.c stpncpy.m4
gl_FUNC_STPNCPY
---
strcase #include "strcase.h" strcasecmp.c
strncasecmp.c
strcase.m4
gl_STRCASE
---
strchrnul #include "strchrnul.h" strchrnul.c strchrnul.m4
gl_FUNC_STRCHRNUL
---
strdup #include "strdup.h" strdup.c strdup.m4
gl_FUNC_STRDUP
---
strnlen --- strnlen.c strnlen.m4
gl_FUNC_STRNLEN
---
strndup #include "strndup.h" strndup.c strndup.m4
gl_FUNC_STRNDUP
strnlen
xstrndup #include "xstrndup.h" xstrndup.c xstrndup.m4
gl_XSTRNDUP
strndup
xalloc

Numeric conversion functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
c-strtod #include "c-strtod.h" c-strtod.c c-strtod.m4
gl_C_STRTOD
extensions
c-strtold #include "c-strtod.h" c-strtod.c
c-strtold.c
c-strtod.m4
gl_C_STRTOLD
extensions
xstrtod #include "xstrtod.h" xstrtod.c xstrtod.m4
gl_XSTRTOD
---
xstrtol #include "xstrtol.h" xstrtol.c
xstrtoul.c
ulonglong.m4
longlong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
intmax_t.m4
xstrtol.m4
gl_XSTRTOL
exitfail
error

Date and time <time.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
getdate #include "getdate.h" getdate.y bison.m4
tm_gmtoff.m4
getdate.m4
gl_GETDATE
timespec
stdbool
gettime
mktime
alloca
unlocked-io
timegm #include "timegm.h" timegm.c timegm.m4
gl_FUNC_TIMEGM
mktime
time_r
tzset #include <time.h> --- tzset.m4
gl_FUNC_TZSET_CLOBBER
gettimeofday

Input/Output <stdio.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
unlocked-io #include "unlocked-io.h" --- unlocked-io.m4
gl_FUNC_GLIBC_UNLOCKED_IO
extensions
fwriteerror #include "fwriteerror.h" fwriteerror.c --- ---
vasnprintf #include "vasnprintf.h" printf-args.h
printf-args.c
printf-parse.h
printf-parse.c
vasnprintf.c
asnprintf.c
signed.m4
longdouble.m4
wchar_t.m4
wint_t.m4
longlong.m4
intmax_t.m4
eoverflow.m4
vasnprintf.m4
gl_FUNC_VASNPRINTF
alloca
xsize
vasprintf #include "vasprintf.h" vasprintf.c
asprintf.c
vasprintf.m4
gl_FUNC_VASPRINTF
vasnprintf
xvasprintf #include "xvasprintf.h" xvasprintf.c
xasprintf.c
--- vasprintf

Signal handling <signal.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
fatal-signal #include "fatal-signal.h" fatal-signal.c fatal-signal.m4
signalblocking.m4
sig_atomic_t.m4
gl_FATAL_SIGNAL
xalloc
stdbool
raise --- raise.c AC_REPLACE_FUNCS(raise) ---

Command-line arguments

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
argmatch #include "argmatch.h" argmatch.c --- gettext
error
quotearg
quote
unlocked-io
exit
exitfail
version-etc #include "version-etc.h" version-etc.c --- unlocked-io
gettext
long-options #include "long-options.h" long-options.c long-options.m4
gl_LONG_OPTIONS
version-etc

Cryptographic computations

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
md5 #include "md5.h" md5.c md5.m4
uint32_t.m4
gl_MD5
unlocked-io
sha1 #include "sha1.h" sha1.c sha1.m4
gl_SHA1
unlocked-io
md5

Misc

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
diacrit #include "diacrit.h" diacrit.c --- ---
getline #include "getline.h" getline.c
getndelim2.h
getndelim2.c
getline.m4
getndelim2.m4
ssize_t.m4
AM_FUNC_GETLINE
unlocked-io
getnline #include "getnline.h" getnline.c getnline.m4
ssize_t.m4
gl_GETNLINE
getndelim2
getndelim2 #include "getndelim2.h" getndelim2.c getndelim2.m4
ssize_t.m4
gl_GETNDELIM2
unlocked-io
linebuffer #include "linebuffer.h" linebuffer.c --- xalloc
unlocked-io
obstack #include "obstack.h" obstack.c inttypes_h.m4
obstack.m4
stdint_h.m4
uintmax_t.m4
gl_OBSTACK
gettext
exit
exitfail
hash-pjw #include "hash-pjw.h" hash-pjw.c --- ---
hash #include "hash.h" hash.c
xalloc.h
hash.m4
gl_HASH
stdbool
readtokens #include "readtokens.h" readtokens.c readtokens.m4
gl_READTOKENS
xalloc
unlocked-io
readtokens0 #include "readtokens0.h" readtokens0.c --- obstack
strverscmp #include "strverscmp.h" strverscmp.c strverscmp.m4
gl_FUNC_STRVERSCMP
---

Support for systems lacking ISO C 99

Keywords

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
restrict --- --- restrict.m4
gl_C_RESTRICT
---

Boolean type and values <stdbool.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
stdbool #include <stdbool.h> stdbool_.h stdbool.m4
AM_STDBOOL_H
---

Integer types and values <stdint.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
stdint #include <stdint.h> stdint_.h stdint.m4
inttypes.m4
gl_STDINT_H
---

Numeric conversion functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
strtoll #include <stdlib.h> strtoll.c longlong.m4
strtoll.m4
gl_FUNC_STRTOLL
strtol
strtoull #include <stdlib.h> strtoull.c ulonglong.m4
strtoull.m4
gl_FUNC_STRTOULL
strtoul

Functions for greatest-width integer types <inttypes.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
strtoimax --- strtoimax.c longlong.m4
stdint_h.m4
inttypes_h.m4
intmax_t.m4
strtoimax.m4
gl_FUNC_STRTOIMAX
strtoll
strtoumax --- strtoumax.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
strtoumax.m4
gl_FUNC_STRTOUMAX
strtoimax
strtoull

Mathematics <math.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
mathl #include "mathl.h" acosl.c
asinl.c
atanl.c
ceill.c
cosl.c
expl.c
floorl.c
frexpl.c
ldexpl.c
logl.c
sincosl.c
sinl.c
sqrtl.c
tanl.c
trigl.c
trigl.h
mathl.m4
gl_FUNC_LONG_DOUBLE_MATH
---

Enhancements for ISO C 99 functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on

Extra functions based on ISO C 99

Numeric conversion functions <stdlib.h>

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
inttostr #include "inttostr.h" imaxtostr.c
inttostr.c
offtostr.c
umaxtostr.c
intmax_t.m4
inttostr.m4
uintmax_t.m4
gl_INTTOSTR
---
xstrtoimax #include "xstrtol.h" xstrtoimax.c xstrtoimax.m4
gl_XSTRTOIMAX
xstrtol
strtoimax
xstrtoumax #include "xstrtol.h" xstrtoumax.c xstrtoumax.m4
gl_XSTRTOUMAX
xstrtol
strtoumax

Support for systems lacking POSIX:2001

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
chown #include <unistd.h> chown.c
fchown-stub.c
chown.m4
gl_FUNC_CHOWN
---
dup2 #include <unistd.h> dup2.c dup2.m4
gl_FUNC_DUP2
---
ftruncate #include <unistd.h> ftruncate.c ftruncate.m4
gl_FUNC_FTRUNCATE
---
getcwd --- getcwd.c getcwd-path-max.m4
GL_FUNC_GETCWD_PATH_MAX
pathmax
same
getgroups #include <unistd.h> getgroups.c getgroups.m4
gl_FUNC_GETGROUPS
xalloc
gethostname --- gethostname.c gethostname.m4
gl_FUNC_GETHOSTNAME
---
getsubopt #include "getsubopt.h" getsubopt.c getsubopt.m4
gl_FUNC_GETSUBOPT
strchrnul
gettimeofday #include <sys/time.h> gettimeofday.c gettimeofday.m4
AC_FUNC_GETTIMEOFDAY_CLOBBER
---
mkdir #include <sys/stat.h> mkdir.c mkdir-slash.m4
gl_FUNC_MKDIR_TRAILING_SLASH
xalloc
dirname
mkstemp #include <stdlib.h> mkstemp.c
tempname.c
ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
mkstemp.m4
gl_FUNC_MKSTEMP
---
mkdtemp #include "mkdtemp.h" mkdtemp.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
mkdtemp.m4
gt_FUNC_MKDTEMP
---
poll #include <poll.h> poll.c
poll_.h
poll.m4
gl_FUNC_POLL
---
readlink --- readlink.c readlink.m4
gl_FUNC_READLINK
---
stat #include <sys/stat.h> stat.c
stat-macros.h
stat.m4
gl_FUNC_STAT
xalloc
lstat #include <sys/stat.h> lstat.c lstat.m4
gl_FUNC_LSTAT
stat
xalloc
time_r #include "time_r.h" time_r.c time_r.m4
gl_TIME_R
extensions
restrict
timespec #include "timespec.h" --- st_mtim.m4
timespec.m4
gl_TIMESPEC
extensions
nanosleep #include <time.h> nanosleep.c nanosleep.m4
gl_FUNC_NANOSLEEP
timespec
regex #include "regex.h" regex.c regex.m4
gl_REGEX
alloca
unlocked-io
gettext
restrict
rename #include <stdio.h> rename.c rename.m4
vb_FUNC_RENAME
xalloc
dirname
rmdir #include <unistd.h> rmdir.c
stat-macros.h
rmdir.m4
gl_FUNC_RMDIR
---
utime #if HAVE_UTIME_H
# include <utime.h>
#else
# include <sys/utime.h>
#endif
utime.c utimbuf.m4
utime.m4
utimes.m4
utimes-null.m4
gl_FUNC_UTIME
safe-read
full-write

Enhancements for POSIX:2001 functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
dirname #include "dirname.h" dirname.c
basename.c
stripslash.c
dos.m4
dirname.m4
gl_DIRNAME
xalloc
getopt #include <getopt.h> getopt_.h
getopt.c
getopt1.c
getopt_int.h
getopt.m4
gl_GETOPT
gettext
fcntl-safer #include "fcntl-safer.h" open-safer.c fcntl-safer.m4
gl_FCNTL_SAFER
unistd-safer
unistd-safer #include "unistd-safer.h" dup-safer.c unistd-safer.m4
gl_UNISTD_SAFER
---
fnmatch #include <fnmatch.h> fnmatch_.h
fnmatch.c
fnmatch_loop.c
mbstate_t.m4
fnmatch.m4
# No macro. You should also use one of fnmatch-posix or fnmatch-gnu.
alloca
fnmatch-posix #include "fnmatch.h" --- gl_FUNC_FNMATCH_POSIX fnmatch
fnmatch-gnu #include "fnmatch.h" --- gl_FUNC_FNMATCH_GNU fnmatch
exclude #include "exclude.h" exclude.c exclude.m4
gl_EXCLUDE
xalloc
strcase
unlocked-io
fnmatch-gnu
stdbool

Extra functions based on POSIX:2001

Numeric conversion functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
human #include "human.h" human.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
human.m4
gl_HUMAN
gettext
argmatch
error
xstrtol
stdbool

File system functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
acl #include "acl.h" acl.c acl.m4
AC_FUNC_ACL
---
backupfile #include "backupfile.h" backupfile.c dos.m4
d-ino.m4
backupfile.m4
gl_BACKUPFILE
argmatch
dirname
canonicalize #include "canonicalize.h" canonicalize.c
stat-macros.h
canonicalize.m4
AC_FUNC_CANONICALIZE_FILE_NAME
cycle-check
path-concat
xalloc
xgetcwd
copy-file #include "copy-file.h" copy-file.c copy-file.m4
gl_COPY_FILE
error
safe-read
full-write
binary-io
exit
gettext
cycle-check #include "cycle-check.h" cycle-check.c
dev-ino.h
--- ---
fsusage #include "fsusage.h" fsusage.c ulonglong.m4
stdint_h.m4
inttypes_h.m4
uintmax_t.m4
fsusage.m4
gl_FSUSAGE
full-read
dirfd #include "dirfd.h" dirfd.c dirfd.m4
gl_FUNC_DIRFD
---
euidaccess #include "euidaccess.h" euidaccess.c
stat-macros.h
euidaccess.m4
gl_FUNC_EUIDACCESS
group-member
file-type #include "file-type.h" file-type.c
stat-macros.h
file-type.m4
gl_FILE_TYPE
gettext
fileblocks --- fileblocks.c fileblocks.m4
gl_FILEBLOCKS
---
filemode #include "filemode.h" filemode.c
stat-macros.h
filemode.m4
gl_FILEMODE
---
isdir --- isdir.c isdir.m4
gl_ISDIR
---
lchown #include "lchown.h" lchown.c
stat-macros.h
lchown.m4
gl_FUNC_LCHOWN
chown
makepath #include "makepath.h" makepath.c
stat-macros.h
afs.m4
makepath.m4
gl_MAKEPATH
alloca
chown
gettext
save-cwd
dirname
error
quote
modechange #include "modechange.h" modechange.c modechange.m4
gl_MODECHANGE
xstrtol
mountlist #include "mountlist.h" mountlist.c ls-mntd-fs.m4
fstypename.m4
mountlist.m4
gl_MOUNTLIST
xalloc
unlocked-io
path-concat #include "path-concat.h" path-concat.c dos.m4
path-concat.m4
gl_PATH_CONCAT
xalloc
dirname
pathname #include "pathname.h" concatpath.c --- xalloc
stpcpy
pathmax #include "pathmax.h" --- pathmax.m4
gl_PATHMAX
---
same #include "same.h" same.c same.m4
gl_SAME
xalloc
error
dirname
stdbool
save-cwd #include "save-cwd.h" save-cwd.c save-cwd.m4
gl_SAVE_CWD
xgetcwd
savedir #include "savedir.h" savedir.c savedir.m4
gl_SAVEDIR
xalloc
utimecmp #include "utimecmp.h" utimecmp.c utimecmp.m4
gl_UTIMECMP
hash
timespec
utimens
xalloc
utimens #include "utimens.h" utimens.c utimens.m4
utimes.m4
gl_UTIMENS
timespec
xgetcwd #include "xgetcwd.h" xgetcwd.c getcwd.m4
xgetcwd.m4
gl_XGETCWD
xalloc
pathmax
xreadlink #include "xreadlink.h" xreadlink.c xreadlink.m4
ssize_t.m4
gl_XREADLINK
xalloc
readlink

File descriptor based Input/Output

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
safe-read #include "safe-read.h" safe-read.c safe-read.m4
ssize_t.m4
gl_SAFE_READ
---
safe-write #include "safe-write.h" safe-write.c safe-write.m4
gl_SAFE_WRITE
safe-read
full-read #include "full-read.h" full-read.c --- safe-read
full-write
full-write #include "full-write.h" full-write.c --- safe-write
binary-io #include "binary-io.h" --- --- ---

File stream based Input/Output

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
fpending #include "__fpending.h" __fpending.c fpending.m4
gl_FUNC_FPENDING
---
closeout #include "closeout.h" closeout.c closeout.m4
gl_CLOSEOUT
unlocked-io
gettext
error
quotearg
fpending
exitfail
stdio-safer #include "stdio-safer.h" fopen-safer.c stdio-safer.m4
gl_STDIO_SAFER
unistd-safer
getpass #include "getpass.h" getpass.c getpass.m4
gl_FUNC_GETPASS
unlocked-io
getline
stdbool
getpass-gnu #include "getpass.h" getpass.c getpass.m4
gl_FUNC_GETPASS_GNU
unlocked-io
getline
stdbool

Users and groups

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
getugroups --- getugroups.c getugroups.m4
gl_GETUGROUPS
---
group-member #include "group-member.h" group-member.c group-member.m4
gl_FUNC_GROUP_MEMBER
xalloc
stdbool
idcache --- idcache.c idcache.m4
gl_IDCACHE
xalloc
userspec #include "userspec.h" userspec.c userspec.m4
gl_USERSPEC
posixver
xalloc
xstrtol
strdup
gettext

Date and time

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
gettime --- gettime.c clock_time.m4
gettime.m4
gl_GETTIME
gettimeofday
timespec
settime --- settime.c clock_time.m4
settime.m4
gl_SETTIME
timespec
posixtm #include "posixtm.h" posixtm.c posixtm.m4
gl_POSIXTM
mktime
unlocked-io
xnanosleep #include "xnanosleep.h" xnanosleep.c --- timespec
xalloc

Networking functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
xgethostname #include "xgethostname.h" xgethostname.c --- gethostname
xalloc
canon-host --- canon-host.c canon-host.m4
gl_CANON_HOST
---

Internationalization functions

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
gettext #include "gettext.h" --- codeset.m4
gettext.m4
glibc21.m4
iconv.m4
intdiv0.m4
intmax.m4
inttypes.m4
inttypes_h.m4
inttypes-pri.m4
isc-posix.m4
lcmessage.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
longdouble.m4
longlong.m4
nls.m4
po.m4
printf-posix.m4
progtest.m4
signed.m4
size_max.m4
stdint_h.m4
uintmax_t.m4
ulonglong.m4
wchar_t.m4
wint_t.m4
xsize.m4
AM_GNU_GETTEXT([external])
---
iconv #include <iconv.h> --- iconv.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
AM_ICONV
---
localcharset #include "localcharset.h" localcharset.c
config.charset
ref-add.sin
ref-del.sin
codeset.m4
glibc21.m4
localcharset.m4
gl_LOCALCHARSET
---
hard-locale #include "hard-locale.h" hard-locale.c hard-locale.m4
gl_HARD_LOCALE
---
mbswidth #include "mbswidth.h" mbswidth.c mbstate_t.m4
mbrtowc.m4
mbswidth.m4
gl_MBSWIDTH
---
memcasecmp #include "memcasecmp.h" memcasecmp.c memcasecmp.m4
gl_MEMCASECMP
---
memcoll #include "memcoll.h" memcoll.c memcoll.m4
gl_MEMCOLL
---
xmemcoll #include "xmemcoll.h" xmemcoll.c --- memcoll
gettext
error
quotearg
exitfail
unicodeio #include "unicodeio.h" unicodeio.c unicodeio.m4
gl_UNICODEIO
iconv
gettext
localcharset
error
rpmatch --- rpmatch.c rpmatch.m4
gl_FUNC_RPMATCH
gettext
regex
yesno #include "yesno.h" yesno.c yesno.m4
gl_YESNO
unlocked-io
rpmatch
ucs4-utf8 --- ucs4-utf8.h ucs4-utf.m4
gl_UCS4_UTF
---
ucs4-utf16 --- ucs4-utf16.h ucs4-utf.m4
gl_UCS4_UTF
---
utf8-ucs4 --- utf8-ucs4.h utf-ucs4.m4
gl_UTF_UCS4
---
utf16-ucs4 --- utf16-ucs4.h utf-ucs4.m4
gl_UTF_UCS4
---
linebreak #include "linebreak.h" linebreak.c
lbrkprop.h
linebreak.m4
gl_LINEBREAK
localcharset
c-ctype
iconv
utf8-ucs4
utf16-ucs4
xsize

Executing programs

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
cloexec #include "cloexec.h" cloexec.c cloexec.m4
gl_CLOEXEC
stdbool
findprog #include "findprog.h" findprog.c findprog.m4
eaccess.m4
gl_FINDPROG
stdbool
xalloc
pathname
wait-process #include "wait-process.h" wait-process.c wait-process.m4
sig_atomic_t.m4
gl_WAIT_PROCESS
fatal-signal
error
exit
xalloc
gettext
stdbool
execute #include "execute.h" execute.c
w32spawn.h
execute.m4
gl_EXECUTE
error
exit
fatal-signal
wait-process
gettext
stdbool
strpbrk
pipe #include "pipe.h" pipe.c
w32spawn.h
pipe.m4
gl_PIPE
wait-process
error
exit
fatal-signal
gettext
stdbool
strpbrk

Java

Misc

modules/ lib/ lib/ m4/  
Module Header Implementation Autoconf macro Depends on
argp #include "argp.h" argp-ba.c
argp-eexst.c
argp-fmtstream.c
argp-fmtstream.h
argp-fs-xinl.c
argp-help.c
argp-namefrob.h
argp-parse.c
argp-pv.c
argp-pvh.c
argp-xinl.c
argp.m4
unlocked-io.m4
gl_ARGP
alloca
getopt
strchrnul
sysexits
mempcpy
strndup
restrict
strcase
extensions
argz #include <argz.h> argz_.h
argz.c
argz.m4
gl_FUNC_ARGZ
---
exitfail #include "exitfail.h" exitfail.c exitfail.m4
gl_EXITFAIL
exit
c-stack #include "c-stack.h" c-stack.c c-stack.m4
gl_C_STACK
gettext
exitfail
error #include "error.h" error.c error.m4
strerror_r.m4
gl_ERROR
unlocked-io
gettext
extensions --- --- extensions.m4
dnl gl_USE_SYSTEM_EXTENSIONS must be added quite early to configure.ac.
---
getdomainname #include "getdomainname.h" getdomainname.c getdomainname.m4
gl_FUNC_GETDOMAINNAME
---
xgetdomainname #include "xgetdomainname.h" xgetdomainname.c --- getdomainname
xalloc
getloadavg --- getloadavg.c getloadavg.m4
gl_FUNC_GETLOADAVG
cloexec
xalloc
getpagesize #include "getpagesize.h" --- getpagesize.m4
gl_GETPAGESIZE
---
getusershell --- getusershell.c getusershell.m4
gl_PREREQ_GETUSERSHELL
xalloc
unlocked-io
physmem #include "physmem.h" physmem.c physmem.m4
gl_PHYSMEM
---
posixver #include "posixver.h" posixver.c posixver.m4
gl_POSIXVER
---
progname #include "progname.h" progname.c --- ---
quotearg #include "quotearg.h" quotearg.c mbstate_t.m4
mbrtowc.m4
quotearg.m4
gl_QUOTEARG
xalloc
gettext
quote #include "quote.h" quote.c quote.m4
gl_QUOTE
quotearg
readutmp #include "readutmp.h" readutmp.c readutmp.m4
gl_READUTMP
xalloc
unlocked-io
sig2str #include "sig2str.h" sig2str.c sig2str.m4
gl_FUNC_SIG2STR
---
sysexits #include <sysexits.h> sysexit_.h sysexits.m4
gl_SYSEXITS
---

Lone files - please create new modules containing them

lib/progreloc.c
m4/check-decl.m4
m4/d-type.m4
m4/glibc.m4
m4/host-os.m4
m4/jm-macros.m4
m4/jm-winsz1.m4
m4/jm-winsz2.m4
m4/lib-check.m4
m4/link-follow.m4
m4/onceonly.m4
m4/perl.m4
m4/prereq.m4
m4/ptrdiff_max.m4
m4/readdir.m4
m4/rmdir-errno.m4
m4/search-libs.m4
m4/st_dm_mode.m4
m4/uintptr_t.m4
m4/unlink-busy.m4
m4/uptime.m4

Future developments

Ideally a module could consist of:
Generated from MODULES.html.sh on 10 September 2004.