(File descriptor based Input/Output): Add fcntl-safer.
[gnulib.git] / MODULES.html
index 42c4170..a16405b 100644 (file)
@@ -2,7 +2,7 @@
 <HTML>
   <HEAD>
     <TITLE>Gnulib Module List</TITLE>
-    <META NAME="keywords" CONTENT="acl, alloca, alloca-opt, allocsa, argmatch, argp, argz, assert, atexit, backupfile, base64, bcopy, binary-io, byteswap, c-bs-a, c-ctype, c-stack, c-strtod, c-strtold, calloc, canon-host, canonicalize, chdir-long, check-version, chown, classpath, cloexec, closeout, copy-file, csharpcomp, csharpexec, cycle-check, diacrit, dirfd, dirname, dummy, dup2, eealloc, error, euidaccess, exclude, execute, exit, exitfail, extensions, fatal-signal, file-type, fileblocks, filemode, filenamecat, findprog, fnmatch, fnmatch-gnu, fnmatch-posix, fpending, free, fsusage, ftruncate, fts, fts-lgpl, full-read, full-write, fwriteerror, gcd, getaddrinfo, getcwd, getdate, getdomainname, getgroups, gethostname, gethrxtime, getline, getloadavg, getlogin_r, getndelim2, getnline, getopt, getpagesize, getpass, getpass-gnu, getsubopt, gettext, gettext-h, gettime, gettimeofday, getugroups, getusershell, glob, group-member, hard-locale, hash, hash-pjw, human, iconv, iconvme, idcache, inet_ntop, inttostr, isdir, javacomp, javaexec, lchown, linebreak, linebuffer, localcharset, long-options, lstat, malloc, mathl, mbswidth, md5, memcasecmp, memchr, memcmp, memcoll, memcpy, memmem, memmove, mempcpy, memrchr, memset, minmax, mkdir, mkdir-p, mkdtemp, mkstemp, mktime, modechange, mountlist, nanosleep, obstack, openat, pagealign_alloc, pathmax, pathname, physmem, pipe, poll, posixtm, posixver, progname, putenv, quote, quotearg, raise, readlink, readtokens, readtokens0, readutmp, realloc, regex, rename, restrict, rmdir, rpmatch, safe-read, safe-write, same, save-cwd, savedir, setenv, settime, sh-quote, sha1, sig2str, snprintf, stat-macros, stdbool, stdint, stdio-safer, stpcpy, stpncpy, strcase, strchrnul, strcspn, strdup, strerror, strftime, strndup, strnlen, strpbrk, strsep, strstr, strtod, strtoimax, strtok_r, strtol, strtoll, strtoul, strtoull, strtoumax, strverscmp, sysexits, time_r, timegm, timespec, tzset, ucs4-utf16, ucs4-utf8, ullong_max, unicodeio, unistd-safer, unlinkdir, unlocked-io, userspec, utf16-ucs4, utf8-ucs4, utime, utimecmp, utimens, vasnprintf, vasprintf, version-etc, version-etc-fsf, vsnprintf, wait-process, xalloc, xalloc-die, xallocsa, xgetcwd, xgetdomainname, xgethostname, xmemcoll, xnanosleep, xreadlink, xsetenv, xsize, xstrndup, xstrtod, xstrtoimax, xstrtol, xstrtoumax, xvasprintf, yesno">
+    <META NAME="keywords" CONTENT="acl, alloca, alloca-opt, allocsa, argmatch, argp, argz, assert, atexit, backupfile, base64, bcopy, binary-io, byteswap, c-bs-a, c-ctype, c-stack, c-strtod, c-strtold, calloc, canon-host, canonicalize, chdir-long, check-version, chown, classpath, cloexec, closeout, copy-file, csharpcomp, csharpexec, cycle-check, diacrit, dirfd, dirname, dummy, dup2, eealloc, error, euidaccess, exclude, execute, exit, exitfail, extensions, fatal-signal, file-type, fileblocks, filemode, filenamecat, findprog, fnmatch, fnmatch-gnu, fnmatch-posix, fpending, free, fsusage, ftruncate, fts, fts-lgpl, full-read, full-write, fwriteerror, gcd, getaddrinfo, getcwd, getdate, getdelim, getdomainname, getgroups, gethostname, gethrxtime, getline, getloadavg, getlogin_r, getndelim2, getnline, getopt, getpagesize, getpass, getpass-gnu, getsubopt, gettext, gettext-h, gettime, gettimeofday, getugroups, getusershell, glob, group-member, hard-locale, hash, hash-pjw, human, iconv, iconvme, idcache, inet_ntop, inttostr, isdir, javacomp, javaexec, lchown, linebreak, linebuffer, localcharset, lock, long-options, lstat, malloc, mathl, mbchar, mbfile, mbiter, mbswidth, mbuiter, md5, memcasecmp, memchr, memcmp, memcoll, memcpy, memmem, memmove, mempcpy, memrchr, memset, minmax, mkdir, mkdir-p, mkdtemp, mkstemp, mktime, modechange, mountlist, nanosleep, obstack, openat, pagealign_alloc, pathmax, pathname, physmem, pipe, poll, posixtm, posixver, progname, putenv, quote, quotearg, raise, readline, readlink, readtokens, readtokens0, readutmp, realloc, regex, rename, restrict, rmdir, rpmatch, safe-read, safe-write, same, save-cwd, savedir, setenv, settime, sh-quote, sha1, sig2str, size_max, snprintf, ssize_t, stat-macros, stdbool, stdint, stdio-safer, stpcpy, stpncpy, strcase, strcasestr, strchrnul, strcspn, strdup, strerror, strftime, strndup, strnlen, strnlen1, strpbrk, strsep, strstr, strtod, strtoimax, strtok_r, strtol, strtoll, strtoul, strtoull, strtoumax, strverscmp, sysexits, time_r, timegm, timespec, tls, tzset, ucs4-utf16, ucs4-utf8, ullong_max, unicodeio, unistd-safer, unlinkdir, unlocked-io, userspec, utf16-ucs4, utf8-ucs4, utime, utimecmp, utimens, vasnprintf, vasprintf, version-etc, version-etc-fsf, visibility, vsnprintf, wait-process, xalloc, xalloc-die, xallocsa, xgetcwd, xgetdomainname, xgethostname, xmemcoll, xnanosleep, xreadlink, xsetenv, xsize, xstrndup, xstrtod, xstrtoimax, xstrtol, xstrtoumax, xvasprintf, yesno">
   </HEAD>
   <BODY>
     <H1>Gnulib Module List</H1>
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/mktime.html">mktime</A>() function: convert broken-down time to linear time.
       </TR>
     </TABLE>
     Most of these modules are not listed among dependencies below, for simplicity.
@@ -88,7 +88,7 @@
     <TABLE>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=calloc">calloc</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/calloc.html">calloc</A>() function that is glibc compatible.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/calloc.html">calloc</A>() function that is glibc compatible.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=eealloc">eealloc</A>
       </TR>
       <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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/realloc.html">realloc</A>() function that is glibc compatible.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=pagealign_alloc">pagealign_alloc</A>
@@ -167,17 +167,17 @@ HAVE_ALLOCA.
     <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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/setenv.html">setenv</A>() function: set an environment variable.
+<A HREF="http://www.opengroup.org/susv3xsh/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.
+<A HREF="http://www.opengroup.org/susv3xsh/unsetenv.html">unsetenv</A>() function: remove an environment variable.
       </TR>
     </TABLE>
     <H3><A HREF="#ansic_ext_ctype">Character handling &lt;ctype.h&gt;</A></H3>
@@ -191,7 +191,7 @@ HAVE_ALLOCA.
     <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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Old BSD <A HREF="http://www.opengroup.org/susv3xsh/bcopy.html">bcopy</A>() function: copy memory area.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=memmem">memmem</A>
@@ -218,18 +218,26 @@ HAVE_ALLOCA.
         <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=strcasestr">strcasestr</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">strcasestr() function: case-insensitive search for a substring in a string.
+      </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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=strnlen1">strnlen1</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Quick string length estimation.
+      </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>
@@ -347,6 +355,10 @@ HAVE_ALLOCA.
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Encode binary data using printable characters (base64).
       </TR>
       <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=check-version">check-version</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Check version string compatibility.
+      </TR>
+      <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>
@@ -355,6 +367,10 @@ HAVE_ALLOCA.
         <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=getdelim">getdelim</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read character delimited data from a stream.
+      </TR>
+      <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getnline">getnline</A>
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Read a line from a stream, with bounded memory allocation.
       </TR>
@@ -380,6 +396,10 @@ memory allocation.
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Parametrizable hash table.
       </TR>
       <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=readline">readline</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Simple implementation of readline.
+      </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>
@@ -406,6 +426,10 @@ memory allocation.
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=ullong_max">ullong_max</A>
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">The maximum unsigned long long value, as a preprocessor constant.
       </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=size_max">size_max</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Provide SIZE_MAX.
+      </TR>
     </TABLE>
     <H3><A HREF="#isoc_sup_stdbool">Boolean type and values &lt;stdbool.h&gt;</A></H3>
     <TABLE>
@@ -428,11 +452,11 @@ to the fastest and smallest types available on the system.)
     <TABLE>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=snprintf">snprintf</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/snprintf.html">snprintf</A>() function: print formatted output to a fixed length string
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/snprintf.html">snprintf</A>() function: print formatted output to a fixed length string
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=vsnprintf">vsnprintf</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/vsnprintf.html">vsnprintf</A>() function: print formatted output from an stdarg argument list
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/vsnprintf.html">vsnprintf</A>() function: print formatted output from an stdarg argument list
 to a fixed length string
       </TR>
     </TABLE>
@@ -440,22 +464,22 @@ to a fixed length string
     <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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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 &lt;inttypes.h&gt;</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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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'.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/strtoumax.html">strtoumax</A>() function: convert string to 'uintmax_t'.
       </TR>
     </TABLE>
     <H3><A HREF="#isoc_sup_math">Mathematics &lt;math.h&gt;</A></H3>
@@ -484,19 +508,38 @@ to a fixed length string
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Convert string to 'uintmax_t', with error checking.
       </TR>
     </TABLE>
+    <H3><A HREF="#isoc_ext_wchar_mb">Extended multibyte and wide character utilities &lt;wchar.h&gt;</A></H3>
+    <TABLE>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mbchar">mbchar</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Multibyte character data type.
+      </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mbiter">mbiter</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Iterating through multibyte strings.
+      </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mbuiter">mbuiter</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Iterating through multibyte strings.
+      </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mbfile">mbfile</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Multibyte character I/O.
+      </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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=getaddrinfo">getaddrinfo</A>
@@ -508,15 +551,15 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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=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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/gethostname.html">gethostname</A>() function: Return machine's hostname.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getlogin_r">getlogin_r</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/getlogin_r.html">getlogin_r</A>() function: Get user name to a buffer allocated by the caller.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/getlogin_r.html">getlogin_r</A>() function: Get user name to a buffer allocated by the caller.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=getsubopt">getsubopt</A>
@@ -524,7 +567,7 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/gettimeofday.html">gettimeofday</A>() function: return current time.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=inet_ntop">inet_ntop</A>
@@ -532,11 +575,11 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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>
@@ -544,15 +587,15 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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=readlink">readlink</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/readlink.html">readlink</A>() function: read the value of a symbolic link.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/readlink.html">readlink</A>() function: read the value of a symbolic link.
       </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/lstat.html">lstat</A>() function: return information about a file or symbolic link.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/lstat.html">lstat</A>() function: return information about a file or symbolic link.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=time_r">time_r</A>
@@ -564,7 +607,7 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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>
@@ -572,19 +615,23 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/rmdir.html">rmdir</A>() function: delete a directory.
+      </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=ssize_t">ssize_t</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Define ssize_t if it does not already exist.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=strtok_r">strtok_r</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/strtok_r.html">strtok_r</A>() function: split string into tokens, thread safe.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/strtok_r.html">strtok_r</A>() function: split string into tokens, thread safe.
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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>
@@ -603,19 +650,19 @@ to a fixed length string
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">GNU <A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/fnmatch.html">fnmatch</A>() function: wildcard matching, with GNU extensions.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=glob">glob</A>
-        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/glob.html">glob</A>() function: Search for files and directories with paths matching a
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/glob.html">glob</A>() function: Search for files and directories with paths matching a
 pattern, with GNU extensions.
       </TR>
       <TR WIDTH="100%">
@@ -698,7 +745,7 @@ file.
       </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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%"><A HREF="http://www.opengroup.org/susv3xsh/lchown.html">lchown</A>() function: change ownership of a file.
       </TR>
       <TR WIDTH="100%">
         <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=mkdir-p">mkdir-p</A>
@@ -760,19 +807,19 @@ directory.
     <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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/susv3xsh/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.
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">An interface to <A HREF="http://www.opengroup.org/susv3xsh/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>
@@ -852,6 +899,17 @@ directory.
 usually the host name including FQDN.
       </TR>
     </TABLE>
+    <H3><A HREF="#posix_ext_thread">Multithreading</A></H3>
+    <TABLE>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=lock">lock</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Locking in multithreaded situations.
+      </TR>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=tls">tls</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Thread-local storage in multithreaded situations.
+      </TR>
+    </TABLE>
     <H3><A HREF="#posix_ext_i18n">Internationalization functions</A></H3>
     <TABLE>
       <TR WIDTH="100%">
@@ -1064,6 +1122,10 @@ variables.
         <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>
+      <TR WIDTH="100%">
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="20%"><A HREF="#module=visibility">visibility</A>
+        <TD ALIGN=LEFT VALIGN=TOP WIDTH="80%">Control of symbols exported by shared libraries.
+      </TR>
     </TABLE>
     <H2><A NAME="ansic_sup">Support for systems lacking ANSI C 89</A></H2>
     <TABLE>
@@ -1090,7 +1152,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=assert"></A><A HREF="modules/assert">assert</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/assert.h.html">assert.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/assert.h.html">assert.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP>---
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/assert.m4">assert.m4</A><BR>gl_ASSERT
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -1111,70 +1173,70 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=atexit"></A><A HREF="modules/atexit">atexit</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/atexit.c">atexit.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/atexit.m4">atexit.m4</A><BR>gl_FUNC_ATEXIT
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtod"></A><A HREF="modules/strtod">strtod</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtod.c">strtod.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strtod.m4">strtod.m4</A><BR>gl_FUNC_STRTOD
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtol"></A><A HREF="modules/strtol">strtol</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtol.c">strtol.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strtol.m4">strtol.m4</A><BR>gl_FUNC_STRTOL
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtoul"></A><A HREF="modules/strtoul">strtoul</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtoul.c">strtoul.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strtoul.m4">strtoul.m4</A><BR>gl_FUNC_STRTOUL
         <TD ALIGN=LEFT VALIGN=TOP>strtol
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=memchr"></A><A HREF="modules/memchr">memchr</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/memchr.c">memchr.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/memchr.m4">memchr.m4</A><BR>gl_FUNC_MEMCHR
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=memcmp"></A><A HREF="modules/memcmp">memcmp</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/memcmp.c">memcmp.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/memcmp.m4">memcmp.m4</A><BR>gl_FUNC_MEMCMP
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=memcpy"></A><A HREF="modules/memcpy">memcpy</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/memcpy.c">memcpy.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/memcpy.m4">memcpy.m4</A><BR>gl_FUNC_MEMCPY
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=memmove"></A><A HREF="modules/memmove">memmove</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/memmove.c">memmove.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/memmove.m4">memmove.m4</A><BR>gl_FUNC_MEMMOVE
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=memset"></A><A HREF="modules/memset">memset</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/memset.c">memset.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/memset.m4">memset.m4</A><BR>gl_FUNC_MEMSET
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strcspn"></A><A HREF="modules/strcspn">strcspn</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strcspn.c">strcspn.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strcspn.m4">strcspn.m4</A><BR>gl_FUNC_STRCSPN
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -1190,19 +1252,19 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strstr"></A><A HREF="modules/strstr">strstr</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strstr.h">strstr.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strstr.c">strstr.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strstr.m4">strstr.m4</A><BR>gl_FUNC_STRSTR
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strstr.m4">strstr.m4</A><BR><A HREF="m4/mbrtowc.m4">mbrtowc.m4</A><BR>gl_FUNC_STRSTR
+        <TD ALIGN=LEFT VALIGN=TOP>mbuiter
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strerror"></A><A HREF="modules/strerror">strerror</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/string.h.html">string.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/string.h.html">string.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strerror.c">strerror.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strerror.m4">strerror.m4</A><BR>gl_FUNC_STRERROR
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mktime"></A><A HREF="modules/mktime">mktime</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/time.h.html">time.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/time.h.html">time.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/mktime.c">mktime.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mktime.m4">mktime.m4</A><BR>gl_FUNC_MKTIME
         <TD ALIGN=LEFT VALIGN=TOP>time_r
@@ -1228,7 +1290,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=calloc"></A><A HREF="modules/calloc">calloc</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/calloc.c">calloc.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/calloc.m4">calloc.m4</A><BR>AC_FUNC_CALLOC
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -1242,21 +1304,21 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=free"></A><A HREF="modules/free">free</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/free.c">free.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/free.m4">free.m4</A><BR>gl_FUNC_FREE
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=malloc"></A><A HREF="modules/malloc">malloc</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/malloc.c">malloc.c</A>
         <TD ALIGN=LEFT VALIGN=TOP>AC_FUNC_MALLOC
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=realloc"></A><A HREF="modules/realloc">realloc</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/realloc.c">realloc.c</A>
         <TD ALIGN=LEFT VALIGN=TOP>AC_FUNC_REALLOC
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -1314,15 +1376,15 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=xsize"></A><A HREF="modules/xsize">xsize</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/xsize.h">xsize.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP>---
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/xsize.m4">xsize.m4</A><BR><A HREF="m4/size_max.m4">size_max.m4</A><BR>gl_XSIZE
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/xsize.m4">xsize.m4</A><BR>gl_XSIZE
+        <TD ALIGN=LEFT VALIGN=TOP>size_max
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=xalloc"></A><A HREF="modules/xalloc">xalloc</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/xalloc.h">xalloc.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/xmalloc.c">xmalloc.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/xalloc.m4">xalloc.m4</A><BR>gl_XALLOC
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP>xalloc-die
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=xalloc-die"></A><A HREF="modules/xalloc-die">xalloc-die</A>
@@ -1515,8 +1577,15 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strcase"></A><A HREF="modules/strcase">strcase</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strcase.h">strcase.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strcasecmp.c">strcasecmp.c</A><BR><A HREF="lib/strncasecmp.c">strncasecmp.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strcase.m4">strcase.m4</A><BR>gl_STRCASE
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strcase.m4">strcase.m4</A><BR><A HREF="m4/mbrtowc.m4">mbrtowc.m4</A><BR>gl_STRCASE
+        <TD ALIGN=LEFT VALIGN=TOP>mbuiter
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strcasestr"></A><A HREF="modules/strcasestr">strcasestr</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strcasestr.h">strcasestr.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strcasestr.c">strcasestr.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strcasestr.m4">strcasestr.m4</A><BR><A HREF="m4/mbrtowc.m4">mbrtowc.m4</A><BR>gl_FUNC_STRCASESTR
+        <TD ALIGN=LEFT VALIGN=TOP>mbuiter
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strchrnul"></A><A HREF="modules/strchrnul">strchrnul</A>
@@ -1535,11 +1604,18 @@ variables.
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strnlen"></A><A HREF="modules/strnlen">strnlen</A>
         <TD ALIGN=LEFT VALIGN=TOP>---
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strnlen.c">strnlen.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strnlen.h">strnlen.h</A><BR><A HREF="lib/strnlen.c">strnlen.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/strnlen.m4">strnlen.m4</A><BR>gl_FUNC_STRNLEN
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strnlen1"></A><A HREF="modules/strnlen1">strnlen1</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strnlen1.h">strnlen1.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strnlen1.c">strnlen1.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP>memchr
+      </TR>
+      <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strndup"></A><A HREF="modules/strndup">strndup</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strndup.h">strndup.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strndup.c">strndup.c</A>
@@ -1638,7 +1714,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=tzset"></A><A HREF="modules/tzset">tzset</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/time.h.html">time.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/time.h.html">time.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP>---
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/tzset.m4">tzset.m4</A><BR>gl_FUNC_TZSET_CLOBBER
         <TD ALIGN=LEFT VALIGN=TOP>gettimeofday
@@ -1693,7 +1769,7 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/xvasprintf.h">xvasprintf.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/xvasprintf.c">xvasprintf.c</A><BR><A HREF="lib/xasprintf.c">xasprintf.c</A><BR><A HREF="lib/xalloc.h">xalloc.h</A>
         <TD ALIGN=LEFT VALIGN=TOP>---
-        <TD ALIGN=LEFT VALIGN=TOP>vasprintf
+        <TD ALIGN=LEFT VALIGN=TOP>vasprintf<BR>xalloc-die
       </TR>
     </TABLE>
     <H3><A NAME="ansic_ext_signal">Signal handling &lt;signal.h&gt;</A></H3>
@@ -1827,6 +1903,13 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>stdbool<BR>restrict
       </TR>
       <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=check-version"></A><A HREF="modules/check-version">check-version</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/check-version.h">check-version.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/check-version.c">check-version.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/check-version.m4">check-version.m4</A><BR>gl_CHECK_VERSION
+        <TD ALIGN=LEFT VALIGN=TOP>strverscmp
+      </TR>
+      <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=diacrit"></A><A HREF="modules/diacrit">diacrit</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/diacrit.h">diacrit.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/diacrit.c">diacrit.c</A>
@@ -1836,23 +1919,30 @@ variables.
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=getline"></A><A HREF="modules/getline">getline</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/getline.h">getline.h</A>"
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getline.c">getline.c</A><BR><A HREF="lib/getndelim2.h">getndelim2.h</A><BR><A HREF="lib/getndelim2.c">getndelim2.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getline.m4">getline.m4</A><BR><A HREF="m4/getndelim2.m4">getndelim2.m4</A><BR><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>AM_FUNC_GETLINE
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getline.c">getline.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getline.m4">getline.m4</A><BR>gl_FUNC_GETLINE
+        <TD ALIGN=LEFT VALIGN=TOP>getdelim
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=getdelim"></A><A HREF="modules/getdelim">getdelim</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/getdelim.h">getdelim.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getdelim.c">getdelim.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getdelim.m4">getdelim.m4</A><BR>gl_FUNC_GETDELIM
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=getnline"></A><A HREF="modules/getnline">getnline</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/getnline.h">getnline.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getnline.c">getnline.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getnline.m4">getnline.m4</A><BR><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>gl_GETNLINE
-        <TD ALIGN=LEFT VALIGN=TOP>getndelim2
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getnline.m4">getnline.m4</A><BR>gl_GETNLINE
+        <TD ALIGN=LEFT VALIGN=TOP>getndelim2<BR>ssize_t
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=getndelim2"></A><A HREF="modules/getndelim2">getndelim2</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/getndelim2.h">getndelim2.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getndelim2.c">getndelim2.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getndelim2.m4">getndelim2.m4</A><BR><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>gl_GETNDELIM2
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getndelim2.m4">getndelim2.m4</A><BR>gl_GETNDELIM2
+        <TD ALIGN=LEFT VALIGN=TOP>ssize_t
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=linebuffer"></A><A HREF="modules/linebuffer">linebuffer</A>
@@ -1883,6 +1973,13 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>stdbool<BR>xalloc
       </TR>
       <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=readline"></A><A HREF="modules/readline">readline</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/readline.h">readline.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/readline.c">readline.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/readline.m4">readline.m4</A><BR><A HREF="m4/lib-link.m4">lib-link.m4</A><BR>gl_FUNC_READLINE
+        <TD ALIGN=LEFT VALIGN=TOP>getline
+      </TR>
+      <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=readtokens"></A><A HREF="modules/readtokens">readtokens</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/readtokens.h">readtokens.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/readtokens.c">readtokens.c</A>
@@ -1947,11 +2044,18 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=ullong_max"></A><A HREF="modules/ullong_max">ullong_max</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/limits.h.html">limits.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/limits.h.html">limits.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP>---
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/ullong_max.m4">ullong_max.m4</A><BR>gl_ULLONG_MAX
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=size_max"></A><A HREF="modules/size_max">size_max</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/size_max.h">size_max.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/size_max.m4">size_max.m4</A><BR>gl_SIZE_MAX
+        <TD ALIGN=LEFT VALIGN=TOP>---
+      </TR>
     </TABLE>
     <H3><A NAME="isoc_sup_stdbool">Boolean type and values &lt;stdbool.h&gt;</A></H3>
     <TABLE>
@@ -1971,7 +2075,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=stdbool"></A><A HREF="modules/stdbool">stdbool</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdbool.h.html">stdbool.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdbool.h.html">stdbool.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/stdbool_.h">stdbool_.h</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/stdbool.m4">stdbool.m4</A><BR>AM_STDBOOL_H
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -1995,7 +2099,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=stdint"></A><A HREF="modules/stdint">stdint</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdint.h.html">stdint.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdint.h.html">stdint.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/stdint_.h">stdint_.h</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/stdint.m4">stdint.m4</A><BR><A HREF="m4/inttypes.m4">inttypes.m4</A><BR>gl_STDINT_H
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -2050,14 +2154,14 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtoll"></A><A HREF="modules/strtoll">strtoll</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtoll.c">strtoll.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/longlong.m4">longlong.m4</A><BR><A HREF="m4/strtoll.m4">strtoll.m4</A><BR>gl_FUNC_STRTOLL
         <TD ALIGN=LEFT VALIGN=TOP>strtol
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtoull"></A><A HREF="modules/strtoull">strtoull</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtoull.c">strtoull.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/ulonglong.m4">ulonglong.m4</A><BR><A HREF="m4/strtoull.m4">strtoull.m4</A><BR>gl_FUNC_STRTOULL
         <TD ALIGN=LEFT VALIGN=TOP>strtoul
@@ -2174,6 +2278,51 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>xstrtol<BR>strtoumax
       </TR>
     </TABLE>
+    <H3><A NAME="isoc_ext_wchar_mb">Extended multibyte and wide character utilities &lt;wchar.h&gt;</A></H3>
+    <TABLE>
+      <TR>
+        <TH ALIGN=LEFT>modules/
+        <TH ALIGN=LEFT>lib/
+        <TH ALIGN=LEFT>lib/
+        <TH ALIGN=LEFT>m4/
+        <TH ALIGN=LEFT>&nbsp;
+      </TR>
+      <TR>
+        <TH ALIGN=LEFT>Module
+        <TH ALIGN=LEFT>Header
+        <TH ALIGN=LEFT>Implementation
+        <TH ALIGN=LEFT>Autoconf macro
+        <TH ALIGN=LEFT>Depends on
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mbchar"></A><A HREF="modules/mbchar">mbchar</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/mbchar.h">mbchar.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/mbchar.c">mbchar.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mbchar.m4">mbchar.m4</A><BR>gl_MBCHAR
+        <TD ALIGN=LEFT VALIGN=TOP>stdbool
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mbiter"></A><A HREF="modules/mbiter">mbiter</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/mbiter.h">mbiter.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mbiter.m4">mbiter.m4</A><BR>gl_MBITER
+        <TD ALIGN=LEFT VALIGN=TOP>mbchar<BR>stdbool
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mbuiter"></A><A HREF="modules/mbuiter">mbuiter</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/mbuiter.h">mbuiter.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mbiter.m4">mbiter.m4</A><BR>gl_MBITER
+        <TD ALIGN=LEFT VALIGN=TOP>mbchar<BR>stdbool<BR>strnlen1
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mbfile"></A><A HREF="modules/mbfile">mbfile</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/mbfile.h">mbfile.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mbfile.m4">mbfile.m4</A><BR>gl_MBFILE
+        <TD ALIGN=LEFT VALIGN=TOP>mbchar<BR>stdbool
+      </TR>
+    </TABLE>
     <H2><A NAME="posix_sup">Support for systems lacking POSIX:2001</A></H2>
     <TABLE>
       <TR>
@@ -2192,21 +2341,21 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=chown"></A><A HREF="modules/chown">chown</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html">unistd.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/unistd.h.html">unistd.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/chown.c">chown.c</A><BR><A HREF="lib/fchown-stub.c">fchown-stub.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/chown.m4">chown.m4</A><BR>gl_FUNC_CHOWN
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=dup2"></A><A HREF="modules/dup2">dup2</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html">unistd.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/unistd.h.html">unistd.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/dup2.c">dup2.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/dup2.m4">dup2.m4</A><BR>gl_FUNC_DUP2
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=ftruncate"></A><A HREF="modules/ftruncate">ftruncate</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html">unistd.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/unistd.h.html">unistd.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/ftruncate.c">ftruncate.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/ftruncate.m4">ftruncate.m4</A><BR>gl_FUNC_FTRUNCATE
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -2227,7 +2376,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=getgroups"></A><A HREF="modules/getgroups">getgroups</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html">unistd.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/unistd.h.html">unistd.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/getgroups.c">getgroups.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/getgroups.m4">getgroups.m4</A><BR>gl_FUNC_GETGROUPS
         <TD ALIGN=LEFT VALIGN=TOP>xalloc
@@ -2255,7 +2404,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=gettimeofday"></A><A HREF="modules/gettimeofday">gettimeofday</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/time.h.html">sys/time.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/sys/time.h.html">sys/time.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/gettimeofday.c">gettimeofday.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/gettimeofday.m4">gettimeofday.m4</A><BR>AC_FUNC_GETTIMEOFDAY_CLOBBER
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -2269,14 +2418,14 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mkdir"></A><A HREF="modules/mkdir">mkdir</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/stat.h.html">sys/stat.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/sys/stat.h.html">sys/stat.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/mkdir.c">mkdir.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mkdir-slash.m4">mkdir-slash.m4</A><BR>gl_FUNC_MKDIR_TRAILING_SLASH
         <TD ALIGN=LEFT VALIGN=TOP>xalloc<BR>dirname
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=mkstemp"></A><A HREF="modules/mkstemp">mkstemp</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdlib.h.html">stdlib.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdlib.h.html">stdlib.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/mkstemp.c">mkstemp.c</A><BR><A HREF="lib/tempname.c">tempname.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/ulonglong.m4">ulonglong.m4</A><BR><A HREF="m4/stdint_h.m4">stdint_h.m4</A><BR><A HREF="m4/inttypes_h.m4">inttypes_h.m4</A><BR><A HREF="m4/uintmax_t.m4">uintmax_t.m4</A><BR><A HREF="m4/mkstemp.m4">mkstemp.m4</A><BR>gl_FUNC_MKSTEMP
         <TD ALIGN=LEFT VALIGN=TOP>stat-macros
@@ -2290,7 +2439,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=poll"></A><A HREF="modules/poll">poll</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/poll.h.html">poll.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/poll.h.html">poll.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/poll.c">poll.c</A><BR><A HREF="lib/poll_.h">poll_.h</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/poll.m4">poll.m4</A><BR>gl_FUNC_POLL
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -2325,7 +2474,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=nanosleep"></A><A HREF="modules/nanosleep">nanosleep</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/time.h.html">time.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/time.h.html">time.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/nanosleep.c">nanosleep.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/nanosleep.m4">nanosleep.m4</A><BR>gl_FUNC_NANOSLEEP
         <TD ALIGN=LEFT VALIGN=TOP>timespec<BR>stdbool
@@ -2339,19 +2488,26 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=rename"></A><A HREF="modules/rename">rename</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/stdio.h.html">stdio.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/stdio.h.html">stdio.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/rename.c">rename.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/rename.m4">rename.m4</A><BR>vb_FUNC_RENAME
         <TD ALIGN=LEFT VALIGN=TOP>xalloc<BR>dirname
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=rmdir"></A><A HREF="modules/rmdir">rmdir</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/unistd.h.html">unistd.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/unistd.h.html">unistd.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/rmdir.c">rmdir.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/rmdir.m4">rmdir.m4</A><BR>gl_FUNC_RMDIR
         <TD ALIGN=LEFT VALIGN=TOP>stat-macros
       </TR>
       <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=ssize_t"></A><A HREF="modules/ssize_t">ssize_t</A>
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>gt_TYPE_SSIZE_T
+        <TD ALIGN=LEFT VALIGN=TOP>---
+      </TR>
+      <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=strtok_r"></A><A HREF="modules/strtok_r">strtok_r</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/strtok_r.h">strtok_r.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/strtok_r.c">strtok_r.c</A>
@@ -2405,7 +2561,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=fnmatch"></A><A HREF="modules/fnmatch">fnmatch</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/fnmatch.h.html">fnmatch.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/fnmatch.h.html">fnmatch.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/fnmatch_.h">fnmatch_.h</A><BR><A HREF="lib/fnmatch.c">fnmatch.c</A><BR><A HREF="lib/fnmatch_loop.c">fnmatch_loop.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/mbstate_t.m4">mbstate_t.m4</A><BR><A HREF="m4/fnmatch.m4">fnmatch.m4</A><BR># No macro. You should also use one of fnmatch-posix or fnmatch-gnu.
         <TD ALIGN=LEFT VALIGN=TOP>alloca<BR>stdbool
@@ -2426,7 +2582,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=glob"></A><A HREF="modules/glob">glob</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/glob.h.html">glob.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/glob.h.html">glob.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/glob_.h">glob_.h</A><BR><A HREF="lib/glob.c">glob.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/d-type.m4">d-type.m4</A><BR><A HREF="m4/glob.m4">glob.m4</A><BR>gl_GLOB
         <TD ALIGN=LEFT VALIGN=TOP>alloca<BR>extensions<BR>fnmatch<BR>getlogin_r<BR>mempcpy<BR>restrict<BR>stat-macros<BR>stdbool<BR>strdup
@@ -2680,8 +2836,8 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=xreadlink"></A><A HREF="modules/xreadlink">xreadlink</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/xreadlink.h">xreadlink.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/xreadlink.c">xreadlink.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/xreadlink.m4">xreadlink.m4</A><BR><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>gl_XREADLINK
-        <TD ALIGN=LEFT VALIGN=TOP>xalloc<BR>readlink
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/xreadlink.m4">xreadlink.m4</A><BR>gl_XREADLINK
+        <TD ALIGN=LEFT VALIGN=TOP>xalloc<BR>readlink<BR>ssize_t
       </TR>
     </TABLE>
     <H3><A NAME="posix_ext_filedesc">File descriptor based Input/Output</A></H3>
@@ -2704,8 +2860,8 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=safe-read"></A><A HREF="modules/safe-read">safe-read</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/safe-read.h">safe-read.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/safe-read.c">safe-read.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/safe-read.m4">safe-read.m4</A><BR><A HREF="m4/ssize_t.m4">ssize_t.m4</A><BR>gl_SAFE_READ
-        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/safe-read.m4">safe-read.m4</A><BR>gl_SAFE_READ
+        <TD ALIGN=LEFT VALIGN=TOP>ssize_t
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=safe-write"></A><A HREF="modules/safe-write">safe-write</A>
@@ -2909,6 +3065,37 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>strdup
       </TR>
     </TABLE>
+    <H3><A NAME="posix_ext_thread">Multithreading</A></H3>
+    <TABLE>
+      <TR>
+        <TH ALIGN=LEFT>modules/
+        <TH ALIGN=LEFT>lib/
+        <TH ALIGN=LEFT>lib/
+        <TH ALIGN=LEFT>m4/
+        <TH ALIGN=LEFT>&nbsp;
+      </TR>
+      <TR>
+        <TH ALIGN=LEFT>Module
+        <TH ALIGN=LEFT>Header
+        <TH ALIGN=LEFT>Implementation
+        <TH ALIGN=LEFT>Autoconf macro
+        <TH ALIGN=LEFT>Depends on
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=lock"></A><A HREF="modules/lock">lock</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/lock.h">lock.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/lock.c">lock.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/lock.m4">lock.m4</A><BR><A HREF="m4/lib-ld.m4">lib-ld.m4</A><BR><A HREF="m4/lib-link.m4">lib-link.m4</A><BR><A HREF="m4/lib-prefix.m4">lib-prefix.m4</A><BR>gl_LOCK
+        <TD ALIGN=LEFT VALIGN=TOP>---
+      </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=tls"></A><A HREF="modules/tls">tls</A>
+        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/tls.h">tls.h</A>"
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/tls.c">tls.c</A>
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/tls.m4">tls.m4</A><BR>gl_TLS
+        <TD ALIGN=LEFT VALIGN=TOP>lock
+      </TR>
+    </TABLE>
     <H3><A NAME="posix_ext_i18n">Internationalization functions</A></H3>
     <TABLE>
       <TR>
@@ -2941,7 +3128,7 @@ variables.
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=iconv"></A><A HREF="modules/iconv">iconv</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/onlinepubs/007904975/basedefs/iconv.h.html">iconv.h</A>&gt;
+        <TD ALIGN=LEFT VALIGN=TOP>#include &lt;<A HREF="http://www.opengroup.org/susv3xbd/iconv.h.html">iconv.h</A>&gt;
         <TD ALIGN=LEFT VALIGN=TOP>---
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/iconv.m4">iconv.m4</A><BR><A HREF="m4/lib-ld.m4">lib-ld.m4</A><BR><A HREF="m4/lib-link.m4">lib-link.m4</A><BR><A HREF="m4/lib-prefix.m4">lib-prefix.m4</A><BR>AM_ICONV
         <TD ALIGN=LEFT VALIGN=TOP>---
@@ -3201,7 +3388,7 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/argp.h">argp.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/argp-ba.c">argp-ba.c</A><BR><A HREF="lib/argp-eexst.c">argp-eexst.c</A><BR><A HREF="lib/argp-fmtstream.c">argp-fmtstream.c</A><BR><A HREF="lib/argp-fmtstream.h">argp-fmtstream.h</A><BR><A HREF="lib/argp-fs-xinl.c">argp-fs-xinl.c</A><BR><A HREF="lib/argp-help.c">argp-help.c</A><BR><A HREF="lib/argp-namefrob.h">argp-namefrob.h</A><BR><A HREF="lib/argp-parse.c">argp-parse.c</A><BR><A HREF="lib/argp-pv.c">argp-pv.c</A><BR><A HREF="lib/argp-pvh.c">argp-pvh.c</A><BR><A HREF="lib/argp-xinl.c">argp-xinl.c</A>
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/argp.m4">argp.m4</A><BR>gl_ARGP
-        <TD ALIGN=LEFT VALIGN=TOP>alloca<BR>getopt<BR>strchrnul<BR>sysexits<BR>mempcpy<BR>strndup<BR>restrict<BR>strcase<BR>extensions<BR>unlocked-io<BR>vsnprintf
+        <TD ALIGN=LEFT VALIGN=TOP>alloca<BR>getopt<BR>strchrnul<BR>sysexits<BR>mempcpy<BR>strndup<BR>restrict<BR>strcase<BR>extensions<BR>vsnprintf
       </TR>
       <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=argz"></A><A HREF="modules/argz">argz</A>
@@ -3336,6 +3523,13 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/sysexits.m4">sysexits.m4</A><BR>gl_SYSEXITS
         <TD ALIGN=LEFT VALIGN=TOP>---
       </TR>
+      <TR>
+        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=visibility"></A><A HREF="modules/visibility">visibility</A>
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP>---
+        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/visibility.m4">visibility.m4</A><BR>gl_VISIBILITY
+        <TD ALIGN=LEFT VALIGN=TOP>---
+      </TR>
     </TABLE>
     <H2>Unclassified modules - please update MODULES.html.sh</H2>
     <TABLE>
@@ -3361,13 +3555,6 @@ variables.
         <TD ALIGN=LEFT VALIGN=TOP>openat<BR>mempcpy<BR>memrchr<BR>stdbool
       </TR>
       <TR>
-        <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=check-version"></A><A HREF="modules/check-version">check-version</A>
-        <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/check-version.h">check-version.h</A>"
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/check-version.c">check-version.c</A>
-        <TD ALIGN=LEFT VALIGN=TOP><A HREF="m4/check-version.m4">check-version.m4</A><BR>gl_CHECK_VERSION
-        <TD ALIGN=LEFT VALIGN=TOP>strverscmp
-      </TR>
-      <TR>
         <TD ALIGN=LEFT VALIGN=TOP><A NAME="module=gethrxtime"></A><A HREF="modules/gethrxtime">gethrxtime</A>
         <TD ALIGN=LEFT VALIGN=TOP>#include "<A HREF="lib/xtime.h">xtime.h</A>"
         <TD ALIGN=LEFT VALIGN=TOP><A HREF="lib/gethrxtime.c">gethrxtime.c</A><BR><A HREF="lib/gethrxtime.h">gethrxtime.h</A>
@@ -3418,6 +3605,6 @@ variables.
       <LI>A testsuite
     </UL>
     <HR>
-    Generated from <CODE>MODULES.html.sh</CODE> on 10 July 2005.
+    Generated from <CODE>MODULES.html.sh</CODE> on 18 August 2005.
   </BODY>
 </HTML>