This is libc.info, produced by makeinfo version 5.2 from libc.texinfo.

This file documents the GNU C Library.

   This is 'The GNU C Library Reference Manual', for version 2.19
(Buildroot).

   Copyright (C) 1993-2014 Free Software Foundation, Inc.

   Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software Needs Free Documentation" and
"GNU Lesser General Public License", the Front-Cover texts being "A GNU
Manual", and with the Back-Cover Texts as in (a) below.  A copy of the
license is included in the section entitled "GNU Free Documentation
License".

   (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual.  Buying copies from the FSF supports it in
developing GNU and promoting software freedom."
INFO-DIR-SECTION Software libraries
START-INFO-DIR-ENTRY
* Libc: (libc).                 C library.
END-INFO-DIR-ENTRY

INFO-DIR-SECTION GNU C library functions and macros
START-INFO-DIR-ENTRY
* ALTWERASE: (libc)Local Modes.
* ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions.
* ARG_MAX: (libc)General Limits.
* BC_BASE_MAX: (libc)Utility Limits.
* BC_DIM_MAX: (libc)Utility Limits.
* BC_SCALE_MAX: (libc)Utility Limits.
* BC_STRING_MAX: (libc)Utility Limits.
* BRKINT: (libc)Input Modes.
* BUFSIZ: (libc)Controlling Buffering.
* CCTS_OFLOW: (libc)Control Modes.
* CHILD_MAX: (libc)General Limits.
* CIGNORE: (libc)Control Modes.
* CLK_TCK: (libc)Processor Time.
* CLOCAL: (libc)Control Modes.
* CLOCKS_PER_SEC: (libc)CPU Time.
* COLL_WEIGHTS_MAX: (libc)Utility Limits.
* CPU_CLR: (libc)CPU Affinity.
* CPU_ISSET: (libc)CPU Affinity.
* CPU_SET: (libc)CPU Affinity.
* CPU_SETSIZE: (libc)CPU Affinity.
* CPU_ZERO: (libc)CPU Affinity.
* CREAD: (libc)Control Modes.
* CRTS_IFLOW: (libc)Control Modes.
* CS5: (libc)Control Modes.
* CS6: (libc)Control Modes.
* CS7: (libc)Control Modes.
* CS8: (libc)Control Modes.
* CSIZE: (libc)Control Modes.
* CSTOPB: (libc)Control Modes.
* DES_FAILED: (libc)DES Encryption.
* DTTOIF: (libc)Directory Entries.
* E2BIG: (libc)Error Codes.
* EACCES: (libc)Error Codes.
* EADDRINUSE: (libc)Error Codes.
* EADDRNOTAVAIL: (libc)Error Codes.
* EADV: (libc)Error Codes.
* EAFNOSUPPORT: (libc)Error Codes.
* EAGAIN: (libc)Error Codes.
* EALREADY: (libc)Error Codes.
* EAUTH: (libc)Error Codes.
* EBACKGROUND: (libc)Error Codes.
* EBADE: (libc)Error Codes.
* EBADF: (libc)Error Codes.
* EBADFD: (libc)Error Codes.
* EBADMSG: (libc)Error Codes.
* EBADR: (libc)Error Codes.
* EBADRPC: (libc)Error Codes.
* EBADRQC: (libc)Error Codes.
* EBADSLT: (libc)Error Codes.
* EBFONT: (libc)Error Codes.
* EBUSY: (libc)Error Codes.
* ECANCELED: (libc)Error Codes.
* ECHILD: (libc)Error Codes.
* ECHO: (libc)Local Modes.
* ECHOCTL: (libc)Local Modes.
* ECHOE: (libc)Local Modes.
* ECHOK: (libc)Local Modes.
* ECHOKE: (libc)Local Modes.
* ECHONL: (libc)Local Modes.
* ECHOPRT: (libc)Local Modes.
* ECHRNG: (libc)Error Codes.
* ECOMM: (libc)Error Codes.
* ECONNABORTED: (libc)Error Codes.
* ECONNREFUSED: (libc)Error Codes.
* ECONNRESET: (libc)Error Codes.
* ED: (libc)Error Codes.
* EDEADLK: (libc)Error Codes.
* EDEADLOCK: (libc)Error Codes.
* EDESTADDRREQ: (libc)Error Codes.
* EDIED: (libc)Error Codes.
* EDOM: (libc)Error Codes.
* EDOTDOT: (libc)Error Codes.
* EDQUOT: (libc)Error Codes.
* EEXIST: (libc)Error Codes.
* EFAULT: (libc)Error Codes.
* EFBIG: (libc)Error Codes.
* EFTYPE: (libc)Error Codes.
* EGRATUITOUS: (libc)Error Codes.
* EGREGIOUS: (libc)Error Codes.
* EHOSTDOWN: (libc)Error Codes.
* EHOSTUNREACH: (libc)Error Codes.
* EHWPOISON: (libc)Error Codes.
* EIDRM: (libc)Error Codes.
* EIEIO: (libc)Error Codes.
* EILSEQ: (libc)Error Codes.
* EINPROGRESS: (libc)Error Codes.
* EINTR: (libc)Error Codes.
* EINVAL: (libc)Error Codes.
* EIO: (libc)Error Codes.
* EISCONN: (libc)Error Codes.
* EISDIR: (libc)Error Codes.
* EISNAM: (libc)Error Codes.
* EKEYEXPIRED: (libc)Error Codes.
* EKEYREJECTED: (libc)Error Codes.
* EKEYREVOKED: (libc)Error Codes.
* EL2HLT: (libc)Error Codes.
* EL2NSYNC: (libc)Error Codes.
* EL3HLT: (libc)Error Codes.
* EL3RST: (libc)Error Codes.
* ELIBACC: (libc)Error Codes.
* ELIBBAD: (libc)Error Codes.
* ELIBEXEC: (libc)Error Codes.
* ELIBMAX: (libc)Error Codes.
* ELIBSCN: (libc)Error Codes.
* ELNRNG: (libc)Error Codes.
* ELOOP: (libc)Error Codes.
* EMEDIUMTYPE: (libc)Error Codes.
* EMFILE: (libc)Error Codes.
* EMLINK: (libc)Error Codes.
* EMSGSIZE: (libc)Error Codes.
* EMULTIHOP: (libc)Error Codes.
* ENAMETOOLONG: (libc)Error Codes.
* ENAVAIL: (libc)Error Codes.
* ENEEDAUTH: (libc)Error Codes.
* ENETDOWN: (libc)Error Codes.
* ENETRESET: (libc)Error Codes.
* ENETUNREACH: (libc)Error Codes.
* ENFILE: (libc)Error Codes.
* ENOANO: (libc)Error Codes.
* ENOBUFS: (libc)Error Codes.
* ENOCSI: (libc)Error Codes.
* ENODATA: (libc)Error Codes.
* ENODEV: (libc)Error Codes.
* ENOENT: (libc)Error Codes.
* ENOEXEC: (libc)Error Codes.
* ENOKEY: (libc)Error Codes.
* ENOLCK: (libc)Error Codes.
* ENOLINK: (libc)Error Codes.
* ENOMEDIUM: (libc)Error Codes.
* ENOMEM: (libc)Error Codes.
* ENOMSG: (libc)Error Codes.
* ENONET: (libc)Error Codes.
* ENOPKG: (libc)Error Codes.
* ENOPROTOOPT: (libc)Error Codes.
* ENOSPC: (libc)Error Codes.
* ENOSR: (libc)Error Codes.
* ENOSTR: (libc)Error Codes.
* ENOSYS: (libc)Error Codes.
* ENOTBLK: (libc)Error Codes.
* ENOTCONN: (libc)Error Codes.
* ENOTDIR: (libc)Error Codes.
* ENOTEMPTY: (libc)Error Codes.
* ENOTNAM: (libc)Error Codes.
* ENOTRECOVERABLE: (libc)Error Codes.
* ENOTSOCK: (libc)Error Codes.
* ENOTSUP: (libc)Error Codes.
* ENOTTY: (libc)Error Codes.
* ENOTUNIQ: (libc)Error Codes.
* ENXIO: (libc)Error Codes.
* EOF: (libc)EOF and Errors.
* EOPNOTSUPP: (libc)Error Codes.
* EOVERFLOW: (libc)Error Codes.
* EOWNERDEAD: (libc)Error Codes.
* EPERM: (libc)Error Codes.
* EPFNOSUPPORT: (libc)Error Codes.
* EPIPE: (libc)Error Codes.
* EPROCLIM: (libc)Error Codes.
* EPROCUNAVAIL: (libc)Error Codes.
* EPROGMISMATCH: (libc)Error Codes.
* EPROGUNAVAIL: (libc)Error Codes.
* EPROTO: (libc)Error Codes.
* EPROTONOSUPPORT: (libc)Error Codes.
* EPROTOTYPE: (libc)Error Codes.
* EQUIV_CLASS_MAX: (libc)Utility Limits.
* ERANGE: (libc)Error Codes.
* EREMCHG: (libc)Error Codes.
* EREMOTE: (libc)Error Codes.
* EREMOTEIO: (libc)Error Codes.
* ERESTART: (libc)Error Codes.
* ERFKILL: (libc)Error Codes.
* EROFS: (libc)Error Codes.
* ERPCMISMATCH: (libc)Error Codes.
* ESHUTDOWN: (libc)Error Codes.
* ESOCKTNOSUPPORT: (libc)Error Codes.
* ESPIPE: (libc)Error Codes.
* ESRCH: (libc)Error Codes.
* ESRMNT: (libc)Error Codes.
* ESTALE: (libc)Error Codes.
* ESTRPIPE: (libc)Error Codes.
* ETIME: (libc)Error Codes.
* ETIMEDOUT: (libc)Error Codes.
* ETOOMANYREFS: (libc)Error Codes.
* ETXTBSY: (libc)Error Codes.
* EUCLEAN: (libc)Error Codes.
* EUNATCH: (libc)Error Codes.
* EUSERS: (libc)Error Codes.
* EWOULDBLOCK: (libc)Error Codes.
* EXDEV: (libc)Error Codes.
* EXFULL: (libc)Error Codes.
* EXIT_FAILURE: (libc)Exit Status.
* EXIT_SUCCESS: (libc)Exit Status.
* EXPR_NEST_MAX: (libc)Utility Limits.
* FD_CLOEXEC: (libc)Descriptor Flags.
* FD_CLR: (libc)Waiting for I/O.
* FD_ISSET: (libc)Waiting for I/O.
* FD_SET: (libc)Waiting for I/O.
* FD_SETSIZE: (libc)Waiting for I/O.
* FD_ZERO: (libc)Waiting for I/O.
* FILENAME_MAX: (libc)Limits for Files.
* FLUSHO: (libc)Local Modes.
* FOPEN_MAX: (libc)Opening Streams.
* FP_ILOGB0: (libc)Exponents and Logarithms.
* FP_ILOGBNAN: (libc)Exponents and Logarithms.
* F_DUPFD: (libc)Duplicating Descriptors.
* F_GETFD: (libc)Descriptor Flags.
* F_GETFL: (libc)Getting File Status Flags.
* F_GETLK: (libc)File Locks.
* F_GETOWN: (libc)Interrupt Input.
* F_OK: (libc)Testing File Access.
* F_SETFD: (libc)Descriptor Flags.
* F_SETFL: (libc)Getting File Status Flags.
* F_SETLK: (libc)File Locks.
* F_SETLKW: (libc)File Locks.
* F_SETOWN: (libc)Interrupt Input.
* HUGE_VAL: (libc)Math Error Reporting.
* HUGE_VALF: (libc)Math Error Reporting.
* HUGE_VALL: (libc)Math Error Reporting.
* HUPCL: (libc)Control Modes.
* I: (libc)Complex Numbers.
* ICANON: (libc)Local Modes.
* ICRNL: (libc)Input Modes.
* IEXTEN: (libc)Local Modes.
* IFNAMSIZ: (libc)Interface Naming.
* IFTODT: (libc)Directory Entries.
* IGNBRK: (libc)Input Modes.
* IGNCR: (libc)Input Modes.
* IGNPAR: (libc)Input Modes.
* IMAXBEL: (libc)Input Modes.
* INADDR_ANY: (libc)Host Address Data Type.
* INADDR_BROADCAST: (libc)Host Address Data Type.
* INADDR_LOOPBACK: (libc)Host Address Data Type.
* INADDR_NONE: (libc)Host Address Data Type.
* INFINITY: (libc)Infinity and NaN.
* INLCR: (libc)Input Modes.
* INPCK: (libc)Input Modes.
* IPPORT_RESERVED: (libc)Ports.
* IPPORT_USERRESERVED: (libc)Ports.
* ISIG: (libc)Local Modes.
* ISTRIP: (libc)Input Modes.
* IXANY: (libc)Input Modes.
* IXOFF: (libc)Input Modes.
* IXON: (libc)Input Modes.
* LINE_MAX: (libc)Utility Limits.
* LINK_MAX: (libc)Limits for Files.
* L_ctermid: (libc)Identifying the Terminal.
* L_cuserid: (libc)Who Logged In.
* L_tmpnam: (libc)Temporary Files.
* MAXNAMLEN: (libc)Limits for Files.
* MAXSYMLINKS: (libc)Symbolic Links.
* MAX_CANON: (libc)Limits for Files.
* MAX_INPUT: (libc)Limits for Files.
* MB_CUR_MAX: (libc)Selecting the Conversion.
* MB_LEN_MAX: (libc)Selecting the Conversion.
* MDMBUF: (libc)Control Modes.
* MSG_DONTROUTE: (libc)Socket Data Options.
* MSG_OOB: (libc)Socket Data Options.
* MSG_PEEK: (libc)Socket Data Options.
* NAME_MAX: (libc)Limits for Files.
* NAN: (libc)Infinity and NaN.
* NCCS: (libc)Mode Data Types.
* NGROUPS_MAX: (libc)General Limits.
* NOFLSH: (libc)Local Modes.
* NOKERNINFO: (libc)Local Modes.
* NSIG: (libc)Standard Signals.
* NULL: (libc)Null Pointer Constant.
* ONLCR: (libc)Output Modes.
* ONOEOT: (libc)Output Modes.
* OPEN_MAX: (libc)General Limits.
* OPOST: (libc)Output Modes.
* OXTABS: (libc)Output Modes.
* O_ACCMODE: (libc)Access Modes.
* O_APPEND: (libc)Operating Modes.
* O_ASYNC: (libc)Operating Modes.
* O_CREAT: (libc)Open-time Flags.
* O_EXCL: (libc)Open-time Flags.
* O_EXEC: (libc)Access Modes.
* O_EXLOCK: (libc)Open-time Flags.
* O_FSYNC: (libc)Operating Modes.
* O_IGNORE_CTTY: (libc)Open-time Flags.
* O_NDELAY: (libc)Operating Modes.
* O_NOATIME: (libc)Operating Modes.
* O_NOCTTY: (libc)Open-time Flags.
* O_NOLINK: (libc)Open-time Flags.
* O_NONBLOCK: (libc)Open-time Flags.
* O_NONBLOCK: (libc)Operating Modes.
* O_NOTRANS: (libc)Open-time Flags.
* O_RDONLY: (libc)Access Modes.
* O_RDWR: (libc)Access Modes.
* O_READ: (libc)Access Modes.
* O_SHLOCK: (libc)Open-time Flags.
* O_SYNC: (libc)Operating Modes.
* O_TRUNC: (libc)Open-time Flags.
* O_WRITE: (libc)Access Modes.
* O_WRONLY: (libc)Access Modes.
* PARENB: (libc)Control Modes.
* PARMRK: (libc)Input Modes.
* PARODD: (libc)Control Modes.
* PATH_MAX: (libc)Limits for Files.
* PA_FLAG_MASK: (libc)Parsing a Template String.
* PENDIN: (libc)Local Modes.
* PF_FILE: (libc)Local Namespace Details.
* PF_INET6: (libc)Internet Namespace.
* PF_INET: (libc)Internet Namespace.
* PF_LOCAL: (libc)Local Namespace Details.
* PF_UNIX: (libc)Local Namespace Details.
* PIPE_BUF: (libc)Limits for Files.
* P_tmpdir: (libc)Temporary Files.
* RAND_MAX: (libc)ISO Random.
* RE_DUP_MAX: (libc)General Limits.
* RLIM_INFINITY: (libc)Limits on Resources.
* R_OK: (libc)Testing File Access.
* SA_NOCLDSTOP: (libc)Flags for Sigaction.
* SA_ONSTACK: (libc)Flags for Sigaction.
* SA_RESTART: (libc)Flags for Sigaction.
* SEEK_CUR: (libc)File Positioning.
* SEEK_END: (libc)File Positioning.
* SEEK_SET: (libc)File Positioning.
* SIGABRT: (libc)Program Error Signals.
* SIGALRM: (libc)Alarm Signals.
* SIGBUS: (libc)Program Error Signals.
* SIGCHLD: (libc)Job Control Signals.
* SIGCLD: (libc)Job Control Signals.
* SIGCONT: (libc)Job Control Signals.
* SIGEMT: (libc)Program Error Signals.
* SIGFPE: (libc)Program Error Signals.
* SIGHUP: (libc)Termination Signals.
* SIGILL: (libc)Program Error Signals.
* SIGINFO: (libc)Miscellaneous Signals.
* SIGINT: (libc)Termination Signals.
* SIGIO: (libc)Asynchronous I/O Signals.
* SIGIOT: (libc)Program Error Signals.
* SIGKILL: (libc)Termination Signals.
* SIGLOST: (libc)Operation Error Signals.
* SIGPIPE: (libc)Operation Error Signals.
* SIGPOLL: (libc)Asynchronous I/O Signals.
* SIGPROF: (libc)Alarm Signals.
* SIGQUIT: (libc)Termination Signals.
* SIGSEGV: (libc)Program Error Signals.
* SIGSTOP: (libc)Job Control Signals.
* SIGSYS: (libc)Program Error Signals.
* SIGTERM: (libc)Termination Signals.
* SIGTRAP: (libc)Program Error Signals.
* SIGTSTP: (libc)Job Control Signals.
* SIGTTIN: (libc)Job Control Signals.
* SIGTTOU: (libc)Job Control Signals.
* SIGURG: (libc)Asynchronous I/O Signals.
* SIGUSR1: (libc)Miscellaneous Signals.
* SIGUSR2: (libc)Miscellaneous Signals.
* SIGVTALRM: (libc)Alarm Signals.
* SIGWINCH: (libc)Miscellaneous Signals.
* SIGXCPU: (libc)Operation Error Signals.
* SIGXFSZ: (libc)Operation Error Signals.
* SIG_ERR: (libc)Basic Signal Handling.
* SOCK_DGRAM: (libc)Communication Styles.
* SOCK_RAW: (libc)Communication Styles.
* SOCK_RDM: (libc)Communication Styles.
* SOCK_SEQPACKET: (libc)Communication Styles.
* SOCK_STREAM: (libc)Communication Styles.
* SOL_SOCKET: (libc)Socket-Level Options.
* SSIZE_MAX: (libc)General Limits.
* STREAM_MAX: (libc)General Limits.
* SUN_LEN: (libc)Local Namespace Details.
* SV_INTERRUPT: (libc)BSD Handler.
* SV_ONSTACK: (libc)BSD Handler.
* SV_RESETHAND: (libc)BSD Handler.
* S_IFMT: (libc)Testing File Type.
* S_ISBLK: (libc)Testing File Type.
* S_ISCHR: (libc)Testing File Type.
* S_ISDIR: (libc)Testing File Type.
* S_ISFIFO: (libc)Testing File Type.
* S_ISLNK: (libc)Testing File Type.
* S_ISREG: (libc)Testing File Type.
* S_ISSOCK: (libc)Testing File Type.
* S_TYPEISMQ: (libc)Testing File Type.
* S_TYPEISSEM: (libc)Testing File Type.
* S_TYPEISSHM: (libc)Testing File Type.
* TMP_MAX: (libc)Temporary Files.
* TOSTOP: (libc)Local Modes.
* TZNAME_MAX: (libc)General Limits.
* VDISCARD: (libc)Other Special.
* VDSUSP: (libc)Signal Characters.
* VEOF: (libc)Editing Characters.
* VEOL2: (libc)Editing Characters.
* VEOL: (libc)Editing Characters.
* VERASE: (libc)Editing Characters.
* VINTR: (libc)Signal Characters.
* VKILL: (libc)Editing Characters.
* VLNEXT: (libc)Other Special.
* VMIN: (libc)Noncanonical Input.
* VQUIT: (libc)Signal Characters.
* VREPRINT: (libc)Editing Characters.
* VSTART: (libc)Start/Stop Characters.
* VSTATUS: (libc)Other Special.
* VSTOP: (libc)Start/Stop Characters.
* VSUSP: (libc)Signal Characters.
* VTIME: (libc)Noncanonical Input.
* VWERASE: (libc)Editing Characters.
* WCHAR_MAX: (libc)Extended Char Intro.
* WCHAR_MIN: (libc)Extended Char Intro.
* WCOREDUMP: (libc)Process Completion Status.
* WEOF: (libc)EOF and Errors.
* WEOF: (libc)Extended Char Intro.
* WEXITSTATUS: (libc)Process Completion Status.
* WIFEXITED: (libc)Process Completion Status.
* WIFSIGNALED: (libc)Process Completion Status.
* WIFSTOPPED: (libc)Process Completion Status.
* WSTOPSIG: (libc)Process Completion Status.
* WTERMSIG: (libc)Process Completion Status.
* W_OK: (libc)Testing File Access.
* X_OK: (libc)Testing File Access.
* _Complex_I: (libc)Complex Numbers.
* _Exit: (libc)Termination Internals.
* _IOFBF: (libc)Controlling Buffering.
* _IOLBF: (libc)Controlling Buffering.
* _IONBF: (libc)Controlling Buffering.
* _Imaginary_I: (libc)Complex Numbers.
* _PATH_UTMP: (libc)Manipulating the Database.
* _PATH_WTMP: (libc)Manipulating the Database.
* _POSIX2_C_DEV: (libc)System Options.
* _POSIX2_C_VERSION: (libc)Version Supported.
* _POSIX2_FORT_DEV: (libc)System Options.
* _POSIX2_FORT_RUN: (libc)System Options.
* _POSIX2_LOCALEDEF: (libc)System Options.
* _POSIX2_SW_DEV: (libc)System Options.
* _POSIX_CHOWN_RESTRICTED: (libc)Options for Files.
* _POSIX_JOB_CONTROL: (libc)System Options.
* _POSIX_NO_TRUNC: (libc)Options for Files.
* _POSIX_SAVED_IDS: (libc)System Options.
* _POSIX_VDISABLE: (libc)Options for Files.
* _POSIX_VERSION: (libc)Version Supported.
* __fbufsize: (libc)Controlling Buffering.
* __flbf: (libc)Controlling Buffering.
* __fpending: (libc)Controlling Buffering.
* __fpurge: (libc)Flushing Buffers.
* __freadable: (libc)Opening Streams.
* __freading: (libc)Opening Streams.
* __fsetlocking: (libc)Streams and Threads.
* __fwritable: (libc)Opening Streams.
* __fwriting: (libc)Opening Streams.
* __gconv_end_fct: (libc)glibc iconv Implementation.
* __gconv_fct: (libc)glibc iconv Implementation.
* __gconv_init_fct: (libc)glibc iconv Implementation.
* __ppc_get_timebase: (libc)PowerPC.
* __ppc_get_timebase_freq: (libc)PowerPC.
* __ppc_mdoio: (libc)PowerPC.
* __ppc_mdoom: (libc)PowerPC.
* __ppc_set_ppr_low: (libc)PowerPC.
* __ppc_set_ppr_med: (libc)PowerPC.
* __ppc_set_ppr_med_low: (libc)PowerPC.
* __ppc_yield: (libc)PowerPC.
* __va_copy: (libc)Argument Macros.
* _exit: (libc)Termination Internals.
* _flushlbf: (libc)Flushing Buffers.
* _tolower: (libc)Case Conversion.
* _toupper: (libc)Case Conversion.
* a64l: (libc)Encode Binary Data.
* abort: (libc)Aborting a Program.
* abs: (libc)Absolute Value.
* accept: (libc)Accepting Connections.
* access: (libc)Testing File Access.
* acos: (libc)Inverse Trig Functions.
* acosf: (libc)Inverse Trig Functions.
* acosh: (libc)Hyperbolic Functions.
* acoshf: (libc)Hyperbolic Functions.
* acoshl: (libc)Hyperbolic Functions.
* acosl: (libc)Inverse Trig Functions.
* addmntent: (libc)mtab.
* addseverity: (libc)Adding Severity Classes.
* adjtime: (libc)High-Resolution Calendar.
* adjtimex: (libc)High-Resolution Calendar.
* aio_cancel64: (libc)Cancel AIO Operations.
* aio_cancel: (libc)Cancel AIO Operations.
* aio_error64: (libc)Status of AIO Operations.
* aio_error: (libc)Status of AIO Operations.
* aio_fsync64: (libc)Synchronizing AIO Operations.
* aio_fsync: (libc)Synchronizing AIO Operations.
* aio_init: (libc)Configuration of AIO.
* aio_read64: (libc)Asynchronous Reads/Writes.
* aio_read: (libc)Asynchronous Reads/Writes.
* aio_return64: (libc)Status of AIO Operations.
* aio_return: (libc)Status of AIO Operations.
* aio_suspend64: (libc)Synchronizing AIO Operations.
* aio_suspend: (libc)Synchronizing AIO Operations.
* aio_write64: (libc)Asynchronous Reads/Writes.
* aio_write: (libc)Asynchronous Reads/Writes.
* alarm: (libc)Setting an Alarm.
* aligned_alloc: (libc)Aligned Memory Blocks.
* alloca: (libc)Variable Size Automatic.
* alphasort64: (libc)Scanning Directory Content.
* alphasort: (libc)Scanning Directory Content.
* argp_error: (libc)Argp Helper Functions.
* argp_failure: (libc)Argp Helper Functions.
* argp_help: (libc)Argp Help.
* argp_parse: (libc)Argp.
* argp_state_help: (libc)Argp Helper Functions.
* argp_usage: (libc)Argp Helper Functions.
* argz_add: (libc)Argz Functions.
* argz_add_sep: (libc)Argz Functions.
* argz_append: (libc)Argz Functions.
* argz_count: (libc)Argz Functions.
* argz_create: (libc)Argz Functions.
* argz_create_sep: (libc)Argz Functions.
* argz_delete: (libc)Argz Functions.
* argz_extract: (libc)Argz Functions.
* argz_insert: (libc)Argz Functions.
* argz_next: (libc)Argz Functions.
* argz_replace: (libc)Argz Functions.
* argz_stringify: (libc)Argz Functions.
* asctime: (libc)Formatting Calendar Time.
* asctime_r: (libc)Formatting Calendar Time.
* asin: (libc)Inverse Trig Functions.
* asinf: (libc)Inverse Trig Functions.
* asinh: (libc)Hyperbolic Functions.
* asinhf: (libc)Hyperbolic Functions.
* asinhl: (libc)Hyperbolic Functions.
* asinl: (libc)Inverse Trig Functions.
* asprintf: (libc)Dynamic Output.
* assert: (libc)Consistency Checking.
* assert_perror: (libc)Consistency Checking.
* atan2: (libc)Inverse Trig Functions.
* atan2f: (libc)Inverse Trig Functions.
* atan2l: (libc)Inverse Trig Functions.
* atan: (libc)Inverse Trig Functions.
* atanf: (libc)Inverse Trig Functions.
* atanh: (libc)Hyperbolic Functions.
* atanhf: (libc)Hyperbolic Functions.
* atanhl: (libc)Hyperbolic Functions.
* atanl: (libc)Inverse Trig Functions.
* atexit: (libc)Cleanups on Exit.
* atof: (libc)Parsing of Floats.
* atoi: (libc)Parsing of Integers.
* atol: (libc)Parsing of Integers.
* atoll: (libc)Parsing of Integers.
* backtrace: (libc)Backtraces.
* backtrace_symbols: (libc)Backtraces.
* backtrace_symbols_fd: (libc)Backtraces.
* basename: (libc)Finding Tokens in a String.
* basename: (libc)Finding Tokens in a String.
* bcmp: (libc)String/Array Comparison.
* bcopy: (libc)Copying and Concatenation.
* bind: (libc)Setting Address.
* bind_textdomain_codeset: (libc)Charset conversion in gettext.
* bindtextdomain: (libc)Locating gettext catalog.
* brk: (libc)Resizing the Data Segment.
* bsearch: (libc)Array Search Function.
* btowc: (libc)Converting a Character.
* bzero: (libc)Copying and Concatenation.
* cabs: (libc)Absolute Value.
* cabsf: (libc)Absolute Value.
* cabsl: (libc)Absolute Value.
* cacos: (libc)Inverse Trig Functions.
* cacosf: (libc)Inverse Trig Functions.
* cacosh: (libc)Hyperbolic Functions.
* cacoshf: (libc)Hyperbolic Functions.
* cacoshl: (libc)Hyperbolic Functions.
* cacosl: (libc)Inverse Trig Functions.
* calloc: (libc)Allocating Cleared Space.
* canonicalize_file_name: (libc)Symbolic Links.
* carg: (libc)Operations on Complex.
* cargf: (libc)Operations on Complex.
* cargl: (libc)Operations on Complex.
* casin: (libc)Inverse Trig Functions.
* casinf: (libc)Inverse Trig Functions.
* casinh: (libc)Hyperbolic Functions.
* casinhf: (libc)Hyperbolic Functions.
* casinhl: (libc)Hyperbolic Functions.
* casinl: (libc)Inverse Trig Functions.
* catan: (libc)Inverse Trig Functions.
* catanf: (libc)Inverse Trig Functions.
* catanh: (libc)Hyperbolic Functions.
* catanhf: (libc)Hyperbolic Functions.
* catanhl: (libc)Hyperbolic Functions.
* catanl: (libc)Inverse Trig Functions.
* catclose: (libc)The catgets Functions.
* catgets: (libc)The catgets Functions.
* catopen: (libc)The catgets Functions.
* cbc_crypt: (libc)DES Encryption.
* cbrt: (libc)Exponents and Logarithms.
* cbrtf: (libc)Exponents and Logarithms.
* cbrtl: (libc)Exponents and Logarithms.
* ccos: (libc)Trig Functions.
* ccosf: (libc)Trig Functions.
* ccosh: (libc)Hyperbolic Functions.
* ccoshf: (libc)Hyperbolic Functions.
* ccoshl: (libc)Hyperbolic Functions.
* ccosl: (libc)Trig Functions.
* ceil: (libc)Rounding Functions.
* ceilf: (libc)Rounding Functions.
* ceill: (libc)Rounding Functions.
* cexp: (libc)Exponents and Logarithms.
* cexpf: (libc)Exponents and Logarithms.
* cexpl: (libc)Exponents and Logarithms.
* cfgetispeed: (libc)Line Speed.
* cfgetospeed: (libc)Line Speed.
* cfmakeraw: (libc)Noncanonical Input.
* cfree: (libc)Freeing after Malloc.
* cfsetispeed: (libc)Line Speed.
* cfsetospeed: (libc)Line Speed.
* cfsetspeed: (libc)Line Speed.
* chdir: (libc)Working Directory.
* chmod: (libc)Setting Permissions.
* chown: (libc)File Owner.
* cimag: (libc)Operations on Complex.
* cimagf: (libc)Operations on Complex.
* cimagl: (libc)Operations on Complex.
* clearenv: (libc)Environment Access.
* clearerr: (libc)Error Recovery.
* clearerr_unlocked: (libc)Error Recovery.
* clock: (libc)CPU Time.
* clog10: (libc)Exponents and Logarithms.
* clog10f: (libc)Exponents and Logarithms.
* clog10l: (libc)Exponents and Logarithms.
* clog: (libc)Exponents and Logarithms.
* clogf: (libc)Exponents and Logarithms.
* clogl: (libc)Exponents and Logarithms.
* close: (libc)Opening and Closing Files.
* closedir: (libc)Reading/Closing Directory.
* closelog: (libc)closelog.
* confstr: (libc)String Parameters.
* conj: (libc)Operations on Complex.
* conjf: (libc)Operations on Complex.
* conjl: (libc)Operations on Complex.
* connect: (libc)Connecting.
* copysign: (libc)FP Bit Twiddling.
* copysignf: (libc)FP Bit Twiddling.
* copysignl: (libc)FP Bit Twiddling.
* cos: (libc)Trig Functions.
* cosf: (libc)Trig Functions.
* cosh: (libc)Hyperbolic Functions.
* coshf: (libc)Hyperbolic Functions.
* coshl: (libc)Hyperbolic Functions.
* cosl: (libc)Trig Functions.
* cpow: (libc)Exponents and Logarithms.
* cpowf: (libc)Exponents and Logarithms.
* cpowl: (libc)Exponents and Logarithms.
* cproj: (libc)Operations on Complex.
* cprojf: (libc)Operations on Complex.
* cprojl: (libc)Operations on Complex.
* creal: (libc)Operations on Complex.
* crealf: (libc)Operations on Complex.
* creall: (libc)Operations on Complex.
* creat64: (libc)Opening and Closing Files.
* creat: (libc)Opening and Closing Files.
* crypt: (libc)crypt.
* crypt_r: (libc)crypt.
* csin: (libc)Trig Functions.
* csinf: (libc)Trig Functions.
* csinh: (libc)Hyperbolic Functions.
* csinhf: (libc)Hyperbolic Functions.
* csinhl: (libc)Hyperbolic Functions.
* csinl: (libc)Trig Functions.
* csqrt: (libc)Exponents and Logarithms.
* csqrtf: (libc)Exponents and Logarithms.
* csqrtl: (libc)Exponents and Logarithms.
* ctan: (libc)Trig Functions.
* ctanf: (libc)Trig Functions.
* ctanh: (libc)Hyperbolic Functions.
* ctanhf: (libc)Hyperbolic Functions.
* ctanhl: (libc)Hyperbolic Functions.
* ctanl: (libc)Trig Functions.
* ctermid: (libc)Identifying the Terminal.
* ctime: (libc)Formatting Calendar Time.
* ctime_r: (libc)Formatting Calendar Time.
* cuserid: (libc)Who Logged In.
* dcgettext: (libc)Translation with gettext.
* dcngettext: (libc)Advanced gettext functions.
* des_setparity: (libc)DES Encryption.
* dgettext: (libc)Translation with gettext.
* difftime: (libc)Elapsed Time.
* dirfd: (libc)Opening a Directory.
* dirname: (libc)Finding Tokens in a String.
* div: (libc)Integer Division.
* dngettext: (libc)Advanced gettext functions.
* drand48: (libc)SVID Random.
* drand48_r: (libc)SVID Random.
* drem: (libc)Remainder Functions.
* dremf: (libc)Remainder Functions.
* dreml: (libc)Remainder Functions.
* dup2: (libc)Duplicating Descriptors.
* dup: (libc)Duplicating Descriptors.
* ecb_crypt: (libc)DES Encryption.
* ecvt: (libc)System V Number Conversion.
* ecvt_r: (libc)System V Number Conversion.
* encrypt: (libc)DES Encryption.
* encrypt_r: (libc)DES Encryption.
* endfsent: (libc)fstab.
* endgrent: (libc)Scanning All Groups.
* endhostent: (libc)Host Names.
* endmntent: (libc)mtab.
* endnetent: (libc)Networks Database.
* endnetgrent: (libc)Lookup Netgroup.
* endprotoent: (libc)Protocols Database.
* endpwent: (libc)Scanning All Users.
* endservent: (libc)Services Database.
* endutent: (libc)Manipulating the Database.
* endutxent: (libc)XPG Functions.
* envz_add: (libc)Envz Functions.
* envz_entry: (libc)Envz Functions.
* envz_get: (libc)Envz Functions.
* envz_merge: (libc)Envz Functions.
* envz_strip: (libc)Envz Functions.
* erand48: (libc)SVID Random.
* erand48_r: (libc)SVID Random.
* erf: (libc)Special Functions.
* erfc: (libc)Special Functions.
* erfcf: (libc)Special Functions.
* erfcl: (libc)Special Functions.
* erff: (libc)Special Functions.
* erfl: (libc)Special Functions.
* err: (libc)Error Messages.
* errno: (libc)Checking for Errors.
* error: (libc)Error Messages.
* error_at_line: (libc)Error Messages.
* errx: (libc)Error Messages.
* execl: (libc)Executing a File.
* execle: (libc)Executing a File.
* execlp: (libc)Executing a File.
* execv: (libc)Executing a File.
* execve: (libc)Executing a File.
* execvp: (libc)Executing a File.
* exit: (libc)Normal Termination.
* exp10: (libc)Exponents and Logarithms.
* exp10f: (libc)Exponents and Logarithms.
* exp10l: (libc)Exponents and Logarithms.
* exp2: (libc)Exponents and Logarithms.
* exp2f: (libc)Exponents and Logarithms.
* exp2l: (libc)Exponents and Logarithms.
* exp: (libc)Exponents and Logarithms.
* expf: (libc)Exponents and Logarithms.
* expl: (libc)Exponents and Logarithms.
* expm1: (libc)Exponents and Logarithms.
* expm1f: (libc)Exponents and Logarithms.
* expm1l: (libc)Exponents and Logarithms.
* fabs: (libc)Absolute Value.
* fabsf: (libc)Absolute Value.
* fabsl: (libc)Absolute Value.
* fchdir: (libc)Working Directory.
* fchmod: (libc)Setting Permissions.
* fchown: (libc)File Owner.
* fclose: (libc)Closing Streams.
* fcloseall: (libc)Closing Streams.
* fcntl: (libc)Control Operations.
* fcvt: (libc)System V Number Conversion.
* fcvt_r: (libc)System V Number Conversion.
* fdatasync: (libc)Synchronizing I/O.
* fdim: (libc)Misc FP Arithmetic.
* fdimf: (libc)Misc FP Arithmetic.
* fdiml: (libc)Misc FP Arithmetic.
* fdopen: (libc)Descriptors and Streams.
* fdopendir: (libc)Opening a Directory.
* feclearexcept: (libc)Status bit operations.
* fedisableexcept: (libc)Control Functions.
* feenableexcept: (libc)Control Functions.
* fegetenv: (libc)Control Functions.
* fegetexcept: (libc)Control Functions.
* fegetexceptflag: (libc)Status bit operations.
* fegetround: (libc)Rounding.
* feholdexcept: (libc)Control Functions.
* feof: (libc)EOF and Errors.
* feof_unlocked: (libc)EOF and Errors.
* feraiseexcept: (libc)Status bit operations.
* ferror: (libc)EOF and Errors.
* ferror_unlocked: (libc)EOF and Errors.
* fesetenv: (libc)Control Functions.
* fesetexceptflag: (libc)Status bit operations.
* fesetround: (libc)Rounding.
* fetestexcept: (libc)Status bit operations.
* feupdateenv: (libc)Control Functions.
* fflush: (libc)Flushing Buffers.
* fflush_unlocked: (libc)Flushing Buffers.
* fgetc: (libc)Character Input.
* fgetc_unlocked: (libc)Character Input.
* fgetgrent: (libc)Scanning All Groups.
* fgetgrent_r: (libc)Scanning All Groups.
* fgetpos64: (libc)Portable Positioning.
* fgetpos: (libc)Portable Positioning.
* fgetpwent: (libc)Scanning All Users.
* fgetpwent_r: (libc)Scanning All Users.
* fgets: (libc)Line Input.
* fgets_unlocked: (libc)Line Input.
* fgetwc: (libc)Character Input.
* fgetwc_unlocked: (libc)Character Input.
* fgetws: (libc)Line Input.
* fgetws_unlocked: (libc)Line Input.
* fileno: (libc)Descriptors and Streams.
* fileno_unlocked: (libc)Descriptors and Streams.
* finite: (libc)Floating Point Classes.
* finitef: (libc)Floating Point Classes.
* finitel: (libc)Floating Point Classes.
* flockfile: (libc)Streams and Threads.
* floor: (libc)Rounding Functions.
* floorf: (libc)Rounding Functions.
* floorl: (libc)Rounding Functions.
* fma: (libc)Misc FP Arithmetic.
* fmaf: (libc)Misc FP Arithmetic.
* fmal: (libc)Misc FP Arithmetic.
* fmax: (libc)Misc FP Arithmetic.
* fmaxf: (libc)Misc FP Arithmetic.
* fmaxl: (libc)Misc FP Arithmetic.
* fmemopen: (libc)String Streams.
* fmin: (libc)Misc FP Arithmetic.
* fminf: (libc)Misc FP Arithmetic.
* fminl: (libc)Misc FP Arithmetic.
* fmod: (libc)Remainder Functions.
* fmodf: (libc)Remainder Functions.
* fmodl: (libc)Remainder Functions.
* fmtmsg: (libc)Printing Formatted Messages.
* fnmatch: (libc)Wildcard Matching.
* fopen64: (libc)Opening Streams.
* fopen: (libc)Opening Streams.
* fopencookie: (libc)Streams and Cookies.
* fork: (libc)Creating a Process.
* forkpty: (libc)Pseudo-Terminal Pairs.
* fpathconf: (libc)Pathconf.
* fpclassify: (libc)Floating Point Classes.
* fprintf: (libc)Formatted Output Functions.
* fputc: (libc)Simple Output.
* fputc_unlocked: (libc)Simple Output.
* fputs: (libc)Simple Output.
* fputs_unlocked: (libc)Simple Output.
* fputwc: (libc)Simple Output.
* fputwc_unlocked: (libc)Simple Output.
* fputws: (libc)Simple Output.
* fputws_unlocked: (libc)Simple Output.
* fread: (libc)Block Input/Output.
* fread_unlocked: (libc)Block Input/Output.
* free: (libc)Freeing after Malloc.
* freopen64: (libc)Opening Streams.
* freopen: (libc)Opening Streams.
* frexp: (libc)Normalization Functions.
* frexpf: (libc)Normalization Functions.
* frexpl: (libc)Normalization Functions.
* fscanf: (libc)Formatted Input Functions.
* fseek: (libc)File Positioning.
* fseeko64: (libc)File Positioning.
* fseeko: (libc)File Positioning.
* fsetpos64: (libc)Portable Positioning.
* fsetpos: (libc)Portable Positioning.
* fstat64: (libc)Reading Attributes.
* fstat: (libc)Reading Attributes.
* fsync: (libc)Synchronizing I/O.
* ftell: (libc)File Positioning.
* ftello64: (libc)File Positioning.
* ftello: (libc)File Positioning.
* ftruncate64: (libc)File Size.
* ftruncate: (libc)File Size.
* ftrylockfile: (libc)Streams and Threads.
* ftw64: (libc)Working with Directory Trees.
* ftw: (libc)Working with Directory Trees.
* funlockfile: (libc)Streams and Threads.
* futimes: (libc)File Times.
* fwide: (libc)Streams and I18N.
* fwprintf: (libc)Formatted Output Functions.
* fwrite: (libc)Block Input/Output.
* fwrite_unlocked: (libc)Block Input/Output.
* fwscanf: (libc)Formatted Input Functions.
* gamma: (libc)Special Functions.
* gammaf: (libc)Special Functions.
* gammal: (libc)Special Functions.
* gcvt: (libc)System V Number Conversion.
* get_avphys_pages: (libc)Query Memory Parameters.
* get_current_dir_name: (libc)Working Directory.
* get_nprocs: (libc)Processor Resources.
* get_nprocs_conf: (libc)Processor Resources.
* get_phys_pages: (libc)Query Memory Parameters.
* getauxval: (libc)Auxiliary Vector.
* getc: (libc)Character Input.
* getc_unlocked: (libc)Character Input.
* getchar: (libc)Character Input.
* getchar_unlocked: (libc)Character Input.
* getcontext: (libc)System V contexts.
* getcwd: (libc)Working Directory.
* getdate: (libc)General Time String Parsing.
* getdate_r: (libc)General Time String Parsing.
* getdelim: (libc)Line Input.
* getdomainnname: (libc)Host Identification.
* getegid: (libc)Reading Persona.
* getenv: (libc)Environment Access.
* geteuid: (libc)Reading Persona.
* getfsent: (libc)fstab.
* getfsfile: (libc)fstab.
* getfsspec: (libc)fstab.
* getgid: (libc)Reading Persona.
* getgrent: (libc)Scanning All Groups.
* getgrent_r: (libc)Scanning All Groups.
* getgrgid: (libc)Lookup Group.
* getgrgid_r: (libc)Lookup Group.
* getgrnam: (libc)Lookup Group.
* getgrnam_r: (libc)Lookup Group.
* getgrouplist: (libc)Setting Groups.
* getgroups: (libc)Reading Persona.
* gethostbyaddr: (libc)Host Names.
* gethostbyaddr_r: (libc)Host Names.
* gethostbyname2: (libc)Host Names.
* gethostbyname2_r: (libc)Host Names.
* gethostbyname: (libc)Host Names.
* gethostbyname_r: (libc)Host Names.
* gethostent: (libc)Host Names.
* gethostid: (libc)Host Identification.
* gethostname: (libc)Host Identification.
* getitimer: (libc)Setting an Alarm.
* getline: (libc)Line Input.
* getloadavg: (libc)Processor Resources.
* getlogin: (libc)Who Logged In.
* getmntent: (libc)mtab.
* getmntent_r: (libc)mtab.
* getnetbyaddr: (libc)Networks Database.
* getnetbyname: (libc)Networks Database.
* getnetent: (libc)Networks Database.
* getnetgrent: (libc)Lookup Netgroup.
* getnetgrent_r: (libc)Lookup Netgroup.
* getopt: (libc)Using Getopt.
* getopt_long: (libc)Getopt Long Options.
* getopt_long_only: (libc)Getopt Long Options.
* getpagesize: (libc)Query Memory Parameters.
* getpass: (libc)getpass.
* getpeername: (libc)Who is Connected.
* getpgid: (libc)Process Group Functions.
* getpgrp: (libc)Process Group Functions.
* getpid: (libc)Process Identification.
* getppid: (libc)Process Identification.
* getpriority: (libc)Traditional Scheduling Functions.
* getprotobyname: (libc)Protocols Database.
* getprotobynumber: (libc)Protocols Database.
* getprotoent: (libc)Protocols Database.
* getpt: (libc)Allocation.
* getpwent: (libc)Scanning All Users.
* getpwent_r: (libc)Scanning All Users.
* getpwnam: (libc)Lookup User.
* getpwnam_r: (libc)Lookup User.
* getpwuid: (libc)Lookup User.
* getpwuid_r: (libc)Lookup User.
* getrlimit64: (libc)Limits on Resources.
* getrlimit: (libc)Limits on Resources.
* getrusage: (libc)Resource Usage.
* gets: (libc)Line Input.
* getservbyname: (libc)Services Database.
* getservbyport: (libc)Services Database.
* getservent: (libc)Services Database.
* getsid: (libc)Process Group Functions.
* getsockname: (libc)Reading Address.
* getsockopt: (libc)Socket Option Functions.
* getsubopt: (libc)Suboptions.
* gettext: (libc)Translation with gettext.
* gettimeofday: (libc)High-Resolution Calendar.
* getuid: (libc)Reading Persona.
* getumask: (libc)Setting Permissions.
* getutent: (libc)Manipulating the Database.
* getutent_r: (libc)Manipulating the Database.
* getutid: (libc)Manipulating the Database.
* getutid_r: (libc)Manipulating the Database.
* getutline: (libc)Manipulating the Database.
* getutline_r: (libc)Manipulating the Database.
* getutmp: (libc)XPG Functions.
* getutmpx: (libc)XPG Functions.
* getutxent: (libc)XPG Functions.
* getutxid: (libc)XPG Functions.
* getutxline: (libc)XPG Functions.
* getw: (libc)Character Input.
* getwc: (libc)Character Input.
* getwc_unlocked: (libc)Character Input.
* getwchar: (libc)Character Input.
* getwchar_unlocked: (libc)Character Input.
* getwd: (libc)Working Directory.
* glob64: (libc)Calling Glob.
* glob: (libc)Calling Glob.
* globfree64: (libc)More Flags for Globbing.
* globfree: (libc)More Flags for Globbing.
* gmtime: (libc)Broken-down Time.
* gmtime_r: (libc)Broken-down Time.
* grantpt: (libc)Allocation.
* gsignal: (libc)Signaling Yourself.
* gtty: (libc)BSD Terminal Modes.
* hasmntopt: (libc)mtab.
* hcreate: (libc)Hash Search Function.
* hcreate_r: (libc)Hash Search Function.
* hdestroy: (libc)Hash Search Function.
* hdestroy_r: (libc)Hash Search Function.
* hsearch: (libc)Hash Search Function.
* hsearch_r: (libc)Hash Search Function.
* htonl: (libc)Byte Order.
* htons: (libc)Byte Order.
* hypot: (libc)Exponents and Logarithms.
* hypotf: (libc)Exponents and Logarithms.
* hypotl: (libc)Exponents and Logarithms.
* iconv: (libc)Generic Conversion Interface.
* iconv_close: (libc)Generic Conversion Interface.
* iconv_open: (libc)Generic Conversion Interface.
* if_freenameindex: (libc)Interface Naming.
* if_indextoname: (libc)Interface Naming.
* if_nameindex: (libc)Interface Naming.
* if_nametoindex: (libc)Interface Naming.
* ilogb: (libc)Exponents and Logarithms.
* ilogbf: (libc)Exponents and Logarithms.
* ilogbl: (libc)Exponents and Logarithms.
* imaxabs: (libc)Absolute Value.
* imaxdiv: (libc)Integer Division.
* in6addr_any: (libc)Host Address Data Type.
* in6addr_loopback: (libc)Host Address Data Type.
* index: (libc)Search Functions.
* inet_addr: (libc)Host Address Functions.
* inet_aton: (libc)Host Address Functions.
* inet_lnaof: (libc)Host Address Functions.
* inet_makeaddr: (libc)Host Address Functions.
* inet_netof: (libc)Host Address Functions.
* inet_network: (libc)Host Address Functions.
* inet_ntoa: (libc)Host Address Functions.
* inet_ntop: (libc)Host Address Functions.
* inet_pton: (libc)Host Address Functions.
* initgroups: (libc)Setting Groups.
* initstate: (libc)BSD Random.
* initstate_r: (libc)BSD Random.
* innetgr: (libc)Netgroup Membership.
* ioctl: (libc)IOCTLs.
* isalnum: (libc)Classification of Characters.
* isalpha: (libc)Classification of Characters.
* isascii: (libc)Classification of Characters.
* isatty: (libc)Is It a Terminal.
* isblank: (libc)Classification of Characters.
* iscntrl: (libc)Classification of Characters.
* isdigit: (libc)Classification of Characters.
* isfinite: (libc)Floating Point Classes.
* isgraph: (libc)Classification of Characters.
* isgreater: (libc)FP Comparison Functions.
* isgreaterequal: (libc)FP Comparison Functions.
* isinf: (libc)Floating Point Classes.
* isinff: (libc)Floating Point Classes.
* isinfl: (libc)Floating Point Classes.
* isless: (libc)FP Comparison Functions.
* islessequal: (libc)FP Comparison Functions.
* islessgreater: (libc)FP Comparison Functions.
* islower: (libc)Classification of Characters.
* isnan: (libc)Floating Point Classes.
* isnan: (libc)Floating Point Classes.
* isnanf: (libc)Floating Point Classes.
* isnanl: (libc)Floating Point Classes.
* isnormal: (libc)Floating Point Classes.
* isprint: (libc)Classification of Characters.
* ispunct: (libc)Classification of Characters.
* issignaling: (libc)Floating Point Classes.
* isspace: (libc)Classification of Characters.
* isunordered: (libc)FP Comparison Functions.
* isupper: (libc)Classification of Characters.
* iswalnum: (libc)Classification of Wide Characters.
* iswalpha: (libc)Classification of Wide Characters.
* iswblank: (libc)Classification of Wide Characters.
* iswcntrl: (libc)Classification of Wide Characters.
* iswctype: (libc)Classification of Wide Characters.
* iswdigit: (libc)Classification of Wide Characters.
* iswgraph: (libc)Classification of Wide Characters.
* iswlower: (libc)Classification of Wide Characters.
* iswprint: (libc)Classification of Wide Characters.
* iswpunct: (libc)Classification of Wide Characters.
* iswspace: (libc)Classification of Wide Characters.
* iswupper: (libc)Classification of Wide Characters.
* iswxdigit: (libc)Classification of Wide Characters.
* isxdigit: (libc)Classification of Characters.
* j0: (libc)Special Functions.
* j0f: (libc)Special Functions.
* j0l: (libc)Special Functions.
* j1: (libc)Special Functions.
* j1f: (libc)Special Functions.
* j1l: (libc)Special Functions.
* jn: (libc)Special Functions.
* jnf: (libc)Special Functions.
* jnl: (libc)Special Functions.
* jrand48: (libc)SVID Random.
* jrand48_r: (libc)SVID Random.
* kill: (libc)Signaling Another Process.
* killpg: (libc)Signaling Another Process.
* l64a: (libc)Encode Binary Data.
* labs: (libc)Absolute Value.
* lcong48: (libc)SVID Random.
* lcong48_r: (libc)SVID Random.
* ldexp: (libc)Normalization Functions.
* ldexpf: (libc)Normalization Functions.
* ldexpl: (libc)Normalization Functions.
* ldiv: (libc)Integer Division.
* lfind: (libc)Array Search Function.
* lgamma: (libc)Special Functions.
* lgamma_r: (libc)Special Functions.
* lgammaf: (libc)Special Functions.
* lgammaf_r: (libc)Special Functions.
* lgammal: (libc)Special Functions.
* lgammal_r: (libc)Special Functions.
* link: (libc)Hard Links.
* lio_listio64: (libc)Asynchronous Reads/Writes.
* lio_listio: (libc)Asynchronous Reads/Writes.
* listen: (libc)Listening.
* llabs: (libc)Absolute Value.
* lldiv: (libc)Integer Division.
* llrint: (libc)Rounding Functions.
* llrintf: (libc)Rounding Functions.
* llrintl: (libc)Rounding Functions.
* llround: (libc)Rounding Functions.
* llroundf: (libc)Rounding Functions.
* llroundl: (libc)Rounding Functions.
* localeconv: (libc)The Lame Way to Locale Data.
* localtime: (libc)Broken-down Time.
* localtime_r: (libc)Broken-down Time.
* log10: (libc)Exponents and Logarithms.
* log10f: (libc)Exponents and Logarithms.
* log10l: (libc)Exponents and Logarithms.
* log1p: (libc)Exponents and Logarithms.
* log1pf: (libc)Exponents and Logarithms.
* log1pl: (libc)Exponents and Logarithms.
* log2: (libc)Exponents and Logarithms.
* log2f: (libc)Exponents and Logarithms.
* log2l: (libc)Exponents and Logarithms.
* log: (libc)Exponents and Logarithms.
* logb: (libc)Exponents and Logarithms.
* logbf: (libc)Exponents and Logarithms.
* logbl: (libc)Exponents and Logarithms.
* logf: (libc)Exponents and Logarithms.
* login: (libc)Logging In and Out.
* login_tty: (libc)Logging In and Out.
* logl: (libc)Exponents and Logarithms.
* logout: (libc)Logging In and Out.
* logwtmp: (libc)Logging In and Out.
* longjmp: (libc)Non-Local Details.
* lrand48: (libc)SVID Random.
* lrand48_r: (libc)SVID Random.
* lrint: (libc)Rounding Functions.
* lrintf: (libc)Rounding Functions.
* lrintl: (libc)Rounding Functions.
* lround: (libc)Rounding Functions.
* lroundf: (libc)Rounding Functions.
* lroundl: (libc)Rounding Functions.
* lsearch: (libc)Array Search Function.
* lseek64: (libc)File Position Primitive.
* lseek: (libc)File Position Primitive.
* lstat64: (libc)Reading Attributes.
* lstat: (libc)Reading Attributes.
* lutimes: (libc)File Times.
* madvise: (libc)Memory-mapped I/O.
* makecontext: (libc)System V contexts.
* mallinfo: (libc)Statistics of Malloc.
* malloc: (libc)Basic Allocation.
* mallopt: (libc)Malloc Tunable Parameters.
* mblen: (libc)Non-reentrant Character Conversion.
* mbrlen: (libc)Converting a Character.
* mbrtowc: (libc)Converting a Character.
* mbsinit: (libc)Keeping the state.
* mbsnrtowcs: (libc)Converting Strings.
* mbsrtowcs: (libc)Converting Strings.
* mbstowcs: (libc)Non-reentrant String Conversion.
* mbtowc: (libc)Non-reentrant Character Conversion.
* mcheck: (libc)Heap Consistency Checking.
* memalign: (libc)Aligned Memory Blocks.
* memccpy: (libc)Copying and Concatenation.
* memchr: (libc)Search Functions.
* memcmp: (libc)String/Array Comparison.
* memcpy: (libc)Copying and Concatenation.
* memfrob: (libc)Trivial Encryption.
* memmem: (libc)Search Functions.
* memmove: (libc)Copying and Concatenation.
* mempcpy: (libc)Copying and Concatenation.
* memrchr: (libc)Search Functions.
* memset: (libc)Copying and Concatenation.
* mkdir: (libc)Creating Directories.
* mkdtemp: (libc)Temporary Files.
* mkfifo: (libc)FIFO Special Files.
* mknod: (libc)Making Special Files.
* mkstemp: (libc)Temporary Files.
* mktemp: (libc)Temporary Files.
* mktime: (libc)Broken-down Time.
* mlock: (libc)Page Lock Functions.
* mlockall: (libc)Page Lock Functions.
* mmap64: (libc)Memory-mapped I/O.
* mmap: (libc)Memory-mapped I/O.
* modf: (libc)Rounding Functions.
* modff: (libc)Rounding Functions.
* modfl: (libc)Rounding Functions.
* mount: (libc)Mount-Unmount-Remount.
* mprobe: (libc)Heap Consistency Checking.
* mrand48: (libc)SVID Random.
* mrand48_r: (libc)SVID Random.
* mremap: (libc)Memory-mapped I/O.
* msync: (libc)Memory-mapped I/O.
* mtrace: (libc)Tracing malloc.
* munlock: (libc)Page Lock Functions.
* munlockall: (libc)Page Lock Functions.
* munmap: (libc)Memory-mapped I/O.
* muntrace: (libc)Tracing malloc.
* nan: (libc)FP Bit Twiddling.
* nanf: (libc)FP Bit Twiddling.
* nanl: (libc)FP Bit Twiddling.
* nanosleep: (libc)Sleeping.
* nearbyint: (libc)Rounding Functions.
* nearbyintf: (libc)Rounding Functions.
* nearbyintl: (libc)Rounding Functions.
* nextafter: (libc)FP Bit Twiddling.
* nextafterf: (libc)FP Bit Twiddling.
* nextafterl: (libc)FP Bit Twiddling.
* nexttoward: (libc)FP Bit Twiddling.
* nexttowardf: (libc)FP Bit Twiddling.
* nexttowardl: (libc)FP Bit Twiddling.
* nftw64: (libc)Working with Directory Trees.
* nftw: (libc)Working with Directory Trees.
* ngettext: (libc)Advanced gettext functions.
* nice: (libc)Traditional Scheduling Functions.
* nl_langinfo: (libc)The Elegant and Fast Way.
* nrand48: (libc)SVID Random.
* nrand48_r: (libc)SVID Random.
* ntohl: (libc)Byte Order.
* ntohs: (libc)Byte Order.
* ntp_adjtime: (libc)High Accuracy Clock.
* ntp_gettime: (libc)High Accuracy Clock.
* obstack_1grow: (libc)Growing Objects.
* obstack_1grow_fast: (libc)Extra Fast Growing.
* obstack_alignment_mask: (libc)Obstacks Data Alignment.
* obstack_alloc: (libc)Allocation in an Obstack.
* obstack_base: (libc)Status of an Obstack.
* obstack_blank: (libc)Growing Objects.
* obstack_blank_fast: (libc)Extra Fast Growing.
* obstack_chunk_size: (libc)Obstack Chunks.
* obstack_copy0: (libc)Allocation in an Obstack.
* obstack_copy: (libc)Allocation in an Obstack.
* obstack_finish: (libc)Growing Objects.
* obstack_free: (libc)Freeing Obstack Objects.
* obstack_grow0: (libc)Growing Objects.
* obstack_grow: (libc)Growing Objects.
* obstack_init: (libc)Preparing for Obstacks.
* obstack_int_grow: (libc)Growing Objects.
* obstack_int_grow_fast: (libc)Extra Fast Growing.
* obstack_next_free: (libc)Status of an Obstack.
* obstack_object_size: (libc)Growing Objects.
* obstack_object_size: (libc)Status of an Obstack.
* obstack_printf: (libc)Dynamic Output.
* obstack_ptr_grow: (libc)Growing Objects.
* obstack_ptr_grow_fast: (libc)Extra Fast Growing.
* obstack_room: (libc)Extra Fast Growing.
* obstack_vprintf: (libc)Variable Arguments Output.
* offsetof: (libc)Structure Measurement.
* on_exit: (libc)Cleanups on Exit.
* open64: (libc)Opening and Closing Files.
* open: (libc)Opening and Closing Files.
* open_memstream: (libc)String Streams.
* opendir: (libc)Opening a Directory.
* openlog: (libc)openlog.
* openpty: (libc)Pseudo-Terminal Pairs.
* parse_printf_format: (libc)Parsing a Template String.
* pathconf: (libc)Pathconf.
* pause: (libc)Using Pause.
* pclose: (libc)Pipe to a Subprocess.
* perror: (libc)Error Messages.
* pipe: (libc)Creating a Pipe.
* popen: (libc)Pipe to a Subprocess.
* posix_memalign: (libc)Aligned Memory Blocks.
* pow10: (libc)Exponents and Logarithms.
* pow10f: (libc)Exponents and Logarithms.
* pow10l: (libc)Exponents and Logarithms.
* pow: (libc)Exponents and Logarithms.
* powf: (libc)Exponents and Logarithms.
* powl: (libc)Exponents and Logarithms.
* pread64: (libc)I/O Primitives.
* pread: (libc)I/O Primitives.
* printf: (libc)Formatted Output Functions.
* printf_size: (libc)Predefined Printf Handlers.
* printf_size_info: (libc)Predefined Printf Handlers.
* psignal: (libc)Signal Messages.
* pthread_getattr_default_np: (libc)Default Thread Attributes.
* pthread_getspecific: (libc)Thread-specific Data.
* pthread_key_create: (libc)Thread-specific Data.
* pthread_key_delete: (libc)Thread-specific Data.
* pthread_setattr_default_np: (libc)Default Thread Attributes.
* pthread_setspecific: (libc)Thread-specific Data.
* ptsname: (libc)Allocation.
* ptsname_r: (libc)Allocation.
* putc: (libc)Simple Output.
* putc_unlocked: (libc)Simple Output.
* putchar: (libc)Simple Output.
* putchar_unlocked: (libc)Simple Output.
* putenv: (libc)Environment Access.
* putpwent: (libc)Writing a User Entry.
* puts: (libc)Simple Output.
* pututline: (libc)Manipulating the Database.
* pututxline: (libc)XPG Functions.
* putw: (libc)Simple Output.
* putwc: (libc)Simple Output.
* putwc_unlocked: (libc)Simple Output.
* putwchar: (libc)Simple Output.
* putwchar_unlocked: (libc)Simple Output.
* pwrite64: (libc)I/O Primitives.
* pwrite: (libc)I/O Primitives.
* qecvt: (libc)System V Number Conversion.
* qecvt_r: (libc)System V Number Conversion.
* qfcvt: (libc)System V Number Conversion.
* qfcvt_r: (libc)System V Number Conversion.
* qgcvt: (libc)System V Number Conversion.
* qsort: (libc)Array Sort Function.
* raise: (libc)Signaling Yourself.
* rand: (libc)ISO Random.
* rand_r: (libc)ISO Random.
* random: (libc)BSD Random.
* random_r: (libc)BSD Random.
* rawmemchr: (libc)Search Functions.
* read: (libc)I/O Primitives.
* readdir64: (libc)Reading/Closing Directory.
* readdir64_r: (libc)Reading/Closing Directory.
* readdir: (libc)Reading/Closing Directory.
* readdir_r: (libc)Reading/Closing Directory.
* readlink: (libc)Symbolic Links.
* readv: (libc)Scatter-Gather.
* realloc: (libc)Changing Block Size.
* realpath: (libc)Symbolic Links.
* recv: (libc)Receiving Data.
* recvfrom: (libc)Receiving Datagrams.
* recvmsg: (libc)Receiving Datagrams.
* regcomp: (libc)POSIX Regexp Compilation.
* regerror: (libc)Regexp Cleanup.
* regexec: (libc)Matching POSIX Regexps.
* regfree: (libc)Regexp Cleanup.
* register_printf_function: (libc)Registering New Conversions.
* remainder: (libc)Remainder Functions.
* remainderf: (libc)Remainder Functions.
* remainderl: (libc)Remainder Functions.
* remove: (libc)Deleting Files.
* rename: (libc)Renaming Files.
* rewind: (libc)File Positioning.
* rewinddir: (libc)Random Access Directory.
* rindex: (libc)Search Functions.
* rint: (libc)Rounding Functions.
* rintf: (libc)Rounding Functions.
* rintl: (libc)Rounding Functions.
* rmdir: (libc)Deleting Files.
* round: (libc)Rounding Functions.
* roundf: (libc)Rounding Functions.
* roundl: (libc)Rounding Functions.
* rpmatch: (libc)Yes-or-No Questions.
* sbrk: (libc)Resizing the Data Segment.
* scalb: (libc)Normalization Functions.
* scalbf: (libc)Normalization Functions.
* scalbl: (libc)Normalization Functions.
* scalbln: (libc)Normalization Functions.
* scalblnf: (libc)Normalization Functions.
* scalblnl: (libc)Normalization Functions.
* scalbn: (libc)Normalization Functions.
* scalbnf: (libc)Normalization Functions.
* scalbnl: (libc)Normalization Functions.
* scandir64: (libc)Scanning Directory Content.
* scandir: (libc)Scanning Directory Content.
* scanf: (libc)Formatted Input Functions.
* sched_get_priority_max: (libc)Basic Scheduling Functions.
* sched_get_priority_min: (libc)Basic Scheduling Functions.
* sched_getaffinity: (libc)CPU Affinity.
* sched_getparam: (libc)Basic Scheduling Functions.
* sched_getscheduler: (libc)Basic Scheduling Functions.
* sched_rr_get_interval: (libc)Basic Scheduling Functions.
* sched_setaffinity: (libc)CPU Affinity.
* sched_setparam: (libc)Basic Scheduling Functions.
* sched_setscheduler: (libc)Basic Scheduling Functions.
* sched_yield: (libc)Basic Scheduling Functions.
* secure_getenv: (libc)Environment Access.
* seed48: (libc)SVID Random.
* seed48_r: (libc)SVID Random.
* seekdir: (libc)Random Access Directory.
* select: (libc)Waiting for I/O.
* send: (libc)Sending Data.
* sendmsg: (libc)Receiving Datagrams.
* sendto: (libc)Sending Datagrams.
* setbuf: (libc)Controlling Buffering.
* setbuffer: (libc)Controlling Buffering.
* setcontext: (libc)System V contexts.
* setdomainname: (libc)Host Identification.
* setegid: (libc)Setting Groups.
* setenv: (libc)Environment Access.
* seteuid: (libc)Setting User ID.
* setfsent: (libc)fstab.
* setgid: (libc)Setting Groups.
* setgrent: (libc)Scanning All Groups.
* setgroups: (libc)Setting Groups.
* sethostent: (libc)Host Names.
* sethostid: (libc)Host Identification.
* sethostname: (libc)Host Identification.
* setitimer: (libc)Setting an Alarm.
* setjmp: (libc)Non-Local Details.
* setkey: (libc)DES Encryption.
* setkey_r: (libc)DES Encryption.
* setlinebuf: (libc)Controlling Buffering.
* setlocale: (libc)Setting the Locale.
* setlogmask: (libc)setlogmask.
* setmntent: (libc)mtab.
* setnetent: (libc)Networks Database.
* setnetgrent: (libc)Lookup Netgroup.
* setpgid: (libc)Process Group Functions.
* setpgrp: (libc)Process Group Functions.
* setpriority: (libc)Traditional Scheduling Functions.
* setprotoent: (libc)Protocols Database.
* setpwent: (libc)Scanning All Users.
* setregid: (libc)Setting Groups.
* setreuid: (libc)Setting User ID.
* setrlimit64: (libc)Limits on Resources.
* setrlimit: (libc)Limits on Resources.
* setservent: (libc)Services Database.
* setsid: (libc)Process Group Functions.
* setsockopt: (libc)Socket Option Functions.
* setstate: (libc)BSD Random.
* setstate_r: (libc)BSD Random.
* settimeofday: (libc)High-Resolution Calendar.
* setuid: (libc)Setting User ID.
* setutent: (libc)Manipulating the Database.
* setutxent: (libc)XPG Functions.
* setvbuf: (libc)Controlling Buffering.
* shm_open: (libc)Memory-mapped I/O.
* shm_unlink: (libc)Memory-mapped I/O.
* shutdown: (libc)Closing a Socket.
* sigaction: (libc)Advanced Signal Handling.
* sigaddset: (libc)Signal Sets.
* sigaltstack: (libc)Signal Stack.
* sigblock: (libc)Blocking in BSD.
* sigdelset: (libc)Signal Sets.
* sigemptyset: (libc)Signal Sets.
* sigfillset: (libc)Signal Sets.
* siginterrupt: (libc)BSD Handler.
* sigismember: (libc)Signal Sets.
* siglongjmp: (libc)Non-Local Exits and Signals.
* sigmask: (libc)Blocking in BSD.
* signal: (libc)Basic Signal Handling.
* signbit: (libc)FP Bit Twiddling.
* significand: (libc)Normalization Functions.
* significandf: (libc)Normalization Functions.
* significandl: (libc)Normalization Functions.
* sigpause: (libc)Blocking in BSD.
* sigpending: (libc)Checking for Pending Signals.
* sigprocmask: (libc)Process Signal Mask.
* sigsetjmp: (libc)Non-Local Exits and Signals.
* sigsetmask: (libc)Blocking in BSD.
* sigstack: (libc)Signal Stack.
* sigsuspend: (libc)Sigsuspend.
* sigvec: (libc)BSD Handler.
* sin: (libc)Trig Functions.
* sincos: (libc)Trig Functions.
* sincosf: (libc)Trig Functions.
* sincosl: (libc)Trig Functions.
* sinf: (libc)Trig Functions.
* sinh: (libc)Hyperbolic Functions.
* sinhf: (libc)Hyperbolic Functions.
* sinhl: (libc)Hyperbolic Functions.
* sinl: (libc)Trig Functions.
* sleep: (libc)Sleeping.
* snprintf: (libc)Formatted Output Functions.
* socket: (libc)Creating a Socket.
* socketpair: (libc)Socket Pairs.
* sprintf: (libc)Formatted Output Functions.
* sqrt: (libc)Exponents and Logarithms.
* sqrtf: (libc)Exponents and Logarithms.
* sqrtl: (libc)Exponents and Logarithms.
* srand48: (libc)SVID Random.
* srand48_r: (libc)SVID Random.
* srand: (libc)ISO Random.
* srandom: (libc)BSD Random.
* srandom_r: (libc)BSD Random.
* sscanf: (libc)Formatted Input Functions.
* ssignal: (libc)Basic Signal Handling.
* stat64: (libc)Reading Attributes.
* stat: (libc)Reading Attributes.
* stime: (libc)Simple Calendar Time.
* stpcpy: (libc)Copying and Concatenation.
* stpncpy: (libc)Copying and Concatenation.
* strcasecmp: (libc)String/Array Comparison.
* strcasestr: (libc)Search Functions.
* strcat: (libc)Copying and Concatenation.
* strchr: (libc)Search Functions.
* strchrnul: (libc)Search Functions.
* strcmp: (libc)String/Array Comparison.
* strcoll: (libc)Collation Functions.
* strcpy: (libc)Copying and Concatenation.
* strcspn: (libc)Search Functions.
* strdup: (libc)Copying and Concatenation.
* strdupa: (libc)Copying and Concatenation.
* strerror: (libc)Error Messages.
* strerror_r: (libc)Error Messages.
* strfmon: (libc)Formatting Numbers.
* strfry: (libc)strfry.
* strftime: (libc)Formatting Calendar Time.
* strlen: (libc)String Length.
* strncasecmp: (libc)String/Array Comparison.
* strncat: (libc)Copying and Concatenation.
* strncmp: (libc)String/Array Comparison.
* strncpy: (libc)Copying and Concatenation.
* strndup: (libc)Copying and Concatenation.
* strndupa: (libc)Copying and Concatenation.
* strnlen: (libc)String Length.
* strpbrk: (libc)Search Functions.
* strptime: (libc)Low-Level Time String Parsing.
* strrchr: (libc)Search Functions.
* strsep: (libc)Finding Tokens in a String.
* strsignal: (libc)Signal Messages.
* strspn: (libc)Search Functions.
* strstr: (libc)Search Functions.
* strtod: (libc)Parsing of Floats.
* strtof: (libc)Parsing of Floats.
* strtoimax: (libc)Parsing of Integers.
* strtok: (libc)Finding Tokens in a String.
* strtok_r: (libc)Finding Tokens in a String.
* strtol: (libc)Parsing of Integers.
* strtold: (libc)Parsing of Floats.
* strtoll: (libc)Parsing of Integers.
* strtoq: (libc)Parsing of Integers.
* strtoul: (libc)Parsing of Integers.
* strtoull: (libc)Parsing of Integers.
* strtoumax: (libc)Parsing of Integers.
* strtouq: (libc)Parsing of Integers.
* strverscmp: (libc)String/Array Comparison.
* strxfrm: (libc)Collation Functions.
* stty: (libc)BSD Terminal Modes.
* swapcontext: (libc)System V contexts.
* swprintf: (libc)Formatted Output Functions.
* swscanf: (libc)Formatted Input Functions.
* symlink: (libc)Symbolic Links.
* sync: (libc)Synchronizing I/O.
* syscall: (libc)System Calls.
* sysconf: (libc)Sysconf Definition.
* sysctl: (libc)System Parameters.
* syslog: (libc)syslog; vsyslog.
* system: (libc)Running a Command.
* sysv_signal: (libc)Basic Signal Handling.
* tan: (libc)Trig Functions.
* tanf: (libc)Trig Functions.
* tanh: (libc)Hyperbolic Functions.
* tanhf: (libc)Hyperbolic Functions.
* tanhl: (libc)Hyperbolic Functions.
* tanl: (libc)Trig Functions.
* tcdrain: (libc)Line Control.
* tcflow: (libc)Line Control.
* tcflush: (libc)Line Control.
* tcgetattr: (libc)Mode Functions.
* tcgetpgrp: (libc)Terminal Access Functions.
* tcgetsid: (libc)Terminal Access Functions.
* tcsendbreak: (libc)Line Control.
* tcsetattr: (libc)Mode Functions.
* tcsetpgrp: (libc)Terminal Access Functions.
* tdelete: (libc)Tree Search Function.
* tdestroy: (libc)Tree Search Function.
* telldir: (libc)Random Access Directory.
* tempnam: (libc)Temporary Files.
* textdomain: (libc)Locating gettext catalog.
* tfind: (libc)Tree Search Function.
* tgamma: (libc)Special Functions.
* tgammaf: (libc)Special Functions.
* tgammal: (libc)Special Functions.
* time: (libc)Simple Calendar Time.
* timegm: (libc)Broken-down Time.
* timelocal: (libc)Broken-down Time.
* times: (libc)Processor Time.
* tmpfile64: (libc)Temporary Files.
* tmpfile: (libc)Temporary Files.
* tmpnam: (libc)Temporary Files.
* tmpnam_r: (libc)Temporary Files.
* toascii: (libc)Case Conversion.
* tolower: (libc)Case Conversion.
* toupper: (libc)Case Conversion.
* towctrans: (libc)Wide Character Case Conversion.
* towlower: (libc)Wide Character Case Conversion.
* towupper: (libc)Wide Character Case Conversion.
* trunc: (libc)Rounding Functions.
* truncate64: (libc)File Size.
* truncate: (libc)File Size.
* truncf: (libc)Rounding Functions.
* truncl: (libc)Rounding Functions.
* tsearch: (libc)Tree Search Function.
* ttyname: (libc)Is It a Terminal.
* ttyname_r: (libc)Is It a Terminal.
* twalk: (libc)Tree Search Function.
* tzset: (libc)Time Zone Functions.
* ulimit: (libc)Limits on Resources.
* umask: (libc)Setting Permissions.
* umount2: (libc)Mount-Unmount-Remount.
* umount: (libc)Mount-Unmount-Remount.
* uname: (libc)Platform Type.
* ungetc: (libc)How Unread.
* ungetwc: (libc)How Unread.
* unlink: (libc)Deleting Files.
* unlockpt: (libc)Allocation.
* unsetenv: (libc)Environment Access.
* updwtmp: (libc)Manipulating the Database.
* utime: (libc)File Times.
* utimes: (libc)File Times.
* utmpname: (libc)Manipulating the Database.
* utmpxname: (libc)XPG Functions.
* va_arg: (libc)Argument Macros.
* va_copy: (libc)Argument Macros.
* va_end: (libc)Argument Macros.
* va_start: (libc)Argument Macros.
* valloc: (libc)Aligned Memory Blocks.
* vasprintf: (libc)Variable Arguments Output.
* verr: (libc)Error Messages.
* verrx: (libc)Error Messages.
* versionsort64: (libc)Scanning Directory Content.
* versionsort: (libc)Scanning Directory Content.
* vfork: (libc)Creating a Process.
* vfprintf: (libc)Variable Arguments Output.
* vfscanf: (libc)Variable Arguments Input.
* vfwprintf: (libc)Variable Arguments Output.
* vfwscanf: (libc)Variable Arguments Input.
* vlimit: (libc)Limits on Resources.
* vprintf: (libc)Variable Arguments Output.
* vscanf: (libc)Variable Arguments Input.
* vsnprintf: (libc)Variable Arguments Output.
* vsprintf: (libc)Variable Arguments Output.
* vsscanf: (libc)Variable Arguments Input.
* vswprintf: (libc)Variable Arguments Output.
* vswscanf: (libc)Variable Arguments Input.
* vsyslog: (libc)syslog; vsyslog.
* vtimes: (libc)Resource Usage.
* vwarn: (libc)Error Messages.
* vwarnx: (libc)Error Messages.
* vwprintf: (libc)Variable Arguments Output.
* vwscanf: (libc)Variable Arguments Input.
* wait3: (libc)BSD Wait Functions.
* wait4: (libc)Process Completion.
* wait: (libc)Process Completion.
* waitpid: (libc)Process Completion.
* warn: (libc)Error Messages.
* warnx: (libc)Error Messages.
* wcpcpy: (libc)Copying and Concatenation.
* wcpncpy: (libc)Copying and Concatenation.
* wcrtomb: (libc)Converting a Character.
* wcscasecmp: (libc)String/Array Comparison.
* wcscat: (libc)Copying and Concatenation.
* wcschr: (libc)Search Functions.
* wcschrnul: (libc)Search Functions.
* wcscmp: (libc)String/Array Comparison.
* wcscoll: (libc)Collation Functions.
* wcscpy: (libc)Copying and Concatenation.
* wcscspn: (libc)Search Functions.
* wcsdup: (libc)Copying and Concatenation.
* wcsftime: (libc)Formatting Calendar Time.
* wcslen: (libc)String Length.
* wcsncasecmp: (libc)String/Array Comparison.
* wcsncat: (libc)Copying and Concatenation.
* wcsncmp: (libc)String/Array Comparison.
* wcsncpy: (libc)Copying and Concatenation.
* wcsnlen: (libc)String Length.
* wcsnrtombs: (libc)Converting Strings.
* wcspbrk: (libc)Search Functions.
* wcsrchr: (libc)Search Functions.
* wcsrtombs: (libc)Converting Strings.
* wcsspn: (libc)Search Functions.
* wcsstr: (libc)Search Functions.
* wcstod: (libc)Parsing of Floats.
* wcstof: (libc)Parsing of Floats.
* wcstoimax: (libc)Parsing of Integers.
* wcstok: (libc)Finding Tokens in a String.
* wcstol: (libc)Parsing of Integers.
* wcstold: (libc)Parsing of Floats.
* wcstoll: (libc)Parsing of Integers.
* wcstombs: (libc)Non-reentrant String Conversion.
* wcstoq: (libc)Parsing of Integers.
* wcstoul: (libc)Parsing of Integers.
* wcstoull: (libc)Parsing of Integers.
* wcstoumax: (libc)Parsing of Integers.
* wcstouq: (libc)Parsing of Integers.
* wcswcs: (libc)Search Functions.
* wcsxfrm: (libc)Collation Functions.
* wctob: (libc)Converting a Character.
* wctomb: (libc)Non-reentrant Character Conversion.
* wctrans: (libc)Wide Character Case Conversion.
* wctype: (libc)Classification of Wide Characters.
* wmemchr: (libc)Search Functions.
* wmemcmp: (libc)String/Array Comparison.
* wmemcpy: (libc)Copying and Concatenation.
* wmemmove: (libc)Copying and Concatenation.
* wmempcpy: (libc)Copying and Concatenation.
* wmemset: (libc)Copying and Concatenation.
* wordexp: (libc)Calling Wordexp.
* wordfree: (libc)Calling Wordexp.
* wprintf: (libc)Formatted Output Functions.
* write: (libc)I/O Primitives.
* writev: (libc)Scatter-Gather.
* wscanf: (libc)Formatted Input Functions.
* y0: (libc)Special Functions.
* y0f: (libc)Special Functions.
* y0l: (libc)Special Functions.
* y1: (libc)Special Functions.
* y1f: (libc)Special Functions.
* y1l: (libc)Special Functions.
* yn: (libc)Special Functions.
* ynf: (libc)Special Functions.
* ynl: (libc)Special Functions.
END-INFO-DIR-ENTRY


File: libc.info,  Node: Documentation License,  Next: Concept Index,  Prev: Copying,  Up: Top

Appendix I GNU Free Documentation License
*****************************************

                     Version 1.3, 3 November 2008

     Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
     <http://fsf.org/>

     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

  0. PREAMBLE

     The purpose of this License is to make a manual, textbook, or other
     functional and useful document "free" in the sense of freedom: to
     assure everyone the effective freedom to copy and redistribute it,
     with or without modifying it, either commercially or
     noncommercially.  Secondarily, this License preserves for the
     author and publisher a way to get credit for their work, while not
     being considered responsible for modifications made by others.

     This License is a kind of "copyleft", which means that derivative
     works of the document must themselves be free in the same sense.
     It complements the GNU General Public License, which is a copyleft
     license designed for free software.

     We have designed this License in order to use it for manuals for
     free software, because free software needs free documentation: a
     free program should come with manuals providing the same freedoms
     that the software does.  But this License is not limited to
     software manuals; it can be used for any textual work, regardless
     of subject matter or whether it is published as a printed book.  We
     recommend this License principally for works whose purpose is
     instruction or reference.

  1. APPLICABILITY AND DEFINITIONS

     This License applies to any manual or other work, in any medium,
     that contains a notice placed by the copyright holder saying it can
     be distributed under the terms of this License.  Such a notice
     grants a world-wide, royalty-free license, unlimited in duration,
     to use that work under the conditions stated herein.  The
     "Document", below, refers to any such manual or work.  Any member
     of the public is a licensee, and is addressed as "you".  You accept
     the license if you copy, modify or distribute the work in a way
     requiring permission under copyright law.

     A "Modified Version" of the Document means any work containing the
     Document or a portion of it, either copied verbatim, or with
     modifications and/or translated into another language.

     A "Secondary Section" is a named appendix or a front-matter section
     of the Document that deals exclusively with the relationship of the
     publishers or authors of the Document to the Document's overall
     subject (or to related matters) and contains nothing that could
     fall directly within that overall subject.  (Thus, if the Document
     is in part a textbook of mathematics, a Secondary Section may not
     explain any mathematics.)  The relationship could be a matter of
     historical connection with the subject or with related matters, or
     of legal, commercial, philosophical, ethical or political position
     regarding them.

     The "Invariant Sections" are certain Secondary Sections whose
     titles are designated, as being those of Invariant Sections, in the
     notice that says that the Document is released under this License.
     If a section does not fit the above definition of Secondary then it
     is not allowed to be designated as Invariant.  The Document may
     contain zero Invariant Sections.  If the Document does not identify
     any Invariant Sections then there are none.

     The "Cover Texts" are certain short passages of text that are
     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
     that says that the Document is released under this License.  A
     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     be at most 25 words.

     A "Transparent" copy of the Document means a machine-readable copy,
     represented in a format whose specification is available to the
     general public, that is suitable for revising the document
     straightforwardly with generic text editors or (for images composed
     of pixels) generic paint programs or (for drawings) some widely
     available drawing editor, and that is suitable for input to text
     formatters or for automatic translation to a variety of formats
     suitable for input to text formatters.  A copy made in an otherwise
     Transparent file format whose markup, or absence of markup, has
     been arranged to thwart or discourage subsequent modification by
     readers is not Transparent.  An image format is not Transparent if
     used for any substantial amount of text.  A copy that is not
     "Transparent" is called "Opaque".

     Examples of suitable formats for Transparent copies include plain
     ASCII without markup, Texinfo input format, LaTeX input format,
     SGML or XML using a publicly available DTD, and standard-conforming
     simple HTML, PostScript or PDF designed for human modification.
     Examples of transparent image formats include PNG, XCF and JPG.
     Opaque formats include proprietary formats that can be read and
     edited only by proprietary word processors, SGML or XML for which
     the DTD and/or processing tools are not generally available, and
     the machine-generated HTML, PostScript or PDF produced by some word
     processors for output purposes only.

     The "Title Page" means, for a printed book, the title page itself,
     plus such following pages as are needed to hold, legibly, the
     material this License requires to appear in the title page.  For
     works in formats which do not have any title page as such, "Title
     Page" means the text near the most prominent appearance of the
     work's title, preceding the beginning of the body of the text.

     The "publisher" means any person or entity that distributes copies
     of the Document to the public.

     A section "Entitled XYZ" means a named subunit of the Document
     whose title either is precisely XYZ or contains XYZ in parentheses
     following text that translates XYZ in another language.  (Here XYZ
     stands for a specific section name mentioned below, such as
     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     To "Preserve the Title" of such a section when you modify the
     Document means that it remains a section "Entitled XYZ" according
     to this definition.

     The Document may include Warranty Disclaimers next to the notice
     which states that this License applies to the Document.  These
     Warranty Disclaimers are considered to be included by reference in
     this License, but only as regards disclaiming warranties: any other
     implication that these Warranty Disclaimers may have is void and
     has no effect on the meaning of this License.

  2. VERBATIM COPYING

     You may copy and distribute the Document in any medium, either
     commercially or noncommercially, provided that this License, the
     copyright notices, and the license notice saying this License
     applies to the Document are reproduced in all copies, and that you
     add no other conditions whatsoever to those of this License.  You
     may not use technical measures to obstruct or control the reading
     or further copying of the copies you make or distribute.  However,
     you may accept compensation in exchange for copies.  If you
     distribute a large enough number of copies you must also follow the
     conditions in section 3.

     You may also lend copies, under the same conditions stated above,
     and you may publicly display copies.

  3. COPYING IN QUANTITY

     If you publish printed copies (or copies in media that commonly
     have printed covers) of the Document, numbering more than 100, and
     the Document's license notice requires Cover Texts, you must
     enclose the copies in covers that carry, clearly and legibly, all
     these Cover Texts: Front-Cover Texts on the front cover, and
     Back-Cover Texts on the back cover.  Both covers must also clearly
     and legibly identify you as the publisher of these copies.  The
     front cover must present the full title with all words of the title
     equally prominent and visible.  You may add other material on the
     covers in addition.  Copying with changes limited to the covers, as
     long as they preserve the title of the Document and satisfy these
     conditions, can be treated as verbatim copying in other respects.

     If the required texts for either cover are too voluminous to fit
     legibly, you should put the first ones listed (as many as fit
     reasonably) on the actual cover, and continue the rest onto
     adjacent pages.

     If you publish or distribute Opaque copies of the Document
     numbering more than 100, you must either include a machine-readable
     Transparent copy along with each Opaque copy, or state in or with
     each Opaque copy a computer-network location from which the general
     network-using public has access to download using public-standard
     network protocols a complete Transparent copy of the Document, free
     of added material.  If you use the latter option, you must take
     reasonably prudent steps, when you begin distribution of Opaque
     copies in quantity, to ensure that this Transparent copy will
     remain thus accessible at the stated location until at least one
     year after the last time you distribute an Opaque copy (directly or
     through your agents or retailers) of that edition to the public.

     It is requested, but not required, that you contact the authors of
     the Document well before redistributing any large number of copies,
     to give them a chance to provide you with an updated version of the
     Document.

  4. MODIFICATIONS

     You may copy and distribute a Modified Version of the Document
     under the conditions of sections 2 and 3 above, provided that you
     release the Modified Version under precisely this License, with the
     Modified Version filling the role of the Document, thus licensing
     distribution and modification of the Modified Version to whoever
     possesses a copy of it.  In addition, you must do these things in
     the Modified Version:

       A. Use in the Title Page (and on the covers, if any) a title
          distinct from that of the Document, and from those of previous
          versions (which should, if there were any, be listed in the
          History section of the Document).  You may use the same title
          as a previous version if the original publisher of that
          version gives permission.

       B. List on the Title Page, as authors, one or more persons or
          entities responsible for authorship of the modifications in
          the Modified Version, together with at least five of the
          principal authors of the Document (all of its principal
          authors, if it has fewer than five), unless they release you
          from this requirement.

       C. State on the Title page the name of the publisher of the
          Modified Version, as the publisher.

       D. Preserve all the copyright notices of the Document.

       E. Add an appropriate copyright notice for your modifications
          adjacent to the other copyright notices.

       F. Include, immediately after the copyright notices, a license
          notice giving the public permission to use the Modified
          Version under the terms of this License, in the form shown in
          the Addendum below.

       G. Preserve in that license notice the full lists of Invariant
          Sections and required Cover Texts given in the Document's
          license notice.

       H. Include an unaltered copy of this License.

       I. Preserve the section Entitled "History", Preserve its Title,
          and add to it an item stating at least the title, year, new
          authors, and publisher of the Modified Version as given on the
          Title Page.  If there is no section Entitled "History" in the
          Document, create one stating the title, year, authors, and
          publisher of the Document as given on its Title Page, then add
          an item describing the Modified Version as stated in the
          previous sentence.

       J. Preserve the network location, if any, given in the Document
          for public access to a Transparent copy of the Document, and
          likewise the network locations given in the Document for
          previous versions it was based on.  These may be placed in the
          "History" section.  You may omit a network location for a work
          that was published at least four years before the Document
          itself, or if the original publisher of the version it refers
          to gives permission.

       K. For any section Entitled "Acknowledgements" or "Dedications",
          Preserve the Title of the section, and preserve in the section
          all the substance and tone of each of the contributor
          acknowledgements and/or dedications given therein.

       L. Preserve all the Invariant Sections of the Document, unaltered
          in their text and in their titles.  Section numbers or the
          equivalent are not considered part of the section titles.

       M. Delete any section Entitled "Endorsements".  Such a section
          may not be included in the Modified Version.

       N. Do not retitle any existing section to be Entitled
          "Endorsements" or to conflict in title with any Invariant
          Section.

       O. Preserve any Warranty Disclaimers.

     If the Modified Version includes new front-matter sections or
     appendices that qualify as Secondary Sections and contain no
     material copied from the Document, you may at your option designate
     some or all of these sections as invariant.  To do this, add their
     titles to the list of Invariant Sections in the Modified Version's
     license notice.  These titles must be distinct from any other
     section titles.

     You may add a section Entitled "Endorsements", provided it contains
     nothing but endorsements of your Modified Version by various
     parties--for example, statements of peer review or that the text
     has been approved by an organization as the authoritative
     definition of a standard.

     You may add a passage of up to five words as a Front-Cover Text,
     and a passage of up to 25 words as a Back-Cover Text, to the end of
     the list of Cover Texts in the Modified Version.  Only one passage
     of Front-Cover Text and one of Back-Cover Text may be added by (or
     through arrangements made by) any one entity.  If the Document
     already includes a cover text for the same cover, previously added
     by you or by arrangement made by the same entity you are acting on
     behalf of, you may not add another; but you may replace the old
     one, on explicit permission from the previous publisher that added
     the old one.

     The author(s) and publisher(s) of the Document do not by this
     License give permission to use their names for publicity for or to
     assert or imply endorsement of any Modified Version.

  5. COMBINING DOCUMENTS

     You may combine the Document with other documents released under
     this License, under the terms defined in section 4 above for
     modified versions, provided that you include in the combination all
     of the Invariant Sections of all of the original documents,
     unmodified, and list them all as Invariant Sections of your
     combined work in its license notice, and that you preserve all
     their Warranty Disclaimers.

     The combined work need only contain one copy of this License, and
     multiple identical Invariant Sections may be replaced with a single
     copy.  If there are multiple Invariant Sections with the same name
     but different contents, make the title of each such section unique
     by adding at the end of it, in parentheses, the name of the
     original author or publisher of that section if known, or else a
     unique number.  Make the same adjustment to the section titles in
     the list of Invariant Sections in the license notice of the
     combined work.

     In the combination, you must combine any sections Entitled
     "History" in the various original documents, forming one section
     Entitled "History"; likewise combine any sections Entitled
     "Acknowledgements", and any sections Entitled "Dedications".  You
     must delete all sections Entitled "Endorsements."

  6. COLLECTIONS OF DOCUMENTS

     You may make a collection consisting of the Document and other
     documents released under this License, and replace the individual
     copies of this License in the various documents with a single copy
     that is included in the collection, provided that you follow the
     rules of this License for verbatim copying of each of the documents
     in all other respects.

     You may extract a single document from such a collection, and
     distribute it individually under this License, provided you insert
     a copy of this License into the extracted document, and follow this
     License in all other respects regarding verbatim copying of that
     document.

  7. AGGREGATION WITH INDEPENDENT WORKS

     A compilation of the Document or its derivatives with other
     separate and independent documents or works, in or on a volume of a
     storage or distribution medium, is called an "aggregate" if the
     copyright resulting from the compilation is not used to limit the
     legal rights of the compilation's users beyond what the individual
     works permit.  When the Document is included in an aggregate, this
     License does not apply to the other works in the aggregate which
     are not themselves derivative works of the Document.

     If the Cover Text requirement of section 3 is applicable to these
     copies of the Document, then if the Document is less than one half
     of the entire aggregate, the Document's Cover Texts may be placed
     on covers that bracket the Document within the aggregate, or the
     electronic equivalent of covers if the Document is in electronic
     form.  Otherwise they must appear on printed covers that bracket
     the whole aggregate.

  8. TRANSLATION

     Translation is considered a kind of modification, so you may
     distribute translations of the Document under the terms of section
     4.  Replacing Invariant Sections with translations requires special
     permission from their copyright holders, but you may include
     translations of some or all Invariant Sections in addition to the
     original versions of these Invariant Sections.  You may include a
     translation of this License, and all the license notices in the
     Document, and any Warranty Disclaimers, provided that you also
     include the original English version of this License and the
     original versions of those notices and disclaimers.  In case of a
     disagreement between the translation and the original version of
     this License or a notice or disclaimer, the original version will
     prevail.

     If a section in the Document is Entitled "Acknowledgements",
     "Dedications", or "History", the requirement (section 4) to
     Preserve its Title (section 1) will typically require changing the
     actual title.

  9. TERMINATION

     You may not copy, modify, sublicense, or distribute the Document
     except as expressly provided under this License.  Any attempt
     otherwise to copy, modify, sublicense, or distribute it is void,
     and will automatically terminate your rights under this License.

     However, if you cease all violation of this License, then your
     license from a particular copyright holder is reinstated (a)
     provisionally, unless and until the copyright holder explicitly and
     finally terminates your license, and (b) permanently, if the
     copyright holder fails to notify you of the violation by some
     reasonable means prior to 60 days after the cessation.

     Moreover, your license from a particular copyright holder is
     reinstated permanently if the copyright holder notifies you of the
     violation by some reasonable means, this is the first time you have
     received notice of violation of this License (for any work) from
     that copyright holder, and you cure the violation prior to 30 days
     after your receipt of the notice.

     Termination of your rights under this section does not terminate
     the licenses of parties who have received copies or rights from you
     under this License.  If your rights have been terminated and not
     permanently reinstated, receipt of a copy of some or all of the
     same material does not give you any rights to use it.

  10. FUTURE REVISIONS OF THIS LICENSE

     The Free Software Foundation may publish new, revised versions of
     the GNU Free Documentation License from time to time.  Such new
     versions will be similar in spirit to the present version, but may
     differ in detail to address new problems or concerns.  See
     <http://www.gnu.org/copyleft/>.

     Each version of the License is given a distinguishing version
     number.  If the Document specifies that a particular numbered
     version of this License "or any later version" applies to it, you
     have the option of following the terms and conditions either of
     that specified version or of any later version that has been
     published (not as a draft) by the Free Software Foundation.  If the
     Document does not specify a version number of this License, you may
     choose any version ever published (not as a draft) by the Free
     Software Foundation.  If the Document specifies that a proxy can
     decide which future versions of this License can be used, that
     proxy's public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.

  11. RELICENSING

     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
     World Wide Web server that publishes copyrightable works and also
     provides prominent facilities for anybody to edit those works.  A
     public wiki that anybody can edit is an example of such a server.
     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
     site means any set of copyrightable works thus published on the MMC
     site.

     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
     license published by Creative Commons Corporation, a not-for-profit
     corporation with a principal place of business in San Francisco,
     California, as well as future copyleft versions of that license
     published by that same organization.

     "Incorporate" means to publish or republish a Document, in whole or
     in part, as part of another Document.

     An MMC is "eligible for relicensing" if it is licensed under this
     License, and if all works that were first published under this
     License somewhere other than this MMC, and subsequently
     incorporated in whole or in part into the MMC, (1) had no cover
     texts or invariant sections, and (2) were thus incorporated prior
     to November 1, 2008.

     The operator of an MMC Site may republish an MMC contained in the
     site under CC-BY-SA on the same site at any time before August 1,
     2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents
====================================================

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

       Copyright (C)  YEAR  YOUR NAME.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
       Texts.  A copy of the license is included in the section entitled ``GNU
       Free Documentation License''.

   If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the "with...Texts." line with this:

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover Texts
         being LIST.

   If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

   If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.


File: libc.info,  Node: Concept Index,  Next: Type Index,  Prev: Documentation License,  Up: Top

Concept Index
*************

 [index ]
* Menu:

* !posix:                                Other Safety Remarks.
                                                              (line 135)
* /condition:                            Other Safety Remarks.
                                                              (line 168)
* /etc/hostname:                         Host Identification. (line  90)
* '/etc/nsswitch.conf':                  NSS Configuration File.
                                                              (line   6)
* 4.N BSD Unix:                          Berkeley Unix.       (line   6)
* :identifier:                           Other Safety Remarks.
                                                              (line 147)
* '_POSIX_OPTION_ORDER' environment variable.: Standard Environment.
                                                              (line 118)
* '_POSIX_SAVED_IDS':                    How Change Persona.  (line   6)
* abort signal:                          Program Error Signals.
                                                              (line 129)
* aborting a program:                    Aborting a Program.  (line   6)
* absolute file name:                    File Name Resolution.
                                                              (line  19)
* absolute priority:                     Absolute Priority.   (line   6)
* absolute value functions:              Absolute Value.      (line   6)
* AC-Safe:                               POSIX Safety Concepts.
                                                              (line  49)
* AC-Unsafe:                             POSIX Safety Concepts.
                                                              (line  68)
* accepting connections:                 Accepting Connections.
                                                              (line   6)
* access permission for a file:          Access Permission.   (line   6)
* access, testing for:                   Testing File Access. (line   6)
* accessing directories:                 Accessing Directories.
                                                              (line   6)
* address of socket:                     Socket Addresses.    (line   6)
* address space:                         Memory Subsystem.    (line   6)
* address space <1>:                     Program Basics.      (line   6)
* alarm signal:                          Alarm Signals.       (line  19)
* alarms, setting:                       Setting an Alarm.    (line  10)
* alignment (in obstacks):               Obstacks Data Alignment.
                                                              (line   6)
* alignment (with 'malloc'):             Aligned Memory Blocks.
                                                              (line   6)
* 'alloca' disadvantages:                Disadvantages of Alloca.
                                                              (line   6)
* 'alloca' function:                     Variable Size Automatic.
                                                              (line   6)
* allocating pseudo-terminals:           Allocation.          (line   6)
* allocation (obstacks):                 Allocation in an Obstack.
                                                              (line   6)
* allocation debugging:                  Allocation Debugging.
                                                              (line   6)
* allocation hooks, for 'malloc':        Hooks for Malloc.    (line   6)
* allocation of memory with 'malloc':    Basic Allocation.    (line   6)
* allocation size of string:             Representation of Strings.
                                                              (line  55)
* allocation statistics:                 Statistics of Malloc.
                                                              (line   6)
* alphabetic character:                  Classification of Characters.
                                                              (line  41)
* alphabetic character <1>:              Classification of Wide Characters.
                                                              (line  89)
* alphanumeric character:                Classification of Characters.
                                                              (line  60)
* alphanumeric character <1>:            Classification of Wide Characters.
                                                              (line  74)
* append-access files:                   File Position.       (line  28)
* argc (program argument count):         Program Arguments.   (line  16)
* argp (program argument parser):        Argp.                (line   6)
* argp parser functions:                 Argp Parser Functions.
                                                              (line  13)
* ARGP_HELP_FMT environment variable:    Argp User Customization.
                                                              (line   6)
* argument parsing with argp:            Argp.                (line   6)
* argument promotion:                    Calling Variadics.   (line  27)
* argument vectors, null-character separated: Argz and Envz Vectors.
                                                              (line   6)
* arguments (variadic functions):        Receiving Arguments. (line   6)
* arguments, how many:                   How Many Arguments.  (line   6)
* arguments, to program:                 Program Arguments.   (line   6)
* argv (program argument vector):        Program Arguments.   (line  16)
* argz vectors (string vectors):         Argz and Envz Vectors.
                                                              (line   6)
* arithmetic expansion:                  Expansion Stages.    (line  23)
* array comparison functions:            String/Array Comparison.
                                                              (line   6)
* array copy functions:                  Copying and Concatenation.
                                                              (line  10)
* array search function:                 Array Search Function.
                                                              (line   6)
* array sort function:                   Array Sort Function. (line   6)
* AS-Safe:                               POSIX Safety Concepts.
                                                              (line  35)
* AS-Unsafe:                             POSIX Safety Concepts.
                                                              (line  68)
* ASCII character:                       Classification of Characters.
                                                              (line 140)
* assertions:                            Consistency Checking.
                                                              (line   6)
* Async-Cancel-Safe:                     POSIX Safety Concepts.
                                                              (line  49)
* Async-Cancel-Unsafe:                   POSIX Safety Concepts.
                                                              (line  68)
* Async-Signal-Safe:                     POSIX Safety Concepts.
                                                              (line  35)
* Async-Signal-Unsafe:                   POSIX Safety Concepts.
                                                              (line  68)
* attributes of a file:                  Attribute Meanings.  (line   6)
* automatic freeing:                     Variable Size Automatic.
                                                              (line   6)
* automatic memory allocation:           Memory Allocation and C.
                                                              (line  19)
* automatic storage class:               Memory Allocation and C.
                                                              (line  19)
* automatic storage with variable size:  Variable Size Automatic.
                                                              (line   6)
* auxiliary vector:                      Auxiliary Vector.    (line   6)
* background job:                        Concepts of Job Control.
                                                              (line  47)
* background job, launching:             Foreground and Background.
                                                              (line  62)
* backtrace:                             Backtraces.          (line   6)
* backtrace_fd:                          Backtraces.          (line   6)
* backtrace_symbols:                     Backtraces.          (line   6)
* base (of floating point number):       Floating Point Concepts.
                                                              (line  20)
* baud rate:                             Line Speed.          (line   6)
* Berkeley Unix:                         Berkeley Unix.       (line   6)
* Bessel functions:                      Special Functions.   (line   6)
* bias (of floating point number exponent): Floating Point Concepts.
                                                              (line  27)
* big-endian:                            Byte Order.          (line   6)
* binary I/O to a stream:                Block Input/Output.  (line   9)
* binary search function (for arrays):   Array Search Function.
                                                              (line   6)
* binary stream:                         Binary Streams.      (line  14)
* binding a socket address:              Socket Addresses.    (line   6)
* blank character:                       Classification of Characters.
                                                              (line 109)
* blank character <1>:                   Classification of Wide Characters.
                                                              (line 261)
* block I/O to a stream:                 Block Input/Output.  (line   9)
* blocked signals:                       Delivery of Signal.  (line   6)
* blocked signals, checking for:         Checking for Pending Signals.
                                                              (line   6)
* blocking signals:                      Blocking Signals.    (line   6)
* blocking signals, in a handler:        Blocking for Handler.
                                                              (line   6)
* bootstrapping, and services:           Actions in the NSS configuration.
                                                              (line  71)
* break condition, detecting:            Input Modes.         (line  58)
* break condition, generating:           Line Control.        (line  14)
* breaking a string into tokens:         Finding Tokens in a String.
                                                              (line   6)
* broken pipe signal:                    Operation Error Signals.
                                                              (line  13)
* broken-down time:                      Calendar Time.       (line  26)
* broken-down time <1>:                  Broken-down Time.    (line   6)
* BSD Unix:                              Berkeley Unix.       (line   6)
* buffering of streams:                  Stream Buffering.    (line   6)
* buffering, controlling:                Controlling Buffering.
                                                              (line   8)
* bugs, reporting:                       Reporting Bugs.      (line   6)
* bus error:                             Program Error Signals.
                                                              (line 127)
* butterfly:                             Misc FP Arithmetic.  (line  52)
* byte order conversion, for socket:     Byte Order.          (line   6)
* byte stream:                           Socket Concepts.     (line  12)
* C++ streams:                           Streams and I18N.    (line  30)
* calendar time:                         Time Basics.         (line  13)
* calendar time and broken-down time:    Broken-down Time.    (line   6)
* calendar, Gregorian:                   Calendar Time.       (line  26)
* calling variadic functions:            Calling Variadics.   (line   6)
* canonical input processing:            Canonical or Not.    (line   9)
* capacity limits, POSIX:                General Limits.      (line   6)
* carrier detect:                        Control Modes.       (line  21)
* case conversion of characters:         Case Conversion.     (line   6)
* catching signals:                      Delivery of Signal.  (line  13)
* categories for locales:                Locale Categories.   (line   6)
* change working directory:              Working Directory.   (line   6)
* changing the locale:                   Setting the Locale.  (line  19)
* changing the size of a block ('malloc'): Changing Block Size.
                                                              (line   6)
* changing the size of a block (obstacks): Growing Objects.   (line   6)
* channels:                              Stream/Descriptor Precautions.
                                                              (line   6)
* character case conversion:             Case Conversion.     (line   6)
* character predicates:                  Classification of Characters.
                                                              (line   6)
* character testing:                     Classification of Characters.
                                                              (line   6)
* checking for pending signals:          Checking for Pending Signals.
                                                              (line   6)
* child process:                         Processor Time.      (line  32)
* child process <1>:                     Processes.           (line  13)
* child process <2>:                     Process Creation Concepts.
                                                              (line  15)
* child process signal:                  Job Control Signals. (line  14)
* chunks:                                Obstack Chunks.      (line   6)
* classes, floating-point:               Floating Point Classes.
                                                              (line   6)
* classification of characters:          Classification of Characters.
                                                              (line   6)
* cleaning up a stream:                  Linked Channels.     (line  15)
* clearing terminal input queue:         Line Control.        (line  65)
* client:                                Connections.         (line   6)
* clock ticks:                           Processor And CPU Time.
                                                              (line  19)
* clock, high accuracy:                  High Accuracy Clock. (line   6)
* close-on-exec (file descriptor flag):  Descriptor Flags.    (line  51)
* closing a file descriptor:             Opening and Closing Files.
                                                              (line   6)
* closing a socket:                      Closing a Socket.    (line   6)
* closing a stream:                      Closing Streams.     (line   6)
* collating strings:                     Collation Functions. (line   6)
* combining locales:                     Choosing Locale.     (line  17)
* command argument syntax:               Argument Syntax.     (line   6)
* command arguments, parsing:            Parsing Program Arguments.
                                                              (line   6)
* command line arguments:                Program Arguments.   (line   6)
* command substitution:                  Expansion Stages.    (line  18)
* communication style (of a socket):     Socket Concepts.     (line   6)
* comparing strings and arrays:          String/Array Comparison.
                                                              (line   6)
* Comparison Function:                   Comparison Functions.
                                                              (line   6)
* compiling:                             Configuring and compiling.
                                                              (line   6)
* complex exponentiation functions:      Exponents and Logarithms.
                                                              (line 201)
* complex logarithm functions:           Exponents and Logarithms.
                                                              (line 201)
* complex numbers:                       Complex Numbers.     (line   6)
* complex trigonometric functions:       Trig Functions.      (line  68)
* concatenating strings:                 Copying and Concatenation.
                                                              (line  10)
* Conditionally Safe Features:           Conditionally Safe Features.
                                                              (line   6)
* configuring:                           Configuring and compiling.
                                                              (line   6)
* conjugate complex numbers:             Operations on Complex.
                                                              (line   6)
* connecting a socket:                   Connecting.          (line   6)
* connection:                            Connections.         (line   6)
* consistency checking:                  Consistency Checking.
                                                              (line   6)
* consistency checking, of heap:         Heap Consistency Checking.
                                                              (line   6)
* const:                                 Conditionally Safe Features.
                                                              (line 131)
* constants:                             Memory Concepts.     (line  67)
* constants <1>:                         Mathematical Constants.
                                                              (line   6)
* continue signal:                       Job Control Signals. (line  28)
* control character:                     Classification of Characters.
                                                              (line 133)
* control character <1>:                 Classification of Wide Characters.
                                                              (line 108)
* control operations on files:           Control Operations.  (line   6)
* controlling process:                   Controlling Terminal.
                                                              (line  13)
* controlling terminal:                  Concepts of Job Control.
                                                              (line  40)
* controlling terminal, access to:       Access to the Terminal.
                                                              (line   6)
* controlling terminal, determining:     Identifying the Terminal.
                                                              (line   6)
* controlling terminal, setting:         Open-time Flags.     (line  54)
* conversion specifications ('printf'):  Formatted Output Basics.
                                                              (line  14)
* conversion specifications ('scanf'):   Formatted Input Basics.
                                                              (line  18)
* converting byte order:                 Byte Order.          (line   6)
* converting case of characters:         Case Conversion.     (line   6)
* converting file descriptor to stream:  Descriptors and Streams.
                                                              (line   6)
* converting floats to integers:         Rounding Functions.  (line   6)
* converting group ID to group name:     Lookup Group.        (line   6)
* converting group name to group ID:     Lookup Group.        (line   6)
* converting host address to name:       Host Names.          (line   6)
* converting host name to address:       Host Names.          (line   6)
* converting network name to network number: Networks Database.
                                                              (line   6)
* converting network number to network name: Networks Database.
                                                              (line   6)
* converting port number to service name: Services Database.  (line   6)
* converting service name to port number: Services Database.  (line   6)
* converting string to collation order:  Collation Functions. (line  83)
* converting strings to numbers:         Parsing of Numbers.  (line   6)
* converting user ID to user name:       Lookup User.         (line   6)
* converting user name to user ID:       Lookup User.         (line   6)
* cookie, for custom stream:             Streams and Cookies. (line   6)
* copy-on-write page fault:              Locked Memory Details.
                                                              (line  40)
* copying strings and arrays:            Copying and Concatenation.
                                                              (line  10)
* corrupt:                               Unsafe Features.     (line  26)
* cpu priority:                          Priority.            (line   6)
* CPU time:                              Time Basics.         (line  37)
* CPU time <1>:                          Processor And CPU Time.
                                                              (line  19)
* CPU time <2>:                          Processor Time.      (line  10)
* create on open (file status flag):     Open-time Flags.     (line  22)
* creating a directory:                  Creating Directories.
                                                              (line   6)
* creating a FIFO special file:          FIFO Special Files.  (line   6)
* creating a pipe:                       Creating a Pipe.     (line   6)
* creating a pipe to a subprocess:       Pipe to a Subprocess.
                                                              (line   6)
* creating a process:                    Process Creation Concepts.
                                                              (line  15)
* creating a socket:                     Creating a Socket.   (line   6)
* creating a socket pair:                Socket Pairs.        (line   6)
* creating special files:                Making Special Files.
                                                              (line   6)
* cube root function:                    Exponents and Logarithms.
                                                              (line 159)
* currency symbols:                      Currency Symbol.     (line   6)
* current limit:                         Limits on Resources. (line  17)
* current working directory:             Working Directory.   (line   6)
* custom streams:                        Custom Streams.      (line   6)
* customizing 'printf':                  Customizing Printf.  (line   6)
* cwd:                                   Other Safety Remarks.
                                                              (line 121)
* data loss on sockets:                  Socket Concepts.     (line  17)
* databases:                             Name Service Switch. (line   6)
* datagram socket:                       Datagrams.           (line   6)
* datagrams, transmitting:               Sending Datagrams.   (line   6)
* date:                                  Time Basics.         (line  16)
* Daylight Saving Time:                  Broken-down Time.    (line  62)
* decimal digit character:               Classification of Characters.
                                                              (line  54)
* decimal-point separator:               General Numeric.     (line  13)
* declaration (compared to definition):  Header Files.        (line  17)
* declaring variadic functions:          Calling Variadics.   (line   6)
* decompose complex numbers:             Operations on Complex.
                                                              (line   6)
* default action (for a signal):         Delivery of Signal.  (line  13)
* default action for a signal:           Basic Signal Handling.
                                                              (line  37)
* default argument promotions:           Calling Variadics.   (line  27)
* default value, and NSS:                Notes on NSS Configuration File.
                                                              (line  11)
* defining new 'printf' conversions:     Customizing Printf.  (line   6)
* definition (compared to declaration):  Header Files.        (line  17)
* delayed suspend character:             Signal Characters.   (line  53)
* deleting a directory:                  Deleting Files.      (line  57)
* deleting a file:                       Deleting Files.      (line   6)
* delivery of signals:                   Delivery of Signal.  (line   6)
* descriptors and streams:               Stream/Descriptor Precautions.
                                                              (line   6)
* digit character:                       Classification of Characters.
                                                              (line  54)
* digit character <1>:                   Classification of Wide Characters.
                                                              (line 121)
* directories, accessing:                Accessing Directories.
                                                              (line   6)
* directories, creating:                 Creating Directories.
                                                              (line   6)
* directories, deleting:                 Deleting Files.      (line  57)
* directory:                             Directories.         (line   9)
* directory entry:                       Directories.         (line   9)
* directory hierarchy:                   Working with Directory Trees.
                                                              (line   6)
* directory stream:                      Accessing Directories.
                                                              (line  10)
* disadvantages of 'alloca':             Disadvantages of Alloca.
                                                              (line   6)
* DISCARD character:                     Other Special.       (line  24)
* division by zero:                      FP Exceptions.       (line   6)
* dlopen:                                Unsafe Features.     (line  49)
* DNS:                                   Host Identification. (line  17)
* DNS server unavailable:                Actions in the NSS configuration.
                                                              (line  29)
* domain (of socket):                    Socket Concepts.     (line  33)
* domain error:                          Math Error Reporting.
                                                              (line   6)
* domain name:                           Host Identification. (line  20)
* Domain Name System:                    Host Identification. (line  17)
* dot notation, for Internet addresses:  Abstract Host Addresses.
                                                              (line  47)
* DSUSP character:                       Signal Characters.   (line  53)
* duplicating file descriptors:          Duplicating Descriptors.
                                                              (line   6)
* dynamic memory allocation:             Memory Allocation and C.
                                                              (line  26)
* dynamic memory allocation <1>:         Memory Allocation and C.
                                                              (line  31)
* EBCDIC:                                Extended Char Intro. (line 162)
* echo of terminal input:                Local Modes.         (line  24)
* effective group ID:                    Process Persona.     (line   6)
* effective user ID:                     Process Persona.     (line   6)
* efficiency and 'malloc':               Efficiency and Malloc.
                                                              (line   6)
* efficiency and obstacks:               Extra Fast Growing.  (line   6)
* efficiency of chunks:                  Obstack Chunks.      (line   6)
* EINTR, and restarting interrupted primitives: Interrupted Primitives.
                                                              (line  51)
* elapsed time:                          Time Basics.         (line  24)
* elapsed time <1>:                      Elapsed Time.        (line   6)
* encryption:                            Trivial Encryption.  (line   6)
* end of file, on a stream:              EOF and Errors.      (line   6)
* end-of-file, on a file descriptor:     I/O Primitives.      (line  24)
* env:                                   Other Safety Remarks.
                                                              (line  26)
* environment:                           Environment Variables.
                                                              (line  22)
* environment access:                    Environment Access.  (line   6)
* environment representation:            Environment Access.  (line   6)
* environment variable:                  Environment Variables.
                                                              (line   6)
* environment vectors, null-character separated: Argz and Envz Vectors.
                                                              (line   9)
* envz vectors (environment vectors):    Argz and Envz Vectors.
                                                              (line   9)
* EOF character:                         Editing Characters.  (line  10)
* EOL character:                         Editing Characters.  (line  22)
* EOL2 character:                        Editing Characters.  (line  35)
* epoch:                                 Simple Calendar Time.
                                                              (line  10)
* ERASE character:                       Editing Characters.  (line  47)
* errno:                                 System Calls.        (line  58)
* error codes:                           Error Reporting.     (line   6)
* error messages, in argp:               Argp Helper Functions.
                                                              (line  31)
* error reporting:                       Error Reporting.     (line   6)
* errors, mathematical:                  Math Error Reporting.
                                                              (line   6)
* establishing a handler:                Signal Actions.      (line   6)
* ethers:                                NSS Basics.          (line  24)
* EUC:                                   Extended Char Intro. (line 194)
* EUC-JP:                                glibc iconv Implementation.
                                                              (line  55)
* exception:                             FP Exceptions.       (line   6)
* exception <1>:                         Program Error Signals.
                                                              (line  48)
* exclusive lock:                        File Locks.          (line  10)
* 'exec' functions:                      Executing a File.    (line   6)
* execing a program:                     Memory Concepts.     (line  90)
* executable:                            Memory Concepts.     (line  67)
* executing a file:                      Executing a File.    (line   6)
* exit status:                           Exit Status.         (line   6)
* exit status value:                     Program Termination. (line   6)
* exiting a program:                     Memory Concepts.     (line  90)
* expansion of shell words:              Word Expansion.      (line   6)
* exponent (of floating point number):   Floating Point Concepts.
                                                              (line  23)
* exponentiation functions:              Exponents and Logarithms.
                                                              (line   6)
* extending 'printf':                    Customizing Printf.  (line   6)
* extracting file descriptor from stream: Descriptors and Streams.
                                                              (line   6)
* 'fcntl' function:                      Control Operations.  (line   6)
* fd:                                    Other Safety Remarks.
                                                              (line  67)
* FDL, GNU Free Documentation License:   Documentation License.
                                                              (line   6)
* feature test macros:                   Feature Test Macros. (line   6)
* field splitting:                       Expansion Stages.    (line  26)
* FIFO special file:                     Pipes and FIFOs.     (line  12)
* file access permission:                Access Permission.   (line   6)
* file access time:                      File Times.          (line   6)
* file attribute modification time:      File Times.          (line   6)
* file attributes:                       Attribute Meanings.  (line   6)
* file creation mask:                    Setting Permissions. (line   6)
* file descriptor flags:                 Descriptor Flags.    (line   6)
* file descriptor sets, for 'select':    Waiting for I/O.     (line  30)
* file descriptors, standard:            Descriptors and Streams.
                                                              (line  58)
* file locks:                            File Locks.          (line   6)
* file modification time:                File Times.          (line   6)
* file name:                             File Names.          (line  14)
* file name component:                   Directories.         (line  15)
* file name errors:                      File Name Errors.    (line   6)
* file name resolution:                  File Name Resolution.
                                                              (line  10)
* file name translation flags:           Open-time Flags.     (line  14)
* file names, multiple:                  Hard Links.          (line   6)
* file owner:                            File Owner.          (line   6)
* file permission bits:                  Permission Bits.     (line  15)
* file pointer:                          Streams.             (line  12)
* file position:                         File Position.       (line  14)
* file positioning on a file descriptor: File Position Primitive.
                                                              (line  15)
* file positioning on a stream:          File Positioning.    (line   6)
* file status flags:                     File Status Flags.   (line   6)
* files, accessing:                      Memory Concepts.     (line  83)
* filtering i/o through subprocess:      Pipe to a Subprocess.
                                                              (line   6)
* FIPS 140-2:                            Cryptographic Functions.
                                                              (line  32)
* FIPS 46-3:                             DES Encryption.      (line   6)
* flag character ('printf'):             Output Conversion Syntax.
                                                              (line  60)
* flag character ('scanf'):              Input Conversion Syntax.
                                                              (line  35)
* flags for 'sigaction':                 Flags for Sigaction. (line   6)
* flags, file name translation:          Open-time Flags.     (line  14)
* flags, open-time action:               Open-time Flags.     (line  17)
* floating point:                        Floating Point Numbers.
                                                              (line   6)
* floating point, IEEE:                  IEEE Floating Point. (line   6)
* floating type measurements:            Floating Type Macros.
                                                              (line   6)
* floating-point classes:                Floating Point Classes.
                                                              (line   6)
* floating-point exception:              Program Error Signals.
                                                              (line  48)
* flow control, terminal:                Line Control.        (line 105)
* flushing a stream:                     Flushing Buffers.    (line   6)
* flushing terminal output queue:        Line Control.        (line  37)
* foreground job:                        Concepts of Job Control.
                                                              (line  47)
* foreground job, launching:             Foreground and Background.
                                                              (line  10)
* forking a process:                     Process Creation Concepts.
                                                              (line  15)
* format string, for 'printf':           Formatted Output.    (line   6)
* format string, for 'scanf':            Formatted Input.     (line   6)
* formatted input from a stream:         Formatted Input.     (line   6)
* formatted messages:                    Formatted Messages.  (line   6)
* formatted output to a stream:          Formatted Output.    (line   6)
* FP arithmetic:                         FP Bit Twiddling.    (line   6)
* FQDN:                                  Host Identification. (line  31)
* frame, real memory:                    Memory Concepts.     (line  18)
* free documentation:                    Free Manuals.        (line   6)
* freeing (obstacks):                    Freeing Obstack Objects.
                                                              (line   6)
* freeing memory:                        Memory Concepts.     (line  90)
* freeing memory allocated with 'malloc': Freeing after Malloc.
                                                              (line   6)
* fully buffered stream:                 Buffering Concepts.  (line  15)
* function prototypes (variadic):        Variadic Prototypes. (line   6)
* gamma function:                        Special Functions.   (line   6)
* gcvt_r:                                System V Number Conversion.
                                                              (line 101)
* gencat:                                The gencat program.  (line   6)
* generation of signals:                 Signal Generation.   (line   6)
* generic i/o control operations:        IOCTLs.              (line   6)
* globbing:                              Globbing.            (line   6)
* graphic character:                     Classification of Characters.
                                                              (line 118)
* graphic character <1>:                 Classification of Wide Characters.
                                                              (line 144)
* Gregorian calendar:                    Calendar Time.       (line  26)
* group:                                 NSS Basics.          (line  24)
* group database:                        Group Database.      (line   6)
* group ID:                              User and Group IDs.  (line  12)
* group name:                            User and Group IDs.  (line  12)
* group owner of a file:                 File Owner.          (line   6)
* grouping of digits:                    General Numeric.     (line  28)
* growing objects (in obstacks):         Growing Objects.     (line   6)
* handling multiple signals:             Merged Signals.      (line   6)
* hangup signal:                         Termination Signals. (line  72)
* hard limit:                            Limits on Resources. (line  24)
* hard link:                             Hard Links.          (line   6)
* header files:                          Header Files.        (line   6)
* heap:                                  Unsafe Features.     (line  41)
* heap consistency checking:             Heap Consistency Checking.
                                                              (line   6)
* heap, dynamic allocation from:         Unconstrained Allocation.
                                                              (line   6)
* heap, freeing memory from:             Freeing after Malloc.
                                                              (line   6)
* hexadecimal digit character:           Classification of Characters.
                                                              (line  68)
* hexadecimal digit character <1>:       Classification of Wide Characters.
                                                              (line 242)
* hidden bit (of floating point number mantissa): Floating Point Concepts.
                                                              (line  42)
* hierarchy, directory:                  Working with Directory Trees.
                                                              (line   6)
* high-priority data:                    Out-of-Band Data.    (line   6)
* high-resolution time:                  Calendar Time.       (line  20)
* holes in files:                        File Position Primitive.
                                                              (line  62)
* home directory:                        Standard Environment.
                                                              (line  12)
* 'HOME' environment variable:           Standard Environment.
                                                              (line  12)
* hook functions (of custom streams):    Hook Functions.      (line   6)
* host address, Internet:                Abstract Host Addresses.
                                                              (line   6)
* host name:                             Host Identification. (line  14)
* hostid:                                Other Safety Remarks.
                                                              (line  40)
* hostname:                              Host Identification. (line  19)
* hosts:                                 NSS Basics.          (line  24)
* hosts database:                        Host Names.          (line   6)
* how many arguments:                    How Many Arguments.  (line   6)
* hyperbolic functions:                  Hyperbolic Functions.
                                                              (line   6)
* hyperbolic functions <1>:              Hyperbolic Functions.
                                                              (line  42)
* i18n:                                  Unsafe Features.     (line  79)
* iconv:                                 Unsafe Features.     (line  67)
* identifying terminals:                 Is It a Terminal.    (line   6)
* IEEE 754:                              Floating Point Numbers.
                                                              (line   6)
* IEEE floating point:                   Floating Point Numbers.
                                                              (line   6)
* IEEE floating point representation:    IEEE Floating Point. (line   6)
* IEEE Std 1003.1:                       POSIX.               (line   6)
* IEEE Std 1003.2:                       POSIX.               (line   6)
* ignore action for a signal:            Basic Signal Handling.
                                                              (line  42)
* illegal instruction:                   Program Error Signals.
                                                              (line 100)
* impossible events:                     Consistency Checking.
                                                              (line   6)
* independent channels:                  Independent Channels.
                                                              (line   6)
* inexact exception:                     FP Exceptions.       (line   6)
* infinity:                              Infinity and NaN.    (line   6)
* init:                                  Conditionally Safe Features.
                                                              (line  16)
* initial signal actions:                Initial Signal Actions.
                                                              (line   6)
* inode number:                          Attribute Meanings.  (line 192)
* input available signal:                Asynchronous I/O Signals.
                                                              (line  13)
* input conversions, for 'scanf':        Table of Input Conversions.
                                                              (line   6)
* input from multiple files:             Waiting for I/O.     (line   6)
* installation tools:                    Tools for Compilation.
                                                              (line   6)
* installing:                            Running make install.
                                                              (line   6)
* integer:                               Integers.            (line   6)
* integer division functions:            Integer Division.    (line   6)
* integer type range:                    Range of Type.       (line   6)
* integer type width:                    Width of Type.       (line   6)
* interactive signals, from terminal:    Local Modes.         (line  94)
* interactive stop signal:               Job Control Signals. (line  57)
* internal representation:               Extended Char Intro. (line  13)
* internationalization:                  Locales.             (line  11)
* Internet host address:                 Abstract Host Addresses.
                                                              (line   6)
* Internet namespace, for sockets:       Internet Namespace.  (line   6)
* interprocess communication, with FIFO: FIFO Special Files.  (line   6)
* interprocess communication, with pipes: Creating a Pipe.    (line   6)
* interprocess communication, with signals: Kill Example.     (line   6)
* interprocess communication, with sockets: Sockets.          (line   9)
* interrupt character:                   Signal Characters.   (line  11)
* interrupt signal:                      Termination Signals. (line  30)
* interrupt-driven input:                Interrupt Input.     (line   6)
* interrupting primitives:               Interrupted Primitives.
                                                              (line  51)
* interval:                              Time Basics.         (line  20)
* interval timer, setting:               Setting an Alarm.    (line  10)
* INTR character:                        Signal Characters.   (line  11)
* invalid exception:                     FP Exceptions.       (line   6)
* inverse complex hyperbolic functions:  Hyperbolic Functions.
                                                              (line 105)
* inverse complex trigonometric functions: Inverse Trig Functions.
                                                              (line  71)
* inverse hyperbolic functions:          Hyperbolic Functions.
                                                              (line  75)
* inverse trigonometric functions:       Inverse Trig Functions.
                                                              (line   6)
* invocation of program:                 Program Arguments.   (line   6)
* IOCTLs:                                IOCTLs.              (line   6)
* ISO 10646:                             Extended Char Intro. (line  38)
* ISO 2022:                              Extended Char Intro. (line 185)
* ISO 6937:                              Extended Char Intro. (line 208)
* ISO C:                                 ISO C.               (line   6)
* ISO-2022-JP:                           glibc iconv Implementation.
                                                              (line  55)
* ISO/IEC 9945-1:                        POSIX.               (line   6)
* ISO/IEC 9945-2:                        POSIX.               (line   6)
* job:                                   Job Control.         (line   6)
* job control:                           Job Control.         (line   6)
* job control functions:                 Functions for Job Control.
                                                              (line   6)
* job control is optional:               Job Control is Optional.
                                                              (line   6)
* job control signals:                   Job Control Signals. (line   6)
* job control, enabling:                 Initializing the Shell.
                                                              (line   6)
* job control, enabling <1>:             Initializing the Shell.
                                                              (line  24)
* Kermit the frog:                       Search/Sort Example. (line 107)
* kernel call:                           System Calls.        (line  16)
* kernel header files:                   Linux.               (line   6)
* KILL character:                        Editing Characters.  (line  85)
* kill signal:                           Termination Signals. (line  70)
* killing a process:                     Signaling Another Process.
                                                              (line   6)
* Korn Shell:                            Wildcard Matching.   (line  71)
* LANG environment variable:             The catgets Functions.
                                                              (line 100)
* 'LANG' environment variable:           Standard Environment.
                                                              (line  73)
* launching jobs:                        Launching Jobs.      (line   6)
* LC_ALL environment variable:           The catgets Functions.
                                                              (line 100)
* 'LC_ALL' environment variable:         Standard Environment.
                                                              (line  80)
* 'LC_COLLATE' environment variable:     Standard Environment.
                                                              (line  87)
* 'LC_CTYPE' environment variable:       Standard Environment.
                                                              (line  91)
* LC_MESSAGES environment variable:      The catgets Functions.
                                                              (line 100)
* 'LC_MESSAGES' environment variable:    Standard Environment.
                                                              (line  96)
* 'LC_MONETARY' environment variable:    Standard Environment.
                                                              (line 101)
* 'LC_NUMERIC' environment variable:     Standard Environment.
                                                              (line 105)
* 'LC_TIME' environment variable:        Standard Environment.
                                                              (line 109)
* leap second:                           Broken-down Time.    (line  28)
* length of string:                      Representation of Strings.
                                                              (line  55)
* level, for socket options:             Socket Options.      (line   9)
* library:                               Introduction.        (line   9)
* limit:                                 Limits on Resources. (line  12)
* limits on resource usage:              Limits on Resources. (line   6)
* limits, file name length:              Limits for Files.    (line  36)
* limits, floating types:                Floating Type Macros.
                                                              (line   6)
* limits, integer types:                 Range of Type.       (line   6)
* limits, link count of files:           Limits for Files.    (line  24)
* limits, number of open files:          General Limits.      (line  34)
* limits, number of processes:           General Limits.      (line  28)
* limits, number of supplementary group IDs: General Limits.  (line  50)
* limits, pipe buffer size:              Limits for Files.    (line  51)
* limits, POSIX:                         General Limits.      (line   6)
* limits, program argument size:         General Limits.      (line  24)
* limits, terminal input queue:          Limits for Files.    (line  28)
* limits, time zone name length:         General Limits.      (line  44)
* line buffered stream:                  Buffering Concepts.  (line  12)
* line speed:                            Line Speed.          (line   6)
* lines (in a text file):                Binary Streams.      (line  26)
* link:                                  Directories.         (line   9)
* link, hard:                            Hard Links.          (line   6)
* link, soft:                            Symbolic Links.      (line   6)
* link, symbolic:                        Symbolic Links.      (line   6)
* linked channels:                       Linked Channels.     (line   6)
* listening (sockets):                   Listening.           (line   6)
* literals:                              Memory Concepts.     (line  67)
* little-endian:                         Byte Order.          (line   6)
* LNEXT character:                       Other Special.       (line   7)
* load average:                          Processor Resources. (line  46)
* local namespace, for sockets:          Local Namespace.     (line   6)
* local network address number:          Abstract Host Addresses.
                                                              (line   9)
* local time:                            Calendar Time.       (line  26)
* locale:                                Other Safety Remarks.
                                                              (line  10)
* locale categories:                     Locale Categories.   (line   6)
* locale, changing:                      Setting the Locale.  (line  19)
* locales:                               Locales.             (line  11)
* lock:                                  Unsafe Features.     (line  13)
* locking pages:                         Locking Pages.       (line   6)
* logarithm functions:                   Exponents and Logarithms.
                                                              (line   6)
* login name:                            User and Group IDs.  (line   6)
* login name, determining:               Who Logged In.       (line   6)
* 'LOGNAME' environment variable:        Standard Environment.
                                                              (line  25)
* long jumps:                            Non-Local Exits.     (line   6)
* long-named options:                    Argument Syntax.     (line  51)
* longjmp:                               Advantages of Alloca.
                                                              (line  15)
* loss of data on sockets:               Socket Concepts.     (line  17)
* lost resource signal:                  Operation Error Signals.
                                                              (line  27)
* lower-case character:                  Classification of Characters.
                                                              (line  27)
* lower-case character <1>:              Classification of Wide Characters.
                                                              (line 158)
* macros:                                Obstack Functions.   (line   6)
* 'main' function:                       Program Arguments.   (line   6)
* malloc debugger:                       Allocation Debugging.
                                                              (line   6)
* 'malloc' function:                     Unconstrained Allocation.
                                                              (line   6)
* mantissa (of floating point number):   Floating Point Concepts.
                                                              (line  35)
* matching failure, in 'scanf':          Formatted Input Basics.
                                                              (line  32)
* math errors:                           Errors in Math Functions.
                                                              (line   6)
* mathematical constants:                Mathematical Constants.
                                                              (line   6)
* maximum:                               Misc FP Arithmetic.  (line   6)
* maximum field width ('scanf'):         Input Conversion Syntax.
                                                              (line  50)
* maximum limit:                         Limits on Resources. (line  24)
* maximum possible integer:              Integers.            (line  80)
* measurements of floating types:        Floating Type Macros.
                                                              (line   6)
* mem:                                   Other Safety Remarks.
                                                              (line 103)
* memory allocation:                     Memory.              (line   6)
* memory lock:                           Locking Pages.       (line   6)
* memory mapped file:                    Memory Concepts.     (line  83)
* memory mapped I/O:                     Memory Concepts.     (line  83)
* memory page:                           Memory Subsystem.    (line  33)
* merging of signals:                    Merged Signals.      (line   6)
* MIN termios slot:                      Noncanonical Input.  (line  26)
* minimum:                               Misc FP Arithmetic.  (line   6)
* minimum field width ('printf'):        Output Conversion Syntax.
                                                              (line  67)
* minimum possible integer:              Integers.            (line  80)
* mixing descriptors and streams:        Stream/Descriptor Precautions.
                                                              (line   6)
* modem disconnect:                      Control Modes.       (line  33)
* modem status lines:                    Control Modes.       (line  21)
* monetary value formatting:             The Lame Way to Locale Data.
                                                              (line  13)
* MT-Safe:                               POSIX Safety Concepts.
                                                              (line  16)
* MT-Unsafe:                             POSIX Safety Concepts.
                                                              (line  68)
* multi-threaded application:            Streams and Threads. (line   6)
* multibyte character:                   Extended Char Intro. (line 162)
* multibyte character string:            Representation of Strings.
                                                              (line  11)
* multibyte string:                      Representation of Strings.
                                                              (line  66)
* multiple names for one file:           Hard Links.          (line   6)
* multiplexing input:                    Waiting for I/O.     (line   6)
* multiply-add:                          Misc FP Arithmetic.  (line   6)
* name of running program:               Error Messages.      (line  81)
* name of socket:                        Socket Addresses.    (line   6)
* Name Service Switch:                   Name Service Switch. (line   6)
* name space:                            Reserved Names.      (line   6)
* names of signals:                      Standard Signals.    (line   6)
* namespace (of socket):                 Socket Concepts.     (line  33)
* NaN:                                   Infinity and NaN.    (line   6)
* NaN <1>:                               FP Bit Twiddling.    (line  69)
* netgroup:                              NSS Basics.          (line  24)
* Netgroup:                              Netgroup Data.       (line   6)
* network byte order:                    Byte Order.          (line  11)
* network number:                        Abstract Host Addresses.
                                                              (line   9)
* network protocol:                      Socket Concepts.     (line  42)
* networks:                              NSS Basics.          (line  24)
* networks database:                     Networks Database.   (line   6)
* NIS:                                   Host Identification. (line  37)
* NIS domain name:                       Host Identification. (line  37)
* NIS domain name <1>:                   Host Identification. (line 106)
* NIS domain name <2>:                   Host Identification. (line 117)
* nisplus, and booting:                  Actions in the NSS configuration.
                                                              (line  71)
* nisplus, and completeness:             Actions in the NSS configuration.
                                                              (line  64)
* NLSPATH environment variable:          The catgets Functions.
                                                              (line  32)
* 'NLSPATH' environment variable:        Standard Environment.
                                                              (line 113)
* non-blocking open:                     Open-time Flags.     (line  30)
* non-local exit, from signal handler:   Longjmp in Handler.  (line   6)
* non-local exits:                       Non-Local Exits.     (line   6)
* noncanonical input processing:         Canonical or Not.    (line  26)
* normalization functions (floating-point): Normalization Functions.
                                                              (line   6)
* normalized floating point number:      Floating Point Concepts.
                                                              (line  58)
* not a number:                          Infinity and NaN.    (line   6)
* NSS:                                   Unsafe Features.     (line  66)
* NSS <1>:                               Name Service Switch. (line   6)
* 'nsswitch.conf':                       NSS Configuration File.
                                                              (line   6)
* null character:                        Representation of Strings.
                                                              (line  26)
* null pointer constant:                 Null Pointer Constant.
                                                              (line   6)
* null wide character:                   Representation of Strings.
                                                              (line  26)
* number of arguments passed:            How Many Arguments.  (line   6)
* number syntax, parsing:                Parsing of Numbers.  (line   6)
* numeric value formatting:              The Lame Way to Locale Data.
                                                              (line  13)
* obstack status:                        Status of an Obstack.
                                                              (line   6)
* obstacks:                              Obstacks.            (line   6)
* open-time action flags:                Open-time Flags.     (line  17)
* opening a file:                        I/O Concepts.        (line   9)
* opening a file descriptor:             Opening and Closing Files.
                                                              (line   6)
* opening a pipe:                        Creating a Pipe.     (line   6)
* opening a pseudo-terminal pair:        Pseudo-Terminal Pairs.
                                                              (line   6)
* opening a socket:                      Creating a Socket.   (line   6)
* opening a socket pair:                 Socket Pairs.        (line   6)
* opening a stream:                      Opening Streams.     (line   6)
* Optimization:                          FP Function Optimizations.
                                                              (line   6)
* optimizing NSS:                        Notes on NSS Configuration File.
                                                              (line  27)
* option parsing with argp:              Argp.                (line   6)
* optional arguments:                    Variadic Functions.  (line   6)
* optional POSIX features:               System Options.      (line   6)
* orientation, stream:                   Opening Streams.     (line  98)
* orientation, stream <1>:               Streams and I18N.    (line  37)
* orphaned process group:                Orphaned Process Groups.
                                                              (line   6)
* Other Safety Remarks:                  Other Safety Remarks.
                                                              (line   6)
* out-of-band data:                      Out-of-Band Data.    (line   6)
* output conversions, for 'printf':      Table of Output Conversions.
                                                              (line   6)
* output possible signal:                Asynchronous I/O Signals.
                                                              (line  13)
* overflow exception:                    FP Exceptions.       (line   6)
* owner of a file:                       File Owner.          (line   6)
* packet:                                Socket Concepts.     (line  12)
* page boundary:                         Aligned Memory Blocks.
                                                              (line   6)
* page fault:                            Memory Concepts.     (line  45)
* page fault, copy-on-write:             Locked Memory Details.
                                                              (line  40)
* page frame:                            Memory Concepts.     (line  18)
* page, memory:                          Memory Subsystem.    (line  33)
* page, virtual memory:                  Memory Concepts.     (line  18)
* paging:                                Memory Concepts.     (line  45)
* paging <1>:                            Locking Pages.       (line   6)
* parameter promotion:                   String/Array Conventions.
                                                              (line  41)
* parent directory:                      File Name Resolution.
                                                              (line  28)
* parent process:                        Processes.           (line  13)
* parent process <1>:                    Process Creation Concepts.
                                                              (line  15)
* parity checking:                       Input Modes.         (line  17)
* parsing a template string:             Parsing a Template String.
                                                              (line   6)
* parsing numbers (in formatted input):  Parsing of Numbers.  (line   6)
* parsing program arguments:             Parsing Program Arguments.
                                                              (line   6)
* parsing tokens from a string:          Finding Tokens in a String.
                                                              (line   6)
* passwd:                                NSS Basics.          (line  24)
* password database:                     User Database.       (line   6)
* 'PATH' environment variable:           Standard Environment.
                                                              (line  35)
* 'pause' function:                      Waiting for a Signal.
                                                              (line   6)
* peeking at input:                      Unreading.           (line   6)
* pending signals:                       Delivery of Signal.  (line   6)
* pending signals, checking for:         Checking for Pending Signals.
                                                              (line   6)
* period of time:                        Time Basics.         (line  33)
* permission to access a file:           Access Permission.   (line   6)
* persona:                               Process Persona.     (line   6)
* physical address:                      Memory Subsystem.    (line   6)
* physical memory:                       Memory Subsystem.    (line   6)
* pi (trigonometric constant):           Trig Functions.      (line  10)
* pipe:                                  Pipes and FIFOs.     (line   6)
* pipe signal:                           Operation Error Signals.
                                                              (line  13)
* pipe to a subprocess:                  Pipe to a Subprocess.
                                                              (line   6)
* plugin:                                Unsafe Features.     (line  61)
* port number:                           Ports.               (line   6)
* positioning a file descriptor:         File Position Primitive.
                                                              (line  15)
* positioning a stream:                  File Positioning.    (line   6)
* positive difference:                   Misc FP Arithmetic.  (line   6)
* POSIX:                                 POSIX.               (line   6)
* POSIX capacity limits:                 General Limits.      (line   6)
* POSIX optional features:               System Options.      (line   6)
* POSIX Safety Concepts:                 POSIX Safety Concepts.
                                                              (line   6)
* POSIX.1:                               POSIX.               (line   6)
* POSIX.2:                               POSIX.               (line   6)
* power functions:                       Exponents and Logarithms.
                                                              (line   6)
* precision (of floating point number):  Floating Point Concepts.
                                                              (line  38)
* precision ('printf'):                  Output Conversion Syntax.
                                                              (line  78)
* predicates on arrays:                  String/Array Comparison.
                                                              (line   6)
* predicates on characters:              Classification of Characters.
                                                              (line   6)
* predicates on strings:                 String/Array Comparison.
                                                              (line   6)
* preemptive scheduling:                 Absolute Priority.   (line  17)
* Preliminary:                           POSIX Safety Concepts.
                                                              (line  75)
* primitives, interrupting:              Interrupted Primitives.
                                                              (line  51)
* printing character:                    Classification of Characters.
                                                              (line 126)
* printing character <1>:                Classification of Wide Characters.
                                                              (line 171)
* priority of a process:                 Priority.            (line   6)
* priority, absolute:                    Absolute Priority.   (line   6)
* process:                               Program Basics.      (line   6)
* process <1>:                           Processes.           (line   6)
* process completion:                    Process Completion.  (line   6)
* process group functions:               Functions for Job Control.
                                                              (line   6)
* process group ID:                      Launching Jobs.      (line  23)
* process group leader:                  Launching Jobs.      (line  23)
* process groups:                        Job Control.         (line   6)
* process ID:                            Process Creation Concepts.
                                                              (line   9)
* process image:                         Process Creation Concepts.
                                                              (line  33)
* process lifetime:                      Process Creation Concepts.
                                                              (line   9)
* process priority:                      Priority.            (line   6)
* process signal mask:                   Process Signal Mask. (line   6)
* process termination:                   Program Termination. (line   6)
* processor time:                        Time Basics.         (line  44)
* processor time <1>:                    Processor Time.      (line  10)
* profiling alarm signal:                Alarm Signals.       (line  29)
* profiling timer:                       Setting an Alarm.    (line  22)
* program:                               Program Basics.      (line   6)
* program argument syntax:               Argument Syntax.     (line   6)
* program arguments:                     Program Arguments.   (line   6)
* program arguments, parsing:            Parsing Program Arguments.
                                                              (line   6)
* program error signals:                 Program Error Signals.
                                                              (line   6)
* program name:                          Error Messages.      (line  81)
* program startup:                       Program Arguments.   (line   6)
* program termination:                   Program Termination. (line   6)
* program termination signals:           Termination Signals. (line   6)
* programming your own streams:          Custom Streams.      (line   6)
* project complex numbers:               Operations on Complex.
                                                              (line   6)
* protocol (of socket):                  Socket Concepts.     (line  42)
* protocol family:                       Socket Concepts.     (line  42)
* protocols:                             NSS Basics.          (line  24)
* protocols database:                    Protocols Database.  (line   6)
* prototypes for variadic functions:     Variadic Prototypes. (line   6)
* pseudo-random numbers:                 Pseudo-Random Numbers.
                                                              (line   6)
* pseudo-terminals:                      Pseudo-Terminals.    (line   6)
* pthreads:                              POSIX Threads.       (line   6)
* punctuation character:                 Classification of Characters.
                                                              (line  76)
* punctuation character <1>:             Classification of Wide Characters.
                                                              (line 184)
* pushing input back:                    Unreading.           (line   6)
* quick sort function (for arrays):      Array Sort Function. (line   6)
* QUIT character:                        Signal Characters.   (line  22)
* quit signal:                           Termination Signals. (line  36)
* quit signal <1>:                       Termination Signals. (line  36)
* quote removal:                         Expansion Stages.    (line  33)
* race:                                  Conditionally Safe Features.
                                                              (line  46)
* race conditions, relating to job control: Launching Jobs.   (line  28)
* race conditions, relating to signals:  Signals in Handler.  (line   6)
* radix (of floating point number):      Floating Point Concepts.
                                                              (line  20)
* raising signals:                       Generating Signals.  (line   6)
* random numbers:                        Pseudo-Random Numbers.
                                                              (line   6)
* random-access files:                   File Position.       (line  22)
* range error:                           Math Error Reporting.
                                                              (line   6)
* range of integer type:                 Range of Type.       (line   6)
* read lock:                             File Locks.          (line  14)
* reading from a directory:              Accessing Directories.
                                                              (line   6)
* reading from a file descriptor:        I/O Primitives.      (line  15)
* reading from a socket:                 Transferring Data.   (line   6)
* reading from a stream, by blocks:      Block Input/Output.  (line   9)
* reading from a stream, by characters:  Character Input.     (line   6)
* reading from a stream, formatted:      Formatted Input.     (line   6)
* ready to run:                          Absolute Priority.   (line  17)
* real group ID:                         Process Persona.     (line  17)
* real user ID:                          Process Persona.     (line  17)
* real-time timer:                       Setting an Alarm.    (line  13)
* realtime CPU scheduling:               Absolute Priority.   (line   9)
* realtime processing:                   Why Lock Pages.      (line  14)
* realtime scheduling:                   Realtime Scheduling. (line   6)
* receiving datagrams:                   Receiving Datagrams. (line   6)
* record locking:                        File Locks.          (line   6)
* redirecting input and output:          Duplicating Descriptors.
                                                              (line   6)
* reentrant functions:                   Nonreentrancy.       (line  26)
* reentrant NSS functions:               NSS Module Names.    (line  21)
* relative file name:                    File Name Resolution.
                                                              (line  24)
* removal of quotes:                     Expansion Stages.    (line  33)
* removing a file:                       Deleting Files.      (line   6)
* removing macros that shadow functions: Macro Definitions.   (line   6)
* renaming a file:                       Renaming Files.      (line   8)
* reporting bugs:                        Reporting Bugs.      (line   6)
* reporting errors:                      Error Reporting.     (line   6)
* REPRINT character:                     Editing Characters.  (line  96)
* reserved names:                        Reserved Names.      (line   6)
* resource limits:                       Limits on Resources. (line   6)
* restarting interrupted primitives:     Interrupted Primitives.
                                                              (line  51)
* restrictions on signal handler functions: Nonreentrancy.    (line   6)
* root directory:                        File Name Resolution.
                                                              (line  19)
* Rot13:                                 Trivial Encryption.  (line  11)
* rpc:                                   NSS Basics.          (line  24)
* runnable process:                      Absolute Priority.   (line  25)
* running a command:                     Running a Command.   (line   6)
* saved set-group-ID:                    How Change Persona.  (line   6)
* saved set-user-ID:                     How Change Persona.  (line   6)
* scanning the group list:               Scanning All Groups. (line   6)
* scanning the user list:                Scanning All Users.  (line   6)
* scatter-gather:                        Scatter-Gather.      (line   6)
* scheduling, traditional:               Traditional Scheduling.
                                                              (line   6)
* search function (for arrays):          Array Search Function.
                                                              (line   6)
* search functions (for strings):        Search Functions.    (line   8)
* seed (for random numbers):             Pseudo-Random Numbers.
                                                              (line   6)
* seeking on a file descriptor:          File Position Primitive.
                                                              (line  15)
* seeking on a stream:                   File Positioning.    (line   6)
* segmentation violation:                Program Error Signals.
                                                              (line 102)
* sending a datagram:                    Sending Datagrams.   (line   6)
* sending signals:                       Generating Signals.  (line   6)
* sequential-access files:               File Position.       (line  14)
* server:                                Connections.         (line   6)
* services:                              NSS Basics.          (line  24)
* services database:                     Services Database.   (line   6)
* session:                               Job Control.         (line   6)
* session <1>:                           Concepts of Job Control.
                                                              (line  24)
* session leader:                        Concepts of Job Control.
                                                              (line  32)
* setting an alarm:                      Setting an Alarm.    (line  10)
* 'setuid' programs:                     How Change Persona.  (line   6)
* setuid programs and file access:       Testing File Access. (line   6)
* severity class:                        Printing Formatted Messages.
                                                              (line  85)
* severity class <1>:                    Adding Severity Classes.
                                                              (line   6)
* sgettext:                              GUI program problems.
                                                              (line  58)
* sgettext <1>:                          GUI program problems.
                                                              (line  83)
* shadow:                                NSS Basics.          (line  24)
* shadowing functions with macros:       Macro Definitions.   (line   6)
* shared lock:                           File Locks.          (line  14)
* shared memory:                         Memory Subsystem.    (line  13)
* shell:                                 Concepts of Job Control.
                                                              (line   6)
* shift state:                           Keeping the state.   (line  15)
* Shift_JIS:                             Extended Char Intro. (line 194)
* shrinking objects:                     Growing Objects.     (line 113)
* shutting down a socket:                Closing a Socket.    (line   6)
* sig:                                   Conditionally Safe Features.
                                                              (line 155)
* 'sigaction' flags:                     Flags for Sigaction. (line   6)
* 'sigaction' function:                  Advanced Signal Handling.
                                                              (line   6)
* 'SIGCHLD', handling of:                Stopped and Terminated Jobs.
                                                              (line  18)
* sigintr:                               Other Safety Remarks.
                                                              (line  53)
* sign (of floating point number):       Floating Point Concepts.
                                                              (line  18)
* signal:                                FP Exceptions.       (line   6)
* signal <1>:                            Signal Handling.     (line   6)
* signal action:                         Delivery of Signal.  (line  13)
* signal actions:                        Signal Actions.      (line   6)
* signal flags:                          Flags for Sigaction. (line   6)
* 'signal' function:                     Basic Signal Handling.
                                                              (line   6)
* signal handler function:               Defining Handlers.   (line   6)
* signal mask:                           Process Signal Mask. (line   6)
* signal messages:                       Signal Messages.     (line   6)
* signal names:                          Standard Signals.    (line   6)
* signal number:                         Standard Signals.    (line   6)
* signal set:                            Signal Sets.         (line   9)
* signals, generating:                   Generating Signals.  (line   6)
* signedness:                            Integers.            (line   9)
* significand (of floating point number): Floating Point Concepts.
                                                              (line  35)
* 'SIGTTIN', from background job:        Access to the Terminal.
                                                              (line  11)
* 'SIGTTOU', from background job:        Access to the Terminal.
                                                              (line  18)
* simple time:                           Calendar Time.       (line  13)
* single-byte string:                    Representation of Strings.
                                                              (line  66)
* size of string:                        Representation of Strings.
                                                              (line  55)
* SJIS:                                  Extended Char Intro. (line 194)
* socket:                                Sockets.             (line   9)
* socket address (name) binding:         Socket Addresses.    (line   6)
* socket domain:                         Socket Concepts.     (line  33)
* socket namespace:                      Socket Concepts.     (line  33)
* socket option level:                   Socket Options.      (line   9)
* socket options:                        Socket Options.      (line   6)
* socket pair:                           Socket Pairs.        (line   6)
* socket protocol:                       Socket Concepts.     (line  42)
* socket shutdown:                       Closing a Socket.    (line   6)
* socket, client actions:                Connecting.          (line   6)
* socket, closing:                       Closing a Socket.    (line   6)
* socket, connecting:                    Connecting.          (line   6)
* socket, creating:                      Creating a Socket.   (line   6)
* socket, initiating a connection:       Connecting.          (line   6)
* sockets, accepting connections:        Accepting Connections.
                                                              (line   6)
* sockets, listening:                    Listening.           (line   6)
* sockets, server actions:               Listening.           (line   6)
* soft limit:                            Limits on Resources. (line  17)
* soft link:                             Symbolic Links.      (line   6)
* sort function (for arrays):            Array Sort Function. (line   6)
* sparse files:                          File Position Primitive.
                                                              (line  62)
* special files:                         Making Special Files.
                                                              (line   6)
* special functions:                     Special Functions.   (line   6)
* specified action (for a signal):       Delivery of Signal.  (line  13)
* speed of execution:                    Why Lock Pages.      (line  14)
* square root function:                  Exponents and Logarithms.
                                                              (line 148)
* stable sorting:                        Array Sort Function. (line  23)
* standard dot notation, for Internet addresses: Abstract Host Addresses.
                                                              (line  47)
* standard environment variables:        Standard Environment.
                                                              (line   6)
* standard error file descriptor:        Descriptors and Streams.
                                                              (line  72)
* standard error stream:                 Standard Streams.    (line  24)
* standard file descriptors:             Descriptors and Streams.
                                                              (line  58)
* standard input file descriptor:        Descriptors and Streams.
                                                              (line  64)
* standard input stream:                 Standard Streams.    (line  16)
* standard output file descriptor:       Descriptors and Streams.
                                                              (line  68)
* standard output stream:                Standard Streams.    (line  20)
* standard streams:                      Standard Streams.    (line   6)
* standards:                             Standards and Portability.
                                                              (line   6)
* START character:                       Start/Stop Characters.
                                                              (line  11)
* startup of program:                    Program Arguments.   (line   6)
* stateful:                              Keeping the state.   (line   6)
* stateful <1>:                          Converting a Character.
                                                              (line  91)
* stateful <2>:                          Converting Strings.  (line  70)
* stateful <3>:                          Generic Conversion Interface.
                                                              (line 117)
* stateful <4>:                          iconv Examples.      (line  96)
* stateful <5>:                          glibc iconv Implementation.
                                                              (line 593)
* static memory allocation:              Memory Allocation and C.
                                                              (line  13)
* static storage class:                  Memory Allocation and C.
                                                              (line  13)
* STATUS character:                      Other Special.       (line  38)
* status codes:                          Error Reporting.     (line   6)
* status of a file:                      Attribute Meanings.  (line   6)
* status of obstack:                     Status of an Obstack.
                                                              (line   6)
* sticky bit:                            Permission Bits.     (line  71)
* STOP character:                        Start/Stop Characters.
                                                              (line  28)
* stop signal:                           Job Control Signals. (line  44)
* stopped job:                           Concepts of Job Control.
                                                              (line  53)
* stopped jobs, continuing:              Continuing Stopped Jobs.
                                                              (line   6)
* stopped jobs, detecting:               Stopped and Terminated Jobs.
                                                              (line   6)
* storage allocation:                    Memory.              (line   6)
* stream (sockets):                      Socket Concepts.     (line  12)
* stream orientation:                    Opening Streams.     (line  98)
* stream orientation <1>:                Streams and I18N.    (line  37)
* stream, for I/O to a string:           String Streams.      (line   6)
* streams and descriptors:               Stream/Descriptor Precautions.
                                                              (line   6)
* streams, and file descriptors:         Descriptors and Streams.
                                                              (line   6)
* streams, C++:                          Streams and I18N.    (line  30)
* streams, standard:                     Standard Streams.    (line   6)
* string:                                Representation of Strings.
                                                              (line  11)
* string allocation:                     Representation of Strings.
                                                              (line  55)
* string collation functions:            Collation Functions. (line   6)
* string comparison functions:           String/Array Comparison.
                                                              (line   6)
* string concatenation functions:        Copying and Concatenation.
                                                              (line  10)
* string copy functions:                 Copying and Concatenation.
                                                              (line  10)
* string length:                         Representation of Strings.
                                                              (line  55)
* string literal:                        Representation of Strings.
                                                              (line  35)
* string search functions:               Search Functions.    (line   8)
* string stream:                         String Streams.      (line   6)
* string vectors, null-character separated: Argz and Envz Vectors.
                                                              (line   6)
* string, representation of:             Representation of Strings.
                                                              (line   6)
* style of communication (of a socket):  Socket Concepts.     (line   6)
* subshell:                              Initializing the Shell.
                                                              (line   6)
* substitution of variables and commands: Expansion Stages.   (line  15)
* successive signals:                    Merged Signals.      (line   6)
* summer time:                           Broken-down Time.    (line  62)
* SunOS:                                 Berkeley Unix.       (line   6)
* supplementary group IDs:               Process Persona.     (line   6)
* SUSP character:                        Signal Characters.   (line  33)
* suspend character:                     Signal Characters.   (line  33)
* SVID:                                  SVID.                (line   6)
* swap space:                            Memory Concepts.     (line  18)
* symbolic link:                         Symbolic Links.      (line   6)
* symbolic link, opening:                Open-time Flags.     (line  68)
* synchronizing:                         Synchronizing I/O.   (line   6)
* synchronizing <1>:                     Synchronizing AIO Operations.
                                                              (line  17)
* syntax error messages, in argp:        Argp Helper Functions.
                                                              (line  20)
* syntax, for program arguments:         Argument Syntax.     (line   6)
* syntax, for reading numbers:           Parsing of Numbers.  (line   6)
* sysconf:                               Query Memory Parameters.
                                                              (line  46)
* sysconf <1>:                           Query Memory Parameters.
                                                              (line  52)
* sysconf <2>:                           Processor Resources. (line  13)
* sysconf <3>:                           Processor Resources. (line  19)
* system call:                           System Calls.        (line   6)
* system call number:                    System Calls.        (line  45)
* System V Unix:                         SVID.                (line   6)
* TCP (Internet protocol):               Protocols Database.  (line  12)
* template, for 'printf':                Formatted Output.    (line   6)
* template, for 'scanf':                 Formatted Input.     (line   6)
* term:                                  Conditionally Safe Features.
                                                              (line 178)
* 'TERM' environment variable:           Standard Environment.
                                                              (line  59)
* terminal flow control:                 Line Control.        (line 105)
* terminal identification:               Is It a Terminal.    (line   6)
* terminal input queue:                  I/O Queues.          (line  11)
* terminal input queue, clearing:        Line Control.        (line  65)
* terminal input signal:                 Job Control Signals. (line  65)
* terminal line control functions:       Line Control.        (line   6)
* terminal line speed:                   Line Speed.          (line   6)
* terminal line speed <1>:               Line Speed.          (line   6)
* terminal mode data types:              Mode Data Types.     (line   6)
* terminal mode functions:               Mode Functions.      (line   6)
* terminal modes, BSD:                   BSD Terminal Modes.  (line   6)
* terminal output queue:                 I/O Queues.          (line  27)
* terminal output queue, flushing:       Line Control.        (line  37)
* terminal output signal:                Job Control Signals. (line  72)
* terminated jobs, detecting:            Stopped and Terminated Jobs.
                                                              (line   6)
* termination signal:                    Termination Signals. (line  22)
* testing access permission:             Testing File Access. (line   6)
* testing exit status of child process:  Process Completion.  (line   6)
* text stream:                           Binary Streams.      (line  14)
* thrashing:                             Memory Subsystem.    (line  31)
* thread of control:                     Program Basics.      (line   6)
* Thread-Safe:                           POSIX Safety Concepts.
                                                              (line  16)
* Thread-Unsafe:                         POSIX Safety Concepts.
                                                              (line  68)
* threads:                               Streams and Threads. (line   6)
* ticks, clock:                          Processor And CPU Time.
                                                              (line  19)
* tilde expansion:                       Expansion Stages.    (line   9)
* time:                                  Time Basics.         (line   6)
* TIME termios slot:                     Noncanonical Input.  (line  34)
* time zone:                             TZ Variable.         (line   9)
* time zone database:                    TZ Variable.         (line 143)
* time, elapsed:                         Time Basics.         (line  24)
* time, high precision:                  High Accuracy Clock. (line   6)
* timer:                                 Unsafe Features.     (line  87)
* timer, profiling:                      Setting an Alarm.    (line  22)
* timer, real-time:                      Setting an Alarm.    (line  13)
* timer, virtual:                        Setting an Alarm.    (line  17)
* timers, setting:                       Setting an Alarm.    (line  10)
* timespec:                              Elapsed Time.        (line  42)
* timeval:                               Elapsed Time.        (line  30)
* timing error in signal handling:       Remembering a Signal.
                                                              (line  72)
* TMPDIR environment variable:           Temporary Files.     (line 140)
* tokenizing strings:                    Finding Tokens in a String.
                                                              (line   6)
* tools, for installing library:         Tools for Compilation.
                                                              (line   6)
* transmitting datagrams:                Sending Datagrams.   (line   6)
* tree, directory:                       Working with Directory Trees.
                                                              (line   6)
* triangulation:                         glibc iconv Implementation.
                                                              (line  42)
* trigonometric functions:               Trig Functions.      (line   6)
* type measurements, floating:           Floating Type Macros.
                                                              (line   6)
* type measurements, integer:            Width of Type.       (line   6)
* type modifier character ('printf'):    Output Conversion Syntax.
                                                              (line  92)
* type modifier character ('scanf'):     Input Conversion Syntax.
                                                              (line  55)
* typeahead buffer:                      I/O Queues.          (line  11)
* 'TZ' environment variable:             Standard Environment.
                                                              (line  68)
* UCS-2:                                 Extended Char Intro. (line  53)
* UCS-4:                                 Extended Char Intro. (line  53)
* ulps:                                  Errors in Math Functions.
                                                              (line   6)
* umask:                                 Setting Permissions. (line   6)
* unbuffered stream:                     Buffering Concepts.  (line   9)
* unconstrained memory allocation:       Unconstrained Allocation.
                                                              (line   6)
* undefining macros that shadow functions: Macro Definitions. (line   6)
* underflow exception:                   FP Exceptions.       (line   6)
* Unicode:                               Extended Char Intro. (line  38)
* Unix, Berkeley:                        Berkeley Unix.       (line   6)
* Unix, System V:                        SVID.                (line   6)
* unlinking a file:                      Deleting Files.      (line   6)
* unordered comparison:                  FP Comparison Functions.
                                                              (line   6)
* unreading characters:                  Unreading.           (line   6)
* Unsafe Features:                       Unsafe Features.     (line   6)
* upper-case character:                  Classification of Characters.
                                                              (line  34)
* upper-case character <1>:              Classification of Wide Characters.
                                                              (line 229)
* urgent data signal:                    Asynchronous I/O Signals.
                                                              (line  24)
* urgent socket condition:               Out-of-Band Data.    (line  18)
* usage limits:                          Limits on Resources. (line   6)
* usage messages, in argp:               Argp Helper Functions.
                                                              (line  11)
* user accounting database:              User Accounting Database.
                                                              (line   6)
* user database:                         User Database.       (line   6)
* user ID:                               User and Group IDs.  (line   6)
* user ID, determining:                  Who Logged In.       (line   6)
* user name:                             User and Group IDs.  (line   6)
* user signals:                          Miscellaneous Signals.
                                                              (line  12)
* usual file name errors:                File Name Errors.    (line   6)
* UTF-16:                                Extended Char Intro. (line  53)
* UTF-7:                                 Extended Char Intro. (line 229)
* UTF-8:                                 Extended Char Intro. (line  53)
* UTF-8 <1>:                             Extended Char Intro. (line 221)
* variable number of arguments:          Variadic Functions.  (line   6)
* variable substitution:                 Expansion Stages.    (line  15)
* variable-sized arrays:                 GNU C Variable-Size Arrays.
                                                              (line   6)
* variadic function argument access:     Receiving Arguments. (line   6)
* variadic function prototypes:          Variadic Prototypes. (line   6)
* variadic functions:                    Variadic Functions.  (line   6)
* variadic functions, calling:           Calling Variadics.   (line   6)
* va_copy:                               Copying and Concatenation.
                                                              (line 521)
* virtual time alarm signal:             Alarm Signals.       (line  24)
* virtual timer:                         Setting an Alarm.    (line  17)
* 'volatile' declarations:               Nonreentrancy.       (line  20)
* waiting for a signal:                  Waiting for a Signal.
                                                              (line   6)
* waiting for completion of child process: Process Completion.
                                                              (line   6)
* waiting for input or output:           Waiting for I/O.     (line   6)
* WERASE character:                      Editing Characters.  (line  61)
* whitespace character:                  Classification of Characters.
                                                              (line  83)
* whitespace character <1>:              Classification of Wide Characters.
                                                              (line 197)
* wide character:                        Extended Char Intro. (line  32)
* wide character string:                 Representation of Strings.
                                                              (line  21)
* wide character string <1>:             Representation of Strings.
                                                              (line  80)
* width of integer type:                 Width of Type.       (line   6)
* wildcard expansion:                    Expansion Stages.    (line  28)
* wint_t:                                String/Array Conventions.
                                                              (line  41)
* word expansion:                        Word Expansion.      (line   6)
* working directory:                     Working Directory.   (line   6)
* write lock:                            File Locks.          (line  10)
* writing to a file descriptor:          I/O Primitives.      (line 164)
* writing to a socket:                   Transferring Data.   (line   6)
* writing to a stream, by blocks:        Block Input/Output.  (line   9)
* writing to a stream, by characters:    Simple Output.       (line   6)
* writing to a stream, formatted:        Formatted Output.    (line   6)
* YP:                                    Host Identification. (line  37)
* YP domain name:                        Host Identification. (line  37)
* YP domain name <1>:                    Host Identification. (line 106)
* YP domain name <2>:                    Host Identification. (line 117)
* zero divide:                           FP Exceptions.       (line   6)


File: libc.info,  Node: Type Index,  Next: Function Index,  Prev: Concept Index,  Up: Top

Type Index
**********

 [index ]
* Menu:

* __ftw64_func_t:                        Working with Directory Trees.
                                                              (line  62)
* __ftw_func_t:                          Working with Directory Trees.
                                                              (line  21)
* __nftw64_func_t:                       Working with Directory Trees.
                                                              (line  97)
* __nftw_func_t:                         Working with Directory Trees.
                                                              (line  71)
* blkcnt64_t:                            Attribute Meanings.  (line 224)
* blkcnt_t:                              Attribute Meanings.  (line 217)
* cc_t:                                  Mode Data Types.     (line  46)
* clock_t:                               CPU Time.            (line  38)
* comparison_fn_t:                       Comparison Functions.
                                                              (line  31)
* cookie_close_function:                 Hook Functions.      (line  59)
* cookie_io_functions_t:                 Streams and Cookies. (line  26)
* cookie_read_function:                  Hook Functions.      (line  48)
* cookie_seek_function:                  Hook Functions.      (line  56)
* cookie_write_function:                 Hook Functions.      (line  53)
* cpu_set_t:                             CPU Affinity.        (line  43)
* dev_t:                                 Attribute Meanings.  (line 209)
* DIR:                                   Opening a Directory. (line   9)
* div_t:                                 Integer Division.    (line  19)
* enum mcheck_status:                    Heap Consistency Checking.
                                                              (line  65)
* fd_set:                                Waiting for I/O.     (line  34)
* FILE:                                  Streams.             (line  16)
* fpos64_t:                              Portable Positioning.
                                                              (line  66)
* fpos_t:                                Portable Positioning.
                                                              (line  52)
* gid_t:                                 Reading Persona.     (line  15)
* glob64_t:                              Calling Glob.        (line  95)
* glob_t:                                Calling Glob.        (line  11)
* iconv_t:                               Generic Conversion Interface.
                                                              (line  15)
* imaxdiv_t:                             Integer Division.    (line  92)
* ino64_t:                               Attribute Meanings.  (line 201)
* ino_t:                                 Attribute Meanings.  (line 192)
* jmp_buf:                               Non-Local Details.   (line  10)
* ldiv_t:                                Integer Division.    (line  47)
* lldiv_t:                               Integer Division.    (line  68)
* mbstate_t:                             Keeping the state.   (line  14)
* memory_arena_new:                      Memory Allocation Probes.
                                                              (line  75)
* memory_arena_retry:                    Memory Allocation Probes.
                                                              (line  63)
* memory_arena_reuse:                    Memory Allocation Probes.
                                                              (line  83)
* memory_arena_reuse_free_list:          Memory Allocation Probes.
                                                              (line 112)
* memory_arena_reuse_wait:               Memory Allocation Probes.
                                                              (line  97)
* memory_calloc_retry:                   Memory Allocation Probes.
                                                              (line  46)
* memory_heap_free:                      Memory Allocation Probes.
                                                              (line  28)
* memory_heap_less:                      Memory Allocation Probes.
                                                              (line  38)
* memory_heap_more:                      Memory Allocation Probes.
                                                              (line  33)
* memory_heap_new:                       Memory Allocation Probes.
                                                              (line  22)
* memory_malloc_retry:                   Memory Allocation Probes.
                                                              (line  43)
* memory_mallopt:                        Memory Allocation Probes.
                                                              (line 118)
* memory_mallopt_arena_max:              Memory Allocation Probes.
                                                              (line 180)
* memory_mallopt_arena_test:             Memory Allocation Probes.
                                                              (line 173)
* memory_mallopt_check_action:           Memory Allocation Probes.
                                                              (line 161)
* memory_mallopt_free_dyn_thresholds:    Memory Allocation Probes.
                                                              (line 187)
* memory_mallopt_mmap_max:               Memory Allocation Probes.
                                                              (line 154)
* memory_mallopt_mmap_threshold:         Memory Allocation Probes.
                                                              (line 145)
* memory_mallopt_mxfast:                 Memory Allocation Probes.
                                                              (line 124)
* memory_mallopt_perturb:                Memory Allocation Probes.
                                                              (line 167)
* memory_mallopt_top_pad:                Memory Allocation Probes.
                                                              (line 138)
* memory_mallopt_trim_threshold:         Memory Allocation Probes.
                                                              (line 130)
* memory_memalign_retry:                 Memory Allocation Probes.
                                                              (line  45)
* memory_realloc_retry:                  Memory Allocation Probes.
                                                              (line  44)
* memory_sbrk_less:                      Memory Allocation Probes.
                                                              (line  15)
* memory_sbrk_more:                      Memory Allocation Probes.
                                                              (line   9)
* mode_t:                                Attribute Meanings.  (line 187)
* nlink_t:                               Attribute Meanings.  (line 214)
* off64_t:                               File Position Primitive.
                                                              (line 159)
* off_t:                                 File Position Primitive.
                                                              (line 152)
* pid_t:                                 Process Identification.
                                                              (line  12)
* printf_arginfo_function:               Defining the Output Handler.
                                                              (line  53)
* printf_function:                       Defining the Output Handler.
                                                              (line  34)
* ptrdiff_t:                             Important Data Types.
                                                              (line  13)
* regex_t:                               POSIX Regexp Compilation.
                                                              (line  15)
* regmatch_t:                            Regexp Subexpressions.
                                                              (line  14)
* regoff_t:                              Regexp Subexpressions.
                                                              (line  25)
* sighandler_t:                          Basic Signal Handling.
                                                              (line  10)
* sigjmp_buf:                            Non-Local Exits and Signals.
                                                              (line  20)
* sigset_t:                              Signal Sets.         (line  13)
* sig_atomic_t:                          Atomic Types.        (line  15)
* size_t:                                Important Data Types.
                                                              (line  22)
* slowacos:                              Mathematical Function Probes.
                                                              (line 102)
* slowasin:                              Mathematical Function Probes.
                                                              (line  96)
* slowatan:                              Mathematical Function Probes.
                                                              (line  76)
* slowatan2:                             Mathematical Function Probes.
                                                              (line  59)
* slowatan2_inexact:                     Mathematical Function Probes.
                                                              (line  67)
* slowatan_inexact:                      Mathematical Function Probes.
                                                              (line  82)
* slowcos:                               Mathematical Function Probes.
                                                              (line 114)
* slowcos_dx:                            Mathematical Function Probes.
                                                              (line 126)
* slowexp_p32:                           Mathematical Function Probes.
                                                              (line  24)
* slowexp_p6:                            Mathematical Function Probes.
                                                              (line  19)
* slowlog:                               Mathematical Function Probes.
                                                              (line  45)
* slowlog_inexact:                       Mathematical Function Probes.
                                                              (line  51)
* slowpow_p10:                           Mathematical Function Probes.
                                                              (line  29)
* slowpow_p32:                           Mathematical Function Probes.
                                                              (line  37)
* slowsin:                               Mathematical Function Probes.
                                                              (line 108)
* slowsin_dx:                            Mathematical Function Probes.
                                                              (line 120)
* slowtan:                               Mathematical Function Probes.
                                                              (line  90)
* speed_t:                               Line Speed.          (line  71)
* ssize_t:                               I/O Primitives.      (line  10)
* stack_t:                               Signal Stack.        (line  26)
* struct aiocb:                          Asynchronous I/O.    (line  27)
* struct aiocb64:                        Asynchronous I/O.    (line 109)
* struct aioinit:                        Configuration of AIO.
                                                              (line  17)
* struct argp:                           Argp Parsers.        (line   9)
* struct argp_child:                     Argp Children.       (line  17)
* struct argp_option:                    Argp Option Vectors. (line  13)
* struct argp_state:                     Argp Parsing State.  (line  10)
* struct dirent:                         Directory Entries.   (line  10)
* struct ENTRY:                          Hash Search Function.
                                                              (line  67)
* struct exit_status:                    Manipulating the Database.
                                                              (line   9)
* struct flock:                          File Locks.          (line  36)
* struct fstab:                          fstab.               (line   9)
* struct FTW:                            Working with Directory Trees.
                                                              (line 106)
* struct group:                          Group Data Structure.
                                                              (line   9)
* struct hostent:                        Host Names.          (line  20)
* struct if_nameindex:                   Interface Naming.    (line  42)
* struct in6_addr:                       Host Address Data Type.
                                                              (line  51)
* struct in_addr:                        Host Address Data Type.
                                                              (line  25)
* struct iovec:                          Scatter-Gather.      (line  20)
* struct itimerval:                      Setting an Alarm.    (line  53)
* struct lconv:                          The Lame Way to Locale Data.
                                                              (line  28)
* struct linger:                         Socket-Level Options.
                                                              (line  50)
* struct mallinfo:                       Statistics of Malloc.
                                                              (line  11)
* struct mntent:                         mtab.                (line   8)
* struct netent:                         Networks Database.   (line  13)
* struct ntptimeval:                     High Accuracy Clock. (line  17)
* struct ntptimeval <1>:                 High Accuracy Clock. (line  17)
* struct obstack:                        Creating Obstacks.   (line   9)
* struct option:                         Getopt Long Options. (line  12)
* struct passwd:                         User Data Structure. (line   9)
* struct printf_info:                    Conversion Specifier Options.
                                                              (line  15)
* struct protoent:                       Protocols Database.  (line  29)
* struct random_data:                    BSD Random.          (line  79)
* struct rlimit:                         Limits on Resources. (line  90)
* struct rlimit64:                       Limits on Resources. (line 106)
* struct rusage:                         Resource Usage.      (line  36)
* struct sched_param:                    Basic Scheduling Functions.
                                                              (line  29)
* struct servent:                        Services Database.   (line  11)
* struct sgttyb:                         BSD Terminal Modes.  (line  15)
* struct sigaction:                      Advanced Signal Handling.
                                                              (line  14)
* struct sigstack:                       Signal Stack.        (line  99)
* struct sigvec:                         BSD Handler.         (line   6)
* struct sockaddr:                       Address Formats.     (line  22)
* struct sockaddr_in:                    Internet Address Formats.
                                                              (line  15)
* struct sockaddr_in6:                   Internet Address Formats.
                                                              (line  36)
* struct sockaddr_un:                    Local Namespace Details.
                                                              (line  24)
* struct stat:                           Attribute Meanings.  (line  14)
* struct stat64:                         Attribute Meanings.  (line 106)
* struct termios:                        Mode Data Types.     (line  10)
* struct timespec:                       Elapsed Time.        (line  41)
* struct timeval:                        Elapsed Time.        (line  29)
* struct timex:                          High Accuracy Clock. (line  54)
* struct timex <1>:                      High Accuracy Clock. (line  54)
* struct timezone:                       High-Resolution Calendar.
                                                              (line  14)
* struct tm:                             Broken-down Time.    (line  19)
* struct tms:                            Processor Time.      (line  12)
* struct utimbuf:                        File Times.          (line  38)
* struct utmp:                           Manipulating the Database.
                                                              (line  20)
* struct utmpx:                          XPG Functions.       (line   9)
* struct utsname:                        Platform Type.       (line  15)
* struct vtimes:                         Resource Usage.      (line 119)
* struct __gconv_step:                   glibc iconv Implementation.
                                                              (line 207)
* struct __gconv_step_data:              glibc iconv Implementation.
                                                              (line 275)
* tcflag_t:                              Mode Data Types.     (line  42)
* time_t:                                Simple Calendar Time.
                                                              (line  10)
* ucontext_t:                            System V contexts.   (line  24)
* uid_t:                                 Reading Persona.     (line  11)
* union wait:                            BSD Wait Functions.  (line  16)
* va_list:                               Argument Macros.     (line   9)
* VISIT:                                 Tree Search Function.
                                                              (line 112)
* wchar_t:                               Extended Char Intro. (line  69)
* wctrans_t:                             Wide Character Case Conversion.
                                                              (line  11)
* wctype_t:                              Classification of Wide Characters.
                                                              (line  30)
* wint_t:                                Extended Char Intro. (line  93)
* wordexp_t:                             Calling Wordexp.     (line  14)


File: libc.info,  Node: Function Index,  Next: Variable Index,  Prev: Type Index,  Up: Top

Function and Macro Index
************************

 [index ]
* Menu:

* *pthread_getspecific:                  Thread-specific Data.
                                                              (line  32)
* *sbrk:                                 Resizing the Data Segment.
                                                              (line  45)
* _exit:                                 Termination Internals.
                                                              (line   9)
* _Exit:                                 Termination Internals.
                                                              (line  17)
* _flushlbf:                             Flushing Buffers.    (line  52)
* _tolower:                              Case Conversion.     (line  47)
* _toupper:                              Case Conversion.     (line  54)
* __fbufsize:                            Controlling Buffering.
                                                              (line 130)
* __flbf:                                Controlling Buffering.
                                                              (line 117)
* __fpending:                            Controlling Buffering.
                                                              (line 140)
* __fpurge:                              Flushing Buffers.    (line  73)
* __freadable:                           Opening Streams.     (line 204)
* __freading:                            Opening Streams.     (line 227)
* __fsetlocking:                         Streams and Threads. (line 169)
* __fwritable:                           Opening Streams.     (line 214)
* __fwriting:                            Opening Streams.     (line 240)
* __ppc_get_timebase:                    PowerPC.             (line   9)
* __ppc_get_timebase_freq:               PowerPC.             (line  25)
* __ppc_mdoio:                           PowerPC.             (line  51)
* __ppc_mdoom:                           PowerPC.             (line  60)
* __ppc_set_ppr_low:                     PowerPC.             (line  85)
* __ppc_set_ppr_med:                     PowerPC.             (line  69)
* __ppc_set_ppr_med_low:                 PowerPC.             (line  91)
* __ppc_yield:                           PowerPC.             (line  43)
* __va_copy:                             Argument Macros.     (line  53)
* a64l:                                  Encode Binary Data.  (line  84)
* abort:                                 Aborting a Program.  (line   9)
* abs:                                   Absolute Value.      (line  16)
* accept:                                Accepting Connections.
                                                              (line  25)
* access:                                Testing File Access. (line  41)
* acos:                                  Inverse Trig Functions.
                                                              (line  25)
* acosf:                                 Inverse Trig Functions.
                                                              (line  26)
* acosh:                                 Hyperbolic Functions.
                                                              (line  84)
* acoshf:                                Hyperbolic Functions.
                                                              (line  85)
* acoshl:                                Hyperbolic Functions.
                                                              (line  86)
* acosl:                                 Inverse Trig Functions.
                                                              (line  27)
* addmntent:                             mtab.                (line 175)
* addseverity:                           Adding Severity Classes.
                                                              (line  12)
* adjtime:                               High-Resolution Calendar.
                                                              (line  91)
* adjtimex:                              High-Resolution Calendar.
                                                              (line 128)
* aio_cancel:                            Cancel AIO Operations.
                                                              (line  18)
* aio_cancel64:                          Cancel AIO Operations.
                                                              (line  64)
* aio_error:                             Status of AIO Operations.
                                                              (line  14)
* aio_error64:                           Status of AIO Operations.
                                                              (line  35)
* aio_fsync:                             Synchronizing AIO Operations.
                                                              (line  17)
* aio_fsync64:                           Synchronizing AIO Operations.
                                                              (line  63)
* aio_init:                              Configuration of AIO.
                                                              (line  40)
* aio_read:                              Asynchronous Reads/Writes.
                                                              (line   6)
* aio_read64:                            Asynchronous Reads/Writes.
                                                              (line  68)
* aio_return:                            Status of AIO Operations.
                                                              (line  48)
* aio_return64:                          Status of AIO Operations.
                                                              (line  71)
* aio_suspend:                           Synchronizing AIO Operations.
                                                              (line  89)
* aio_suspend64:                         Synchronizing AIO Operations.
                                                              (line 126)
* aio_write:                             Asynchronous Reads/Writes.
                                                              (line  88)
* aio_write64:                           Asynchronous Reads/Writes.
                                                              (line 151)
* alarm:                                 Setting an Alarm.    (line 108)
* aligned_alloc:                         Aligned Memory Blocks.
                                                              (line  12)
* alloca:                                Variable Size Automatic.
                                                              (line  18)
* alphasort:                             Scanning Directory Content.
                                                              (line  42)
* alphasort64:                           Scanning Directory Content.
                                                              (line  89)
* argp_error:                            Argp Helper Functions.
                                                              (line  20)
* argp_failure:                          Argp Helper Functions.
                                                              (line  31)
* argp_help:                             Argp Help.           (line  14)
* argp_parse:                            Argp.                (line  34)
* argp_state_help:                       Argp Helper Functions.
                                                              (line  48)
* argp_usage:                            Argp Helper Functions.
                                                              (line  11)
* argz_add:                              Argz Functions.      (line  78)
* argz_add_sep:                          Argz Functions.      (line  86)
* argz_append:                           Argz Functions.      (line  97)
* argz_count:                            Argz Functions.      (line  45)
* argz_create:                           Argz Functions.      (line  25)
* argz_create_sep:                       Argz Functions.      (line  35)
* argz_delete:                           Argz Functions.      (line 106)
* argz_extract:                          Argz Functions.      (line  52)
* argz_insert:                           Argz Functions.      (line 118)
* argz_next:                             Argz Functions.      (line 131)
* argz_replace:                          Argz Functions.      (line 162)
* argz_stringify:                        Argz Functions.      (line  69)
* asctime:                               Formatting Calendar Time.
                                                              (line   9)
* asctime_r:                             Formatting Calendar Time.
                                                              (line  29)
* asin:                                  Inverse Trig Functions.
                                                              (line  10)
* asinf:                                 Inverse Trig Functions.
                                                              (line  11)
* asinh:                                 Hyperbolic Functions.
                                                              (line  75)
* asinhf:                                Hyperbolic Functions.
                                                              (line  76)
* asinhl:                                Hyperbolic Functions.
                                                              (line  77)
* asinl:                                 Inverse Trig Functions.
                                                              (line  12)
* asprintf:                              Dynamic Output.      (line   9)
* assert:                                Consistency Checking.
                                                              (line  26)
* assert_perror:                         Consistency Checking.
                                                              (line  61)
* atan:                                  Inverse Trig Functions.
                                                              (line  40)
* atan2:                                 Inverse Trig Functions.
                                                              (line  52)
* atan2f:                                Inverse Trig Functions.
                                                              (line  53)
* atan2l:                                Inverse Trig Functions.
                                                              (line  54)
* atanf:                                 Inverse Trig Functions.
                                                              (line  41)
* atanh:                                 Hyperbolic Functions.
                                                              (line  94)
* atanhf:                                Hyperbolic Functions.
                                                              (line  95)
* atanhl:                                Hyperbolic Functions.
                                                              (line  96)
* atanl:                                 Inverse Trig Functions.
                                                              (line  42)
* atexit:                                Cleanups on Exit.    (line  14)
* atof:                                  Parsing of Floats.   (line 113)
* atoi:                                  Parsing of Integers. (line 247)
* atol:                                  Parsing of Integers. (line 238)
* atoll:                                 Parsing of Integers. (line 254)
* backtrace:                             Backtraces.          (line  15)
* backtrace_symbols:                     Backtraces.          (line  35)
* backtrace_symbols_fd:                  Backtraces.          (line  67)
* basename:                              Finding Tokens in a String.
                                                              (line 205)
* basename <1>:                          Finding Tokens in a String.
                                                              (line 237)
* bcmp:                                  String/Array Comparison.
                                                              (line 252)
* bcopy:                                 Copying and Concatenation.
                                                              (line 705)
* bind:                                  Setting Address.     (line  10)
* bindtextdomain:                        Locating gettext catalog.
                                                              (line 101)
* bind_textdomain_codeset:               Charset conversion in gettext.
                                                              (line  26)
* brk:                                   Resizing the Data Segment.
                                                              (line  14)
* bsearch:                               Array Search Function.
                                                              (line  53)
* btowc:                                 Converting a Character.
                                                              (line  15)
* bzero:                                 Copying and Concatenation.
                                                              (line 714)
* cabs:                                  Absolute Value.      (line  42)
* cabsf:                                 Absolute Value.      (line  43)
* cabsl:                                 Absolute Value.      (line  44)
* cacos:                                 Inverse Trig Functions.
                                                              (line  85)
* cacosf:                                Inverse Trig Functions.
                                                              (line  86)
* cacosh:                                Hyperbolic Functions.
                                                              (line 114)
* cacoshf:                               Hyperbolic Functions.
                                                              (line 115)
* cacoshl:                               Hyperbolic Functions.
                                                              (line 116)
* cacosl:                                Inverse Trig Functions.
                                                              (line  87)
* calloc:                                Allocating Cleared Space.
                                                              (line   9)
* canonicalize_file_name:                Symbolic Links.      (line 126)
* carg:                                  Operations on Complex.
                                                              (line  37)
* cargf:                                 Operations on Complex.
                                                              (line  38)
* cargl:                                 Operations on Complex.
                                                              (line  39)
* casin:                                 Inverse Trig Functions.
                                                              (line  73)
* casinf:                                Inverse Trig Functions.
                                                              (line  74)
* casinh:                                Hyperbolic Functions.
                                                              (line 105)
* casinhf:                               Hyperbolic Functions.
                                                              (line 106)
* casinhl:                               Hyperbolic Functions.
                                                              (line 107)
* casinl:                                Inverse Trig Functions.
                                                              (line  75)
* catan:                                 Inverse Trig Functions.
                                                              (line  97)
* catanf:                                Inverse Trig Functions.
                                                              (line  98)
* catanh:                                Hyperbolic Functions.
                                                              (line 124)
* catanhf:                               Hyperbolic Functions.
                                                              (line 125)
* catanhl:                               Hyperbolic Functions.
                                                              (line 126)
* catanl:                                Inverse Trig Functions.
                                                              (line  99)
* catclose:                              The catgets Functions.
                                                              (line 186)
* catgets:                               The catgets Functions.
                                                              (line 149)
* catopen:                               The catgets Functions.
                                                              (line   6)
* cbc_crypt:                             DES Encryption.      (line 130)
* cbrt:                                  Exponents and Logarithms.
                                                              (line 159)
* cbrtf:                                 Exponents and Logarithms.
                                                              (line 160)
* cbrtl:                                 Exponents and Logarithms.
                                                              (line 161)
* ccos:                                  Trig Functions.      (line  85)
* ccosf:                                 Trig Functions.      (line  86)
* ccosh:                                 Hyperbolic Functions.
                                                              (line  55)
* ccoshf:                                Hyperbolic Functions.
                                                              (line  56)
* ccoshl:                                Hyperbolic Functions.
                                                              (line  57)
* ccosl:                                 Trig Functions.      (line  87)
* ceil:                                  Rounding Functions.  (line  18)
* ceilf:                                 Rounding Functions.  (line  19)
* ceill:                                 Rounding Functions.  (line  20)
* cexp:                                  Exponents and Logarithms.
                                                              (line 204)
* cexpf:                                 Exponents and Logarithms.
                                                              (line 205)
* cexpl:                                 Exponents and Logarithms.
                                                              (line 206)
* cfgetispeed:                           Line Speed.          (line  39)
* cfgetospeed:                           Line Speed.          (line  32)
* cfmakeraw:                             Noncanonical Input.  (line  92)
* cfree:                                 Freeing after Malloc.
                                                              (line  17)
* cfsetispeed:                           Line Speed.          (line  54)
* cfsetospeed:                           Line Speed.          (line  46)
* cfsetspeed:                            Line Speed.          (line  62)
* chdir:                                 Working Directory.   (line 106)
* chmod:                                 Setting Permissions. (line  25)
* chmod <1>:                             Setting Permissions. (line  72)
* chown:                                 File Owner.          (line  33)
* cimag:                                 Operations on Complex.
                                                              (line  19)
* cimagf:                                Operations on Complex.
                                                              (line  20)
* cimagl:                                Operations on Complex.
                                                              (line  21)
* clearenv:                              Environment Access.  (line 112)
* clearerr:                              Error Recovery.      (line   9)
* clearerr_unlocked:                     Error Recovery.      (line  19)
* clock:                                 CPU Time.            (line  42)
* clog:                                  Exponents and Logarithms.
                                                              (line 215)
* clog10:                                Exponents and Logarithms.
                                                              (line 229)
* clog10f:                               Exponents and Logarithms.
                                                              (line 230)
* clog10l:                               Exponents and Logarithms.
                                                              (line 231)
* clogf:                                 Exponents and Logarithms.
                                                              (line 216)
* clogl:                                 Exponents and Logarithms.
                                                              (line 217)
* close:                                 Opening and Closing Files.
                                                              (line 146)
* closedir:                              Reading/Closing Directory.
                                                              (line 129)
* closelog:                              closelog.            (line   9)
* confstr:                               String Parameters.   (line   9)
* conj:                                  Operations on Complex.
                                                              (line  27)
* conjf:                                 Operations on Complex.
                                                              (line  28)
* conjl:                                 Operations on Complex.
                                                              (line  29)
* connect:                               Connecting.          (line  11)
* copysign:                              FP Bit Twiddling.    (line  11)
* copysignf:                             FP Bit Twiddling.    (line  12)
* copysignl:                             FP Bit Twiddling.    (line  13)
* cos:                                   Trig Functions.      (line  27)
* cosf:                                  Trig Functions.      (line  28)
* cosh:                                  Hyperbolic Functions.
                                                              (line  20)
* coshf:                                 Hyperbolic Functions.
                                                              (line  21)
* coshl:                                 Hyperbolic Functions.
                                                              (line  22)
* cosl:                                  Trig Functions.      (line  29)
* cpow:                                  Exponents and Logarithms.
                                                              (line 252)
* cpowf:                                 Exponents and Logarithms.
                                                              (line 254)
* cpowl:                                 Exponents and Logarithms.
                                                              (line 256)
* cproj:                                 Operations on Complex.
                                                              (line  51)
* cprojf:                                Operations on Complex.
                                                              (line  52)
* cprojl:                                Operations on Complex.
                                                              (line  53)
* CPU_CLR:                               CPU Affinity.        (line  83)
* CPU_ISSET:                             CPU Affinity.        (line  94)
* CPU_SET:                               CPU Affinity.        (line  72)
* CPU_ZERO:                              CPU Affinity.        (line  64)
* creal:                                 Operations on Complex.
                                                              (line  11)
* crealf:                                Operations on Complex.
                                                              (line  12)
* creall:                                Operations on Complex.
                                                              (line  13)
* creat:                                 Opening and Closing Files.
                                                              (line 109)
* creat64:                               Opening and Closing Files.
                                                              (line 128)
* crypt:                                 crypt.               (line   6)
* crypt_r:                               crypt.               (line 117)
* csin:                                  Trig Functions.      (line  74)
* csinf:                                 Trig Functions.      (line  75)
* csinh:                                 Hyperbolic Functions.
                                                              (line  45)
* csinhf:                                Hyperbolic Functions.
                                                              (line  46)
* csinhl:                                Hyperbolic Functions.
                                                              (line  47)
* csinl:                                 Trig Functions.      (line  76)
* csqrt:                                 Exponents and Logarithms.
                                                              (line 242)
* csqrtf:                                Exponents and Logarithms.
                                                              (line 243)
* csqrtl:                                Exponents and Logarithms.
                                                              (line 244)
* ctan:                                  Trig Functions.      (line  96)
* ctanf:                                 Trig Functions.      (line  97)
* ctanh:                                 Hyperbolic Functions.
                                                              (line  65)
* ctanhf:                                Hyperbolic Functions.
                                                              (line  66)
* ctanhl:                                Hyperbolic Functions.
                                                              (line  67)
* ctanl:                                 Trig Functions.      (line  98)
* ctermid:                               Identifying the Terminal.
                                                              (line  15)
* ctime:                                 Formatting Calendar Time.
                                                              (line  43)
* ctime_r:                               Formatting Calendar Time.
                                                              (line  57)
* cuserid:                               Who Logged In.       (line  27)
* dcgettext:                             Translation with gettext.
                                                              (line  92)
* dcngettext:                            Advanced gettext functions.
                                                              (line 102)
* DES_FAILED:                            DES Encryption.      (line 123)
* des_setparity:                         DES Encryption.      (line 156)
* dgettext:                              Translation with gettext.
                                                              (line  77)
* difftime:                              Elapsed Time.        (line  10)
* dirfd:                                 Opening a Directory. (line  97)
* dirname:                               Finding Tokens in a String.
                                                              (line 270)
* div:                                   Integer Division.    (line  29)
* dngettext:                             Advanced gettext functions.
                                                              (line  92)
* drand48:                               SVID Random.         (line  33)
* drand48_r:                             SVID Random.         (line 182)
* drem:                                  Remainder Functions. (line  28)
* dremf:                                 Remainder Functions. (line  29)
* dreml:                                 Remainder Functions. (line  30)
* DTTOIF:                                Directory Entries.   (line  76)
* dup:                                   Duplicating Descriptors.
                                                              (line  23)
* dup2:                                  Duplicating Descriptors.
                                                              (line  31)
* ecb_crypt:                             DES Encryption.      (line  68)
* ecvt:                                  System V Number Conversion.
                                                              (line  17)
* ecvt_r:                                System V Number Conversion.
                                                              (line 110)
* encrypt:                               DES Encryption.      (line  42)
* encrypt_r:                             DES Encryption.      (line  54)
* endfsent:                              fstab.               (line  93)
* endgrent:                              Scanning All Groups. (line  83)
* endhostent:                            Host Names.          (line 242)
* endmntent:                             mtab.                (line 115)
* endnetent:                             Networks Database.   (line  81)
* endnetgrent:                           Lookup Netgroup.     (line  76)
* endprotoent:                           Protocols Database.  (line  93)
* endpwent:                              Scanning All Users.  (line  82)
* endservent:                            Services Database.   (line  84)
* endutent:                              Manipulating the Database.
                                                              (line 138)
* endutxent:                             XPG Functions.       (line  90)
* envz_add:                              Envz Functions.      (line  48)
* envz_entry:                            Envz Functions.      (line  28)
* envz_get:                              Envz Functions.      (line  38)
* envz_merge:                            Envz Functions.      (line  59)
* envz_strip:                            Envz Functions.      (line  73)
* erand48:                               SVID Random.         (line  46)
* erand48_r:                             SVID Random.         (line 200)
* erf:                                   Special Functions.   (line   9)
* erfc:                                  Special Functions.   (line  19)
* erfcf:                                 Special Functions.   (line  20)
* erfcl:                                 Special Functions.   (line  21)
* erff:                                  Special Functions.   (line  10)
* erfl:                                  Special Functions.   (line  11)
* err:                                   Error Messages.      (line 321)
* error:                                 Error Messages.      (line 155)
* error_at_line:                         Error Messages.      (line 192)
* errx:                                  Error Messages.      (line 338)
* execl:                                 Executing a File.    (line  36)
* execle:                                Executing a File.    (line  54)
* execlp:                                Executing a File.    (line  78)
* execv:                                 Executing a File.    (line  17)
* execve:                                Executing a File.    (line  44)
* execvp:                                Executing a File.    (line  65)
* exit:                                  Normal Termination.  (line  10)
* exp:                                   Exponents and Logarithms.
                                                              (line   6)
* exp10:                                 Exponents and Logarithms.
                                                              (line  27)
* exp10f:                                Exponents and Logarithms.
                                                              (line  28)
* exp10l:                                Exponents and Logarithms.
                                                              (line  29)
* exp2:                                  Exponents and Logarithms.
                                                              (line  18)
* exp2f:                                 Exponents and Logarithms.
                                                              (line  19)
* exp2l:                                 Exponents and Logarithms.
                                                              (line  20)
* expf:                                  Exponents and Logarithms.
                                                              (line   7)
* expl:                                  Exponents and Logarithms.
                                                              (line   8)
* expm1:                                 Exponents and Logarithms.
                                                              (line 181)
* expm1f:                                Exponents and Logarithms.
                                                              (line 182)
* expm1l:                                Exponents and Logarithms.
                                                              (line 183)
* fabs:                                  Absolute Value.      (line  33)
* fabsf:                                 Absolute Value.      (line  34)
* fabsl:                                 Absolute Value.      (line  35)
* fchdir:                                Working Directory.   (line 119)
* fchmod:                                Setting Permissions. (line 111)
* fchown:                                File Owner.          (line  67)
* fclose:                                Closing Streams.     (line  10)
* fcloseall:                             Closing Streams.     (line  32)
* fcntl:                                 Control Operations.  (line  17)
* fcvt:                                  System V Number Conversion.
                                                              (line  42)
* fcvt_r:                                System V Number Conversion.
                                                              (line 122)
* fdatasync:                             Synchronizing I/O.   (line  65)
* fdim:                                  Misc FP Arithmetic.  (line  36)
* fdimf:                                 Misc FP Arithmetic.  (line  37)
* fdiml:                                 Misc FP Arithmetic.  (line  38)
* fdopen:                                Descriptors and Streams.
                                                              (line  11)
* fdopendir:                             Opening a Directory. (line  55)
* FD_CLR:                                Waiting for I/O.     (line  64)
* FD_ISSET:                              Waiting for I/O.     (line  73)
* FD_SET:                                Waiting for I/O.     (line  55)
* FD_ZERO:                               Waiting for I/O.     (line  48)
* feclearexcept:                         Status bit operations.
                                                              (line  34)
* fedisableexcept:                       Control Functions.   (line 110)
* feenableexcept:                        Control Functions.   (line  97)
* fegetenv:                              Control Functions.   (line  29)
* fegetexcept:                           Control Functions.   (line 123)
* fegetexceptflag:                       Status bit operations.
                                                              (line  92)
* fegetround:                            Rounding.            (line  69)
* feholdexcept:                          Control Functions.   (line  39)
* feof:                                  EOF and Errors.      (line  31)
* feof_unlocked:                         EOF and Errors.      (line  40)
* feraiseexcept:                         Status bit operations.
                                                              (line  44)
* ferror:                                EOF and Errors.      (line  51)
* ferror_unlocked:                       EOF and Errors.      (line  61)
* fesetenv:                              Control Functions.   (line  69)
* fesetexceptflag:                       Status bit operations.
                                                              (line 103)
* fesetround:                            Rounding.            (line  78)
* fetestexcept:                          Status bit operations.
                                                              (line  58)
* feupdateenv:                           Control Functions.   (line  78)
* fflush:                                Flushing Buffers.    (line  25)
* fflush_unlocked:                       Flushing Buffers.    (line  36)
* fgetc:                                 Character Input.     (line  22)
* fgetc_unlocked:                        Character Input.     (line  39)
* fgetgrent:                             Scanning All Groups. (line  13)
* fgetgrent_r:                           Scanning All Groups. (line  26)
* fgetpos:                               Portable Positioning.
                                                              (line  76)
* fgetpos64:                             Portable Positioning.
                                                              (line  90)
* fgetpwent:                             Scanning All Users.  (line  13)
* fgetpwent_r:                           Scanning All Users.  (line  25)
* fgets:                                 Line Input.          (line  79)
* fgets_unlocked:                        Line Input.          (line 126)
* fgetwc:                                Character Input.     (line  31)
* fgetwc_unlocked:                       Character Input.     (line  46)
* fgetws:                                Line Input.          (line 102)
* fgetws_unlocked:                       Line Input.          (line 135)
* fileno:                                Descriptors and Streams.
                                                              (line  39)
* fileno_unlocked:                       Descriptors and Streams.
                                                              (line  48)
* finite:                                Floating Point Classes.
                                                              (line 111)
* finitef:                               Floating Point Classes.
                                                              (line 112)
* finitel:                               Floating Point Classes.
                                                              (line 113)
* flockfile:                             Streams and Threads. (line  30)
* floor:                                 Rounding Functions.  (line  27)
* floorf:                                Rounding Functions.  (line  28)
* floorl:                                Rounding Functions.  (line  29)
* fma:                                   Misc FP Arithmetic.  (line  48)
* fmaf:                                  Misc FP Arithmetic.  (line  49)
* fmal:                                  Misc FP Arithmetic.  (line  50)
* fmax:                                  Misc FP Arithmetic.  (line  25)
* fmaxf:                                 Misc FP Arithmetic.  (line  26)
* fmaxl:                                 Misc FP Arithmetic.  (line  27)
* fmemopen:                              String Streams.      (line   9)
* fmin:                                  Misc FP Arithmetic.  (line  11)
* fminf:                                 Misc FP Arithmetic.  (line  12)
* fminl:                                 Misc FP Arithmetic.  (line  13)
* fmod:                                  Remainder Functions. (line  10)
* fmodf:                                 Remainder Functions. (line  11)
* fmodl:                                 Remainder Functions. (line  12)
* fmtmsg:                                Printing Formatted Messages.
                                                              (line  46)
* fnmatch:                               Wildcard Matching.   (line  11)
* fopen:                                 Opening Streams.     (line  13)
* fopen64:                               Opening Streams.     (line 128)
* fopencookie:                           Streams and Cookies. (line  55)
* fork:                                  Creating a Process.  (line   9)
* forkpty:                               Pseudo-Terminal Pairs.
                                                              (line  37)
* fpathconf:                             Pathconf.            (line  38)
* fpclassify:                            Floating Point Classes.
                                                              (line   9)
* fprintf:                               Formatted Output Functions.
                                                              (line  31)
* fputc:                                 Simple Output.       (line  12)
* fputc_unlocked:                        Simple Output.       (line  28)
* fputs:                                 Simple Output.       (line 110)
* fputs_unlocked:                        Simple Output.       (line 142)
* fputwc:                                Simple Output.       (line  20)
* fputwc_unlocked:                       Simple Output.       (line  35)
* fputws:                                Simple Output.       (line 130)
* fputws_unlocked:                       Simple Output.       (line 151)
* fread:                                 Block Input/Output.  (line  27)
* fread_unlocked:                        Block Input/Output.  (line  44)
* free:                                  Freeing after Malloc.
                                                              (line  10)
* freopen:                               Opening Streams.     (line 155)
* freopen64:                             Opening Streams.     (line 182)
* frexp:                                 Normalization Functions.
                                                              (line  16)
* frexpf:                                Normalization Functions.
                                                              (line  17)
* frexpl:                                Normalization Functions.
                                                              (line  18)
* fscanf:                                Formatted Input Functions.
                                                              (line  37)
* fseek:                                 File Positioning.    (line  71)
* fseeko:                                File Positioning.    (line  90)
* fseeko64:                              File Positioning.    (line 112)
* fsetpos:                               Portable Positioning.
                                                              (line 101)
* fsetpos64:                             Portable Positioning.
                                                              (line 118)
* fstat:                                 Reading Attributes.  (line  48)
* fstat64:                               Reading Attributes.  (line  66)
* fsync:                                 Synchronizing I/O.   (line  30)
* ftell:                                 File Positioning.    (line  21)
* ftello:                                File Positioning.    (line  33)
* ftello64:                              File Positioning.    (line  57)
* ftruncate:                             File Size.           (line  79)
* ftruncate64:                           File Size.           (line 134)
* ftrylockfile:                          Streams and Threads. (line  41)
* ftw:                                   Working with Directory Trees.
                                                              (line 124)
* ftw64:                                 Working with Directory Trees.
                                                              (line 176)
* funlockfile:                           Streams and Threads. (line  52)
* futimes:                               File Times.          (line 129)
* fwide:                                 Streams and I18N.    (line  57)
* fwprintf:                              Formatted Output Functions.
                                                              (line  38)
* fwrite:                                Block Input/Output.  (line  54)
* fwrite_unlocked:                       Block Input/Output.  (line  64)
* fwscanf:                               Formatted Input Functions.
                                                              (line  44)
* gamma:                                 Special Functions.   (line  62)
* gammaf:                                Special Functions.   (line  63)
* gammal:                                Special Functions.   (line  64)
* gcvt:                                  System V Number Conversion.
                                                              (line  61)
* getauxval:                             Auxiliary Vector.    (line  17)
* getc:                                  Character Input.     (line  55)
* getchar:                               Character Input.     (line  90)
* getchar_unlocked:                      Character Input.     (line 104)
* getcontext:                            System V contexts.   (line  50)
* getcwd:                                Working Directory.   (line  23)
* getc_unlocked:                         Character Input.     (line  74)
* getdate:                               General Time String Parsing.
                                                              (line  37)
* getdate_r:                             General Time String Parsing.
                                                              (line 140)
* getdelim:                              Line Input.          (line  56)
* getdomainnname:                        Host Identification. (line 102)
* getegid:                               Reading Persona.     (line  38)
* getenv:                                Environment Access.  (line  15)
* geteuid:                               Reading Persona.     (line  31)
* getfsent:                              fstab.               (line 101)
* getfsfile:                             fstab.               (line 132)
* getfsspec:                             fstab.               (line 115)
* getgid:                                Reading Persona.     (line  25)
* getgrent:                              Scanning All Groups. (line  57)
* getgrent_r:                            Scanning All Groups. (line  68)
* getgrgid:                              Lookup Group.        (line  10)
* getgrgid_r:                            Lookup Group.        (line  21)
* getgrnam:                              Lookup Group.        (line  42)
* getgrnam_r:                            Lookup Group.        (line  54)
* getgrouplist:                          Setting Groups.      (line 112)
* getgroups:                             Reading Persona.     (line  45)
* gethostbyaddr:                         Host Names.          (line  83)
* gethostbyaddr_r:                       Host Names.          (line 194)
* gethostbyname:                         Host Names.          (line  66)
* gethostbyname2:                        Host Names.          (line  74)
* gethostbyname2_r:                      Host Names.          (line 182)
* gethostbyname_r:                       Host Names.          (line 125)
* gethostent:                            Host Names.          (line 234)
* gethostid:                             Host Identification. (line 124)
* gethostname:                           Host Identification. (line  53)
* getitimer:                             Setting an Alarm.    (line  86)
* getline:                               Line Input.          (line  20)
* getloadavg:                            Processor Resources. (line  52)
* getlogin:                              Who Logged In.       (line  16)
* getmntent:                             mtab.                (line 126)
* getmntent_r:                           mtab.                (line 153)
* getnetbyaddr:                          Networks Database.   (line  45)
* getnetbyname:                          Networks Database.   (line  37)
* getnetent:                             Networks Database.   (line  73)
* getnetgrent:                           Lookup Netgroup.     (line  38)
* getnetgrent_r:                         Lookup Netgroup.     (line  56)
* getopt:                                Using Getopt.        (line  34)
* getopt_long:                           Getopt Long Options. (line  42)
* getopt_long_only:                      Getopt Long Options. (line  97)
* getpagesize:                           Query Memory Parameters.
                                                              (line  33)
* getpass:                               getpass.             (line  10)
* getpeername:                           Who is Connected.    (line   6)
* getpgid:                               Process Group Functions.
                                                              (line  59)
* getpgrp:                               Process Group Functions.
                                                              (line  52)
* getpid:                                Process Identification.
                                                              (line  16)
* getppid:                               Process Identification.
                                                              (line  23)
* getpriority:                           Traditional Scheduling Functions.
                                                              (line  24)
* getprotobyname:                        Protocols Database.  (line  50)
* getprotobynumber:                      Protocols Database.  (line  59)
* getprotoent:                           Protocols Database.  (line  85)
* getpt:                                 Allocation.          (line  10)
* getpwent:                              Scanning All Users.  (line  56)
* getpwent_r:                            Scanning All Users.  (line  69)
* getpwnam:                              Lookup User.         (line  43)
* getpwnam_r:                            Lookup User.         (line  55)
* getpwuid:                              Lookup User.         (line  10)
* getpwuid_r:                            Lookup User.         (line  22)
* getrlimit:                             Limits on Resources. (line  29)
* getrlimit64:                           Limits on Resources. (line  43)
* getrusage:                             Resource Usage.      (line  10)
* gets:                                  Line Input.          (line 145)
* getservbyname:                         Services Database.   (line  35)
* getservbyport:                         Services Database.   (line  49)
* getservent:                            Services Database.   (line  76)
* getsid:                                Process Group Functions.
                                                              (line  33)
* getsockname:                           Reading Address.     (line  10)
* getsockopt:                            Socket Option Functions.
                                                              (line   9)
* getsubopt:                             Suboptions.          (line  15)
* gettext:                               Translation with gettext.
                                                              (line  31)
* gettimeofday:                          High-Resolution Calendar.
                                                              (line  29)
* getuid:                                Reading Persona.     (line  19)
* getumask:                              Setting Permissions. (line  64)
* getutent:                              Manipulating the Database.
                                                              (line 124)
* getutent_r:                            Manipulating the Database.
                                                              (line 223)
* getutid:                               Manipulating the Database.
                                                              (line 144)
* getutid_r:                             Manipulating the Database.
                                                              (line 240)
* getutline:                             Manipulating the Database.
                                                              (line 173)
* getutline_r:                           Manipulating the Database.
                                                              (line 256)
* getutmp:                               XPG Functions.       (line 134)
* getutmpx:                              XPG Functions.       (line 141)
* getutxent:                             XPG Functions.       (line  82)
* getutxid:                              XPG Functions.       (line  97)
* getutxline:                            XPG Functions.       (line 105)
* getw:                                  Character Input.     (line 152)
* getwc:                                 Character Input.     (line  65)
* getwchar:                              Character Input.     (line  97)
* getwchar_unlocked:                     Character Input.     (line 111)
* getwc_unlocked:                        Character Input.     (line  81)
* getwd:                                 Working Directory.   (line  78)
* get_avphys_pages:                      Query Memory Parameters.
                                                              (line  77)
* get_current_dir_name:                  Working Directory.   (line  92)
* get_nprocs:                            Processor Resources. (line  37)
* get_nprocs_conf:                       Processor Resources. (line  28)
* get_phys_pages:                        Query Memory Parameters.
                                                              (line  67)
* glob:                                  Calling Glob.        (line 176)
* glob64:                                Calling Glob.        (line 235)
* globfree:                              More Flags for Globbing.
                                                              (line 123)
* globfree64:                            More Flags for Globbing.
                                                              (line 132)
* gmtime:                                Broken-down Time.    (line 126)
* gmtime_r:                              Broken-down Time.    (line 139)
* grantpt:                               Allocation.          (line  25)
* grantpt <1>:                           Configuring and compiling.
                                                              (line 119)
* gsignal:                               Signaling Yourself.  (line  18)
* gtty:                                  BSD Terminal Modes.  (line  30)
* hasmntopt:                             mtab.                (line 198)
* hcreate:                               Hash Search Function.
                                                              (line  12)
* hcreate_r:                             Hash Search Function.
                                                              (line 113)
* hdestroy:                              Hash Search Function.
                                                              (line  41)
* hdestroy_r:                            Hash Search Function.
                                                              (line 131)
* hsearch:                               Hash Search Function.
                                                              (line  83)
* hsearch_r:                             Hash Search Function.
                                                              (line 140)
* htonl:                                 Byte Order.          (line  48)
* htons:                                 Byte Order.          (line  34)
* hypot:                                 Exponents and Logarithms.
                                                              (line 168)
* hypotf:                                Exponents and Logarithms.
                                                              (line 169)
* hypotl:                                Exponents and Logarithms.
                                                              (line 170)
* iconv:                                 Generic Conversion Interface.
                                                              (line 112)
* iconv_close:                           Generic Conversion Interface.
                                                              (line  89)
* iconv_open:                            Generic Conversion Interface.
                                                              (line  26)
* IFTODT:                                Directory Entries.   (line  70)
* if_freenameindex:                      Interface Naming.    (line  64)
* if_indextoname:                        Interface Naming.    (line  32)
* if_nameindex:                          Interface Naming.    (line  52)
* if_nametoindex:                        Interface Naming.    (line  24)
* ilogb:                                 Exponents and Logarithms.
                                                              (line  88)
* ilogbf:                                Exponents and Logarithms.
                                                              (line  89)
* ilogbl:                                Exponents and Logarithms.
                                                              (line  90)
* imaxabs:                               Absolute Value.      (line  19)
* imaxdiv:                               Integer Division.    (line 107)
* index:                                 Search Functions.    (line 328)
* inet_addr:                             Host Address Functions.
                                                              (line  21)
* inet_aton:                             Host Address Functions.
                                                              (line  12)
* inet_lnaof:                            Host Address Functions.
                                                              (line  74)
* inet_makeaddr:                         Host Address Functions.
                                                              (line  65)
* inet_netof:                            Host Address Functions.
                                                              (line  85)
* inet_network:                          Host Address Functions.
                                                              (line  33)
* inet_ntoa:                             Host Address Functions.
                                                              (line  46)
* inet_ntop:                             Host Address Functions.
                                                              (line 107)
* inet_pton:                             Host Address Functions.
                                                              (line  96)
* initgroups:                            Setting Groups.      (line  92)
* initstate:                             BSD Random.          (line  36)
* initstate_r:                           BSD Random.          (line 106)
* innetgr:                               Netgroup Membership. (line  10)
* ioctl:                                 IOCTLs.              (line  31)
* isalnum:                               Classification of Characters.
                                                              (line  60)
* isalpha:                               Classification of Characters.
                                                              (line  41)
* isascii:                               Classification of Characters.
                                                              (line 140)
* isatty:                                Is It a Terminal.    (line  13)
* isblank:                               Classification of Characters.
                                                              (line 109)
* iscntrl:                               Classification of Characters.
                                                              (line 133)
* isdigit:                               Classification of Characters.
                                                              (line  54)
* isfinite:                              Floating Point Classes.
                                                              (line  43)
* isgraph:                               Classification of Characters.
                                                              (line 118)
* isgreater:                             FP Comparison Functions.
                                                              (line  19)
* isgreaterequal:                        FP Comparison Functions.
                                                              (line  27)
* isinf:                                 Floating Point Classes.
                                                              (line  86)
* isinff:                                Floating Point Classes.
                                                              (line  87)
* isinfl:                                Floating Point Classes.
                                                              (line  88)
* isless:                                FP Comparison Functions.
                                                              (line  35)
* islessequal:                           FP Comparison Functions.
                                                              (line  43)
* islessgreater:                         FP Comparison Functions.
                                                              (line  51)
* islower:                               Classification of Characters.
                                                              (line  27)
* isnan:                                 Floating Point Classes.
                                                              (line  64)
* isnan <1>:                             Floating Point Classes.
                                                              (line  95)
* isnanf:                                Floating Point Classes.
                                                              (line  96)
* isnanl:                                Floating Point Classes.
                                                              (line  97)
* isnormal:                              Floating Point Classes.
                                                              (line  55)
* isprint:                               Classification of Characters.
                                                              (line 126)
* ispunct:                               Classification of Characters.
                                                              (line  76)
* issignaling:                           Floating Point Classes.
                                                              (line  72)
* isspace:                               Classification of Characters.
                                                              (line  83)
* isunordered:                           FP Comparison Functions.
                                                              (line  63)
* isupper:                               Classification of Characters.
                                                              (line  34)
* iswalnum:                              Classification of Wide Characters.
                                                              (line  74)
* iswalpha:                              Classification of Wide Characters.
                                                              (line  89)
* iswblank:                              Classification of Wide Characters.
                                                              (line 261)
* iswcntrl:                              Classification of Wide Characters.
                                                              (line 108)
* iswctype:                              Classification of Wide Characters.
                                                              (line  58)
* iswdigit:                              Classification of Wide Characters.
                                                              (line 121)
* iswgraph:                              Classification of Wide Characters.
                                                              (line 144)
* iswlower:                              Classification of Wide Characters.
                                                              (line 158)
* iswprint:                              Classification of Wide Characters.
                                                              (line 171)
* iswpunct:                              Classification of Wide Characters.
                                                              (line 184)
* iswspace:                              Classification of Wide Characters.
                                                              (line 197)
* iswupper:                              Classification of Wide Characters.
                                                              (line 229)
* iswxdigit:                             Classification of Wide Characters.
                                                              (line 242)
* isxdigit:                              Classification of Characters.
                                                              (line  68)
* j0:                                    Special Functions.   (line  85)
* j0f:                                   Special Functions.   (line  86)
* j0l:                                   Special Functions.   (line  87)
* j1:                                    Special Functions.   (line  94)
* j1f:                                   Special Functions.   (line  95)
* j1l:                                   Special Functions.   (line  96)
* jn:                                    Special Functions.   (line 103)
* jnf:                                   Special Functions.   (line 104)
* jnl:                                   Special Functions.   (line 105)
* jrand48:                               SVID Random.         (line  91)
* jrand48_r:                             SVID Random.         (line 265)
* kill:                                  Signaling Another Process.
                                                              (line  26)
* killpg:                                Signaling Another Process.
                                                              (line  80)
* l64a:                                  Encode Binary Data.  (line  12)
* labs:                                  Absolute Value.      (line  17)
* lcong48:                               SVID Random.         (line 151)
* lcong48_r:                             SVID Random.         (line 330)
* ldexp:                                 Normalization Functions.
                                                              (line  37)
* ldexpf:                                Normalization Functions.
                                                              (line  38)
* ldexpl:                                Normalization Functions.
                                                              (line  39)
* ldiv:                                  Integer Division.    (line  60)
* lfind:                                 Array Search Function.
                                                              (line  11)
* lgamma:                                Special Functions.   (line  28)
* lgammaf:                               Special Functions.   (line  29)
* lgammaf_r:                             Special Functions.   (line  53)
* lgammal:                               Special Functions.   (line  30)
* lgammal_r:                             Special Functions.   (line  54)
* lgamma_r:                              Special Functions.   (line  52)
* link:                                  Hard Links.          (line  27)
* lio_listio:                            Asynchronous Reads/Writes.
                                                              (line 174)
* lio_listio64:                          Asynchronous Reads/Writes.
                                                              (line 257)
* listen:                                Listening.           (line  29)
* llabs:                                 Absolute Value.      (line  18)
* lldiv:                                 Integer Division.    (line  81)
* llrint:                                Rounding Functions.  (line  91)
* llrintf:                               Rounding Functions.  (line  92)
* llrintl:                               Rounding Functions.  (line  93)
* llround:                               Rounding Functions.  (line 109)
* llroundf:                              Rounding Functions.  (line 110)
* llroundl:                              Rounding Functions.  (line 111)
* localeconv:                            The Lame Way to Locale Data.
                                                              (line  15)
* localtime:                             Broken-down Time.    (line  86)
* localtime_r:                           Broken-down Time.    (line 110)
* log:                                   Exponents and Logarithms.
                                                              (line  42)
* log10:                                 Exponents and Logarithms.
                                                              (line  55)
* log10f:                                Exponents and Logarithms.
                                                              (line  56)
* log10l:                                Exponents and Logarithms.
                                                              (line  57)
* log1p:                                 Exponents and Logarithms.
                                                              (line 192)
* log1pf:                                Exponents and Logarithms.
                                                              (line 193)
* log1pl:                                Exponents and Logarithms.
                                                              (line 194)
* log2:                                  Exponents and Logarithms.
                                                              (line  64)
* log2f:                                 Exponents and Logarithms.
                                                              (line  65)
* log2l:                                 Exponents and Logarithms.
                                                              (line  66)
* logb:                                  Exponents and Logarithms.
                                                              (line  73)
* logbf:                                 Exponents and Logarithms.
                                                              (line  74)
* logbl:                                 Exponents and Logarithms.
                                                              (line  75)
* logf:                                  Exponents and Logarithms.
                                                              (line  43)
* login:                                 Logging In and Out.  (line  24)
* login_tty:                             Logging In and Out.  (line  13)
* logl:                                  Exponents and Logarithms.
                                                              (line  44)
* logout:                                Logging In and Out.  (line  40)
* logwtmp:                               Logging In and Out.  (line  50)
* longjmp:                               Non-Local Details.   (line  24)
* lrand48:                               SVID Random.         (line  58)
* lrand48_r:                             SVID Random.         (line 217)
* lrint:                                 Rounding Functions.  (line  82)
* lrintf:                                Rounding Functions.  (line  83)
* lrintl:                                Rounding Functions.  (line  84)
* lround:                                Rounding Functions.  (line 100)
* lroundf:                               Rounding Functions.  (line 101)
* lroundl:                               Rounding Functions.  (line 102)
* lsearch:                               Array Search Function.
                                                              (line  30)
* lseek:                                 File Position Primitive.
                                                              (line  15)
* lseek64:                               File Position Primitive.
                                                              (line  98)
* lstat:                                 Reading Attributes.  (line  80)
* lstat64:                               Reading Attributes.  (line  93)
* lutimes:                               File Times.          (line 112)
* madvise:                               Memory-mapped I/O.   (line 250)
* main:                                  Program Arguments.   (line   6)
* makecontext:                           System V contexts.   (line  76)
* mallinfo:                              Statistics of Malloc.
                                                              (line  54)
* malloc:                                Basic Allocation.    (line   9)
* mallopt:                               Malloc Tunable Parameters.
                                                              (line  10)
* matherr:                               FP Exceptions.       (line  24)
* mblen:                                 Non-reentrant Character Conversion.
                                                              (line  78)
* mbrlen:                                Converting a Character.
                                                              (line 177)
* mbrtowc:                               Converting a Character.
                                                              (line  85)
* mbsinit:                               Keeping the state.   (line  47)
* mbsnrtowcs:                            Converting Strings.  (line 140)
* mbsrtowcs:                             Converting Strings.  (line  14)
* mbstowcs:                              Non-reentrant String Conversion.
                                                              (line  13)
* mbtowc:                                Non-reentrant Character Conversion.
                                                              (line   6)
* mcheck:                                Heap Consistency Checking.
                                                              (line  10)
* memalign:                              Aligned Memory Blocks.
                                                              (line  34)
* memccpy:                               Copying and Concatenation.
                                                              (line 166)
* memchr:                                Search Functions.    (line  10)
* memcmp:                                String/Array Comparison.
                                                              (line  24)
* memcpy:                                Copying and Concatenation.
                                                              (line  32)
* memfrob:                               Trivial Encryption.  (line  17)
* memmem:                                Search Functions.    (line 220)
* memmove:                               Copying and Concatenation.
                                                              (line 129)
* mempcpy:                               Copying and Concatenation.
                                                              (line  76)
* memrchr:                               Search Functions.    (line  57)
* memset:                                Copying and Concatenation.
                                                              (line 176)
* mkdir:                                 Creating Directories.
                                                              (line   9)
* mkdtemp:                               Temporary Files.     (line 197)
* mkfifo:                                FIFO Special Files.  (line  19)
* mknod:                                 Making Special Files.
                                                              (line  12)
* mkstemp:                               Temporary Files.     (line 176)
* mktemp:                                Temporary Files.     (line 159)
* mktime:                                Broken-down Time.    (line 150)
* mlock:                                 Page Lock Functions. (line  19)
* mlockall:                              Page Lock Functions. (line  73)
* mmap:                                  Memory-mapped I/O.   (line  33)
* mmap64:                                Memory-mapped I/O.   (line 132)
* modf:                                  Rounding Functions.  (line 118)
* modff:                                 Rounding Functions.  (line 119)
* modfl:                                 Rounding Functions.  (line 120)
* mount:                                 Mount-Unmount-Remount.
                                                              (line  16)
* mprobe:                                Heap Consistency Checking.
                                                              (line  51)
* mrand48:                               SVID Random.         (line  83)
* mrand48_r:                             SVID Random.         (line 250)
* mremap:                                Memory-mapped I/O.   (line 205)
* msync:                                 Memory-mapped I/O.   (line 170)
* mtrace:                                Tracing malloc.      (line   6)
* munlock:                               Page Lock Functions. (line  64)
* munlockall:                            Page Lock Functions. (line 138)
* munmap:                                Memory-mapped I/O.   (line 149)
* muntrace:                              Tracing malloc.      (line  30)
* nan:                                   FP Bit Twiddling.    (line  69)
* nanf:                                  FP Bit Twiddling.    (line  70)
* nanl:                                  FP Bit Twiddling.    (line  71)
* nanosleep:                             Sleeping.            (line  56)
* nearbyint:                             Rounding Functions.  (line  63)
* nearbyintf:                            Rounding Functions.  (line  64)
* nearbyintl:                            Rounding Functions.  (line  65)
* nextafter:                             FP Bit Twiddling.    (line  40)
* nextafterf:                            FP Bit Twiddling.    (line  41)
* nextafterl:                            FP Bit Twiddling.    (line  42)
* nexttoward:                            FP Bit Twiddling.    (line  60)
* nexttowardf:                           FP Bit Twiddling.    (line  61)
* nexttowardl:                           FP Bit Twiddling.    (line  62)
* nftw:                                  Working with Directory Trees.
                                                              (line 190)
* nftw64:                                Working with Directory Trees.
                                                              (line 252)
* ngettext:                              Advanced gettext functions.
                                                              (line  70)
* nice:                                  Traditional Scheduling Functions.
                                                              (line  94)
* nl_langinfo:                           The Elegant and Fast Way.
                                                              (line  12)
* notfound:                              Actions in the NSS configuration.
                                                              (line  24)
* nrand48:                               SVID Random.         (line  68)
* nrand48_r:                             SVID Random.         (line 233)
* ntohl:                                 Byte Order.          (line  57)
* ntohs:                                 Byte Order.          (line  41)
* ntp_adjtime:                           High Accuracy Clock. (line 153)
* ntp_gettime:                           High Accuracy Clock. (line  35)
* obstack_1grow:                         Growing Objects.     (line  53)
* obstack_1grow_fast:                    Extra Fast Growing.  (line  33)
* obstack_alignment_mask:                Obstacks Data Alignment.
                                                              (line  14)
* obstack_alloc:                         Allocation in an Obstack.
                                                              (line   9)
* obstack_base:                          Status of an Obstack.
                                                              (line  10)
* obstack_blank:                         Growing Objects.     (line  28)
* obstack_blank_fast:                    Extra Fast Growing.  (line  59)
* obstack_chunk_alloc:                   Preparing for Obstacks.
                                                              (line  11)
* obstack_chunk_free:                    Preparing for Obstacks.
                                                              (line  11)
* obstack_chunk_size:                    Obstack Chunks.      (line  37)
* obstack_copy:                          Allocation in an Obstack.
                                                              (line  42)
* obstack_copy0:                         Allocation in an Obstack.
                                                              (line  51)
* obstack_finish:                        Growing Objects.     (line  78)
* obstack_free:                          Freeing Obstack Objects.
                                                              (line  11)
* obstack_grow:                          Growing Objects.     (line  35)
* obstack_grow0:                         Growing Objects.     (line  44)
* obstack_init:                          Preparing for Obstacks.
                                                              (line  33)
* obstack_int_grow:                      Growing Objects.     (line  69)
* obstack_int_grow_fast:                 Extra Fast Growing.  (line  50)
* obstack_next_free:                     Status of an Obstack.
                                                              (line  24)
* obstack_object_size:                   Growing Objects.     (line  97)
* obstack_object_size <1>:               Status of an Obstack.
                                                              (line  33)
* obstack_printf:                        Dynamic Output.      (line  38)
* obstack_ptr_grow:                      Growing Objects.     (line  60)
* obstack_ptr_grow_fast:                 Extra Fast Growing.  (line  41)
* obstack_room:                          Extra Fast Growing.  (line  22)
* obstack_vprintf:                       Variable Arguments Output.
                                                              (line 120)
* offsetof:                              Structure Measurement.
                                                              (line   9)
* on_exit:                               Cleanups on Exit.    (line  25)
* open:                                  Opening and Closing Files.
                                                              (line  10)
* open64:                                Opening and Closing Files.
                                                              (line  93)
* opendir:                               Opening a Directory. (line  17)
* openlog:                               openlog.             (line   9)
* openpty:                               Pseudo-Terminal Pairs.
                                                              (line   9)
* open_memstream:                        String Streams.      (line  76)
* parse_printf_format:                   Parsing a Template String.
                                                              (line  15)
* pathconf:                              Pathconf.            (line  13)
* pause:                                 Using Pause.         (line  10)
* pclose:                                Pipe to a Subprocess.
                                                              (line  41)
* perror:                                Error Messages.      (line  52)
* pipe:                                  Creating a Pipe.     (line  16)
* popen:                                 Pipe to a Subprocess.
                                                              (line  17)
* posix_memalign:                        Aligned Memory Blocks.
                                                              (line  57)
* pow:                                   Exponents and Logarithms.
                                                              (line 134)
* pow10:                                 Exponents and Logarithms.
                                                              (line  30)
* pow10f:                                Exponents and Logarithms.
                                                              (line  31)
* pow10l:                                Exponents and Logarithms.
                                                              (line  32)
* powf:                                  Exponents and Logarithms.
                                                              (line 135)
* powl:                                  Exponents and Logarithms.
                                                              (line 136)
* pread:                                 I/O Primitives.      (line 111)
* pread64:                               I/O Primitives.      (line 147)
* printf:                                Formatted Output Functions.
                                                              (line  13)
* printf_size:                           Predefined Printf Handlers.
                                                              (line  10)
* printf_size_info:                      Predefined Printf Handlers.
                                                              (line  43)
* psignal:                               Signal Messages.     (line  28)
* pthread_getattr_default_np:            Default Thread Attributes.
                                                              (line   9)
* pthread_key_create:                    Thread-specific Data.
                                                              (line  10)
* pthread_key_delete:                    Thread-specific Data.
                                                              (line  24)
* pthread_setattr_default_np:            Default Thread Attributes.
                                                              (line  16)
* pthread_setspecific:                   Thread-specific Data.
                                                              (line  39)
* ptsname:                               Allocation.          (line  80)
* ptsname_r:                             Allocation.          (line  90)
* putc:                                  Simple Output.       (line  44)
* putchar:                               Simple Output.       (line  80)
* putchar_unlocked:                      Simple Output.       (line  94)
* putc_unlocked:                         Simple Output.       (line  64)
* putenv:                                Environment Access.  (line  38)
* putpwent:                              Writing a User Entry.
                                                              (line   6)
* puts:                                  Simple Output.       (line 160)
* pututline:                             Manipulating the Database.
                                                              (line 195)
* pututxline:                            XPG Functions.       (line 113)
* putw:                                  Simple Output.       (line 176)
* putwc:                                 Simple Output.       (line  54)
* putwchar:                              Simple Output.       (line  87)
* putwchar_unlocked:                     Simple Output.       (line 101)
* putwc_unlocked:                        Simple Output.       (line  71)
* pwrite:                                I/O Primitives.      (line 273)
* pwrite64:                              I/O Primitives.      (line 309)
* qecvt:                                 System V Number Conversion.
                                                              (line  75)
* qecvt_r:                               System V Number Conversion.
                                                              (line 134)
* qfcvt:                                 System V Number Conversion.
                                                              (line  84)
* qfcvt_r:                               System V Number Conversion.
                                                              (line 146)
* qgcvt:                                 System V Number Conversion.
                                                              (line  93)
* qsort:                                 Array Sort Function. (line   9)
* raise:                                 Signaling Yourself.  (line   9)
* rand:                                  ISO Random.          (line  19)
* random:                                BSD Random.          (line  12)
* random_r:                              BSD Random.          (line  89)
* rand_r:                                ISO Random.          (line  41)
* rawmemchr:                             Search Functions.    (line  29)
* read:                                  I/O Primitives.      (line  15)
* readdir:                               Reading/Closing Directory.
                                                              (line  10)
* readdir64:                             Reading/Closing Directory.
                                                              (line 107)
* readdir64_r:                           Reading/Closing Directory.
                                                              (line 118)
* readdir_r:                             Reading/Closing Directory.
                                                              (line  43)
* readlink:                              Symbolic Links.      (line  72)
* readv:                                 Scatter-Gather.      (line  30)
* realloc:                               Changing Block Size. (line  15)
* realpath:                              Symbolic Links.      (line 164)
* recv:                                  Receiving Data.      (line  10)
* recvfrom:                              Receiving Datagrams. (line  10)
* regcomp:                               POSIX Regexp Compilation.
                                                              (line  30)
* regerror:                              Regexp Cleanup.      (line  26)
* regexec:                               Matching POSIX Regexps.
                                                              (line  11)
* regfree:                               Regexp Cleanup.      (line   9)
* register_printf_function:              Registering New Conversions.
                                                              (line   9)
* remainder:                             Remainder Functions. (line  47)
* remainderf:                            Remainder Functions. (line  48)
* remainderl:                            Remainder Functions. (line  49)
* remove:                                Deleting Files.      (line  75)
* rename:                                Renaming Files.      (line   8)
* rewind:                                File Positioning.    (line 150)
* rewinddir:                             Random Access Directory.
                                                              (line  10)
* rindex:                                Search Functions.    (line 337)
* rint:                                  Rounding Functions.  (line  47)
* rintf:                                 Rounding Functions.  (line  48)
* rintl:                                 Rounding Functions.  (line  49)
* rmdir:                                 Deleting Files.      (line  53)
* round:                                 Rounding Functions.  (line  72)
* roundf:                                Rounding Functions.  (line  73)
* roundl:                                Rounding Functions.  (line  74)
* rpmatch:                               Yes-or-No Questions. (line  15)
* scalb:                                 Normalization Functions.
                                                              (line  54)
* scalbf:                                Normalization Functions.
                                                              (line  55)
* scalbl:                                Normalization Functions.
                                                              (line  56)
* scalbln:                               Normalization Functions.
                                                              (line  72)
* scalblnf:                              Normalization Functions.
                                                              (line  73)
* scalblnl:                              Normalization Functions.
                                                              (line  74)
* scalbn:                                Normalization Functions.
                                                              (line  63)
* scalbnf:                               Normalization Functions.
                                                              (line  64)
* scalbnl:                               Normalization Functions.
                                                              (line  65)
* scandir:                               Scanning Directory Content.
                                                              (line  11)
* scandir64:                             Scanning Directory Content.
                                                              (line  67)
* scanf:                                 Formatted Input Functions.
                                                              (line   9)
* sched_getaffinity:                     CPU Affinity.        (line 109)
* sched_getparam:                        Basic Scheduling Functions.
                                                              (line 122)
* sched_getscheduler:                    Basic Scheduling Functions.
                                                              (line  85)
* sched_get_priority_max:                Basic Scheduling Functions.
                                                              (line 160)
* sched_get_priority_min:                Basic Scheduling Functions.
                                                              (line 144)
* sched_rr_get_interval:                 Basic Scheduling Functions.
                                                              (line 176)
* sched_setaffinity:                     CPU Affinity.        (line 135)
* sched_setparam:                        Basic Scheduling Functions.
                                                              (line 112)
* sched_setscheduler:                    Basic Scheduling Functions.
                                                              (line  34)
* sched_yield:                           Basic Scheduling Functions.
                                                              (line 195)
* secure_getenv:                         Environment Access.  (line  26)
* seed48:                                SVID Random.         (line 123)
* seed48_r:                              SVID Random.         (line 313)
* seekdir:                               Random Access Directory.
                                                              (line  30)
* select:                                Waiting for I/O.     (line  85)
* send:                                  Sending Data.        (line  12)
* sendto:                                Sending Datagrams.   (line  17)
* setbuf:                                Controlling Buffering.
                                                              (line  80)
* setbuffer:                             Controlling Buffering.
                                                              (line  92)
* setcontext:                            System V contexts.   (line 122)
* setdomainname:                         Host Identification. (line 113)
* setegid:                               Setting Groups.      (line  10)
* setenv:                                Environment Access.  (line  63)
* seteuid:                               Setting User ID.     (line  10)
* setfsent:                              fstab.               (line  78)
* setgid:                                Setting Groups.      (line  29)
* setgrent:                              Scanning All Groups. (line  49)
* setgroups:                             Setting Groups.      (line  78)
* sethostent:                            Host Names.          (line 220)
* sethostid:                             Host Identification. (line 142)
* sethostname:                           Host Identification. (line  80)
* setitimer:                             Setting an Alarm.    (line  67)
* setjmp:                                Non-Local Details.   (line  15)
* setkey:                                DES Encryption.      (line  33)
* setkey_r:                              DES Encryption.      (line  53)
* setlinebuf:                            Controlling Buffering.
                                                              (line 103)
* setlocale:                             Setting the Locale.  (line  25)
* setlogmask:                            setlogmask.          (line   9)
* setmntent:                             mtab.                (line 100)
* setnetent:                             Networks Database.   (line  60)
* setnetgrent:                           Lookup Netgroup.     (line  12)
* setpgid:                               Process Group Functions.
                                                              (line  77)
* setpgrp:                               Process Group Functions.
                                                              (line 112)
* setpriority:                           Traditional Scheduling Functions.
                                                              (line  49)
* setprotoent:                           Protocols Database.  (line  72)
* setpwent:                              Scanning All Users.  (line  48)
* setregid:                              Setting Groups.      (line  43)
* setreuid:                              Setting User ID.     (line  53)
* setrlimit:                             Limits on Resources. (line  56)
* setrlimit64:                           Limits on Resources. (line  77)
* setservent:                            Services Database.   (line  63)
* setsid:                                Process Group Functions.
                                                              (line  10)
* setsockopt:                            Socket Option Functions.
                                                              (line  36)
* setstate:                              BSD Random.          (line  51)
* setstate_r:                            BSD Random.          (line 115)
* settimeofday:                          High-Resolution Calendar.
                                                              (line  51)
* setuid:                                Setting User ID.     (line  36)
* setutent:                              Manipulating the Database.
                                                              (line 113)
* setutxent:                             XPG Functions.       (line  75)
* setvbuf:                               Controlling Buffering.
                                                              (line  13)
* shm_open:                              Memory-mapped I/O.   (line 309)
* shm_unlink:                            Memory-mapped I/O.   (line 327)
* shutdown:                              Closing a Socket.    (line  16)
* sigaction:                             Advanced Signal Handling.
                                                              (line  39)
* sigaddset:                             Signal Sets.         (line  49)
* sigaltstack:                           Signal Stack.        (line  69)
* sigblock:                              Blocking in BSD.     (line  19)
* sigdelset:                             Signal Sets.         (line  63)
* sigemptyset:                           Signal Sets.         (line  35)
* sigfillset:                            Signal Sets.         (line  42)
* siginterrupt:                          BSD Handler.         (line  53)
* sigismember:                           Signal Sets.         (line  75)
* siglongjmp:                            Non-Local Exits and Signals.
                                                              (line  32)
* sigmask:                               Blocking in BSD.     (line   6)
* signal:                                Basic Signal Handling.
                                                              (line  19)
* signbit:                               FP Bit Twiddling.    (line  28)
* significand:                           Normalization Functions.
                                                              (line  81)
* significandf:                          Normalization Functions.
                                                              (line  82)
* significandl:                          Normalization Functions.
                                                              (line  83)
* sigpause:                              Blocking in BSD.     (line  37)
* sigpending:                            Checking for Pending Signals.
                                                              (line   9)
* sigprocmask:                           Process Signal Mask. (line  20)
* sigsetjmp:                             Non-Local Exits and Signals.
                                                              (line  24)
* sigsetmask:                            Blocking in BSD.     (line  28)
* sigstack:                              Signal Stack.        (line 113)
* sigsuspend:                            Sigsuspend.          (line  11)
* sigvec:                                BSD Handler.         (line  43)
* sin:                                   Trig Functions.      (line  18)
* sincos:                                Trig Functions.      (line  54)
* sincosf:                               Trig Functions.      (line  55)
* sincosl:                               Trig Functions.      (line  56)
* sinf:                                  Trig Functions.      (line  19)
* sinh:                                  Hyperbolic Functions.
                                                              (line   9)
* sinhf:                                 Hyperbolic Functions.
                                                              (line  10)
* sinhl:                                 Hyperbolic Functions.
                                                              (line  11)
* sinl:                                  Trig Functions.      (line  20)
* sleep:                                 Sleeping.            (line  14)
* snprintf:                              Formatted Output Functions.
                                                              (line  94)
* socket:                                Creating a Socket.   (line   9)
* socketpair:                            Socket Pairs.        (line  13)
* sprintf:                               Formatted Output Functions.
                                                              (line  45)
* sqrt:                                  Exponents and Logarithms.
                                                              (line 148)
* sqrtf:                                 Exponents and Logarithms.
                                                              (line 149)
* sqrtl:                                 Exponents and Logarithms.
                                                              (line 150)
* srand:                                 ISO Random.          (line  26)
* srand48:                               SVID Random.         (line 104)
* srand48_r:                             SVID Random.         (line 297)
* srandom:                               BSD Random.          (line  24)
* srandom_r:                             BSD Random.          (line  98)
* sscanf:                                Formatted Input Functions.
                                                              (line  51)
* ssignal:                               Basic Signal Handling.
                                                              (line 142)
* stat:                                  Reading Attributes.  (line  11)
* stat64:                                Reading Attributes.  (line  35)
* stime:                                 Simple Calendar Time.
                                                              (line  43)
* stpcpy:                                Copying and Concatenation.
                                                              (line 307)
* stpncpy:                               Copying and Concatenation.
                                                              (line 357)
* strcasecmp:                            String/Array Comparison.
                                                              (line 123)
* strcasestr:                            Search Functions.    (line 205)
* strcat:                                Copying and Concatenation.
                                                              (line 468)
* strchr:                                Search Functions.    (line  67)
* strchrnul:                             Search Functions.    (line 107)
* strcmp:                                String/Array Comparison.
                                                              (line  85)
* strcoll:                               Collation Functions. (line  38)
* strcpy:                                Copying and Concatenation.
                                                              (line 193)
* strcspn:                               Search Functions.    (line 261)
* strdup:                                Copying and Concatenation.
                                                              (line 269)
* strdupa:                               Copying and Concatenation.
                                                              (line 411)
* strerror:                              Error Messages.      (line  14)
* strerror_r:                            Error Messages.      (line  31)
* strfmon:                               Formatting Numbers.  (line  15)
* strfry:                                strfry.              (line  15)
* strftime:                              Formatting Calendar Time.
                                                              (line  71)
* strlen:                                String Length.       (line   9)
* strncasecmp:                           String/Array Comparison.
                                                              (line 166)
* strncat:                               Copying and Concatenation.
                                                              (line 631)
* strncmp:                               String/Array Comparison.
                                                              (line 147)
* strncpy:                               Copying and Concatenation.
                                                              (line 213)
* strndup:                               Copying and Concatenation.
                                                              (line 291)
* strndupa:                              Copying and Concatenation.
                                                              (line 453)
* strnlen:                               String Length.       (line  84)
* strpbrk:                               Search Functions.    (line 293)
* strptime:                              Low-Level Time String Parsing.
                                                              (line  11)
* strrchr:                               Search Functions.    (line 146)
* strsep:                                Finding Tokens in a String.
                                                              (line 157)
* strsignal:                             Signal Messages.     (line  14)
* strspn:                                Search Functions.    (line 231)
* strstr:                                Search Functions.    (line 166)
* strtod:                                Parsing of Floats.   (line  13)
* strtof:                                Parsing of Floats.   (line  84)
* strtoimax:                             Parsing of Integers. (line 190)
* strtok:                                Finding Tokens in a String.
                                                              (line  11)
* strtok_r:                              Finding Tokens in a String.
                                                              (line 140)
* strtol:                                Parsing of Integers. (line  13)
* strtold:                               Parsing of Floats.   (line  85)
* strtoll:                               Parsing of Integers. (line 109)
* strtoq:                                Parsing of Integers. (line 136)
* strtoul:                               Parsing of Integers. (line  81)
* strtoull:                              Parsing of Integers. (line 153)
* strtoumax:                             Parsing of Integers. (line 217)
* strtouq:                               Parsing of Integers. (line 173)
* strverscmp:                            String/Array Comparison.
                                                              (line 207)
* strxfrm:                               Collation Functions. (line  83)
* stty:                                  BSD Terminal Modes.  (line  39)
* success:                               Actions in the NSS configuration.
                                                              (line  20)
* SUN_LEN:                               Local Namespace Details.
                                                              (line  46)
* swapcontext:                           System V contexts.   (line 153)
* swprintf:                              Formatted Output Functions.
                                                              (line  69)
* swscanf:                               Formatted Input Functions.
                                                              (line  64)
* symlink:                               Symbolic Links.      (line  46)
* sync:                                  Synchronizing I/O.   (line  15)
* syscall:                               System Calls.        (line  39)
* sysconf:                               Sysconf Definition.  (line   6)
* sysctl:                                System Parameters.   (line  12)
* syslog:                                syslog; vsyslog.     (line   9)
* system:                                Running a Command.   (line  11)
* sysv_signal:                           Basic Signal Handling.
                                                              (line 130)
* S_ISBLK:                               Testing File Type.   (line  39)
* S_ISCHR:                               Testing File Type.   (line  32)
* S_ISDIR:                               Testing File Type.   (line  26)
* S_ISFIFO:                              Testing File Type.   (line  52)
* S_ISLNK:                               Testing File Type.   (line  59)
* S_ISREG:                               Testing File Type.   (line  46)
* S_ISSOCK:                              Testing File Type.   (line  66)
* S_TYPEISMQ:                            Testing File Type.   (line 119)
* S_TYPEISSEM:                           Testing File Type.   (line 127)
* S_TYPEISSHM:                           Testing File Type.   (line 135)
* tan:                                   Trig Functions.      (line  36)
* tanf:                                  Trig Functions.      (line  37)
* tanh:                                  Hyperbolic Functions.
                                                              (line  31)
* tanhf:                                 Hyperbolic Functions.
                                                              (line  32)
* tanhl:                                 Hyperbolic Functions.
                                                              (line  33)
* tanl:                                  Trig Functions.      (line  38)
* tcdrain:                               Line Control.        (line  37)
* tcflow:                                Line Control.        (line 105)
* tcflush:                               Line Control.        (line  65)
* tcgetattr:                             Mode Functions.      (line   6)
* tcgetpgrp:                             Terminal Access Functions.
                                                              (line  14)
* tcgetsid:                              Terminal Access Functions.
                                                              (line  80)
* tcsendbreak:                           Line Control.        (line  14)
* tcsetattr:                             Mode Functions.      (line  24)
* tcsetpgrp:                             Terminal Access Functions.
                                                              (line  42)
* tdelete:                               Tree Search Function.
                                                              (line  70)
* tdestroy:                              Tree Search Function.
                                                              (line  84)
* telldir:                               Random Access Directory.
                                                              (line  22)
* tempnam:                               Temporary Files.     (line 105)
* TEMP_FAILURE_RETRY:                    Interrupted Primitives.
                                                              (line  20)
* textdomain:                            Locating gettext catalog.
                                                              (line  70)
* tfind:                                 Tree Search Function.
                                                              (line  56)
* tgamma:                                Special Functions.   (line  73)
* tgammaf:                               Special Functions.   (line  74)
* tgammal:                               Special Functions.   (line  75)
* time:                                  Simple Calendar Time.
                                                              (line  32)
* timegm:                                Broken-down Time.    (line 188)
* timelocal:                             Broken-down Time.    (line 177)
* times:                                 Processor Time.      (line  47)
* tmpfile:                               Temporary Files.     (line  19)
* tmpfile64:                             Temporary Files.     (line  35)
* tmpnam:                                Temporary Files.     (line  50)
* tmpnam_r:                              Temporary Files.     (line  75)
* toascii:                               Case Conversion.     (line  38)
* tolower:                               Case Conversion.     (line  23)
* toupper:                               Case Conversion.     (line  31)
* towctrans:                             Wide Character Case Conversion.
                                                              (line  36)
* towlower:                              Wide Character Case Conversion.
                                                              (line  50)
* towupper:                              Wide Character Case Conversion.
                                                              (line  64)
* trunc:                                 Rounding Functions.  (line  37)
* truncate:                              File Size.           (line  25)
* truncate64:                            File Size.           (line  65)
* truncf:                                Rounding Functions.  (line  38)
* truncl:                                Rounding Functions.  (line  39)
* tryagain:                              Actions in the NSS configuration.
                                                              (line  34)
* tsearch:                               Tree Search Function.
                                                              (line  26)
* ttyname:                               Is It a Terminal.    (line  24)
* ttyname_r:                             Is It a Terminal.    (line  35)
* twalk:                                 Tree Search Function.
                                                              (line 134)
* tzset:                                 Time Zone Functions. (line  31)
* ulimit:                                Limits on Resources. (line 188)
* umask:                                 Setting Permissions. (line  42)
* umount:                                Mount-Unmount-Remount.
                                                              (line 249)
* umount2:                               Mount-Unmount-Remount.
                                                              (line 193)
* uname:                                 Platform Type.       (line  68)
* unavail:                               Actions in the NSS configuration.
                                                              (line  28)
* ungetc:                                How Unread.          (line   9)
* ungetwc:                               How Unread.          (line  47)
* unlink:                                Deleting Files.      (line  12)
* unlockpt:                              Allocation.          (line  59)
* unsetenv:                              Environment Access.  (line  88)
* updwtmp:                               Manipulating the Database.
                                                              (line 305)
* utime:                                 File Times.          (line  49)
* utimes:                                File Times.          (line  98)
* utmpname:                              Manipulating the Database.
                                                              (line 279)
* utmpxname:                             XPG Functions.       (line 121)
* valloc:                                Aligned Memory Blocks.
                                                              (line  83)
* vasprintf:                             Variable Arguments Output.
                                                              (line 112)
* va_arg:                                Argument Macros.     (line  20)
* va_copy:                               Argument Macros.     (line  52)
* va_end:                                Argument Macros.     (line  33)
* va_start:                              Argument Macros.     (line  12)
* verr:                                  Error Messages.      (line 330)
* verrx:                                 Error Messages.      (line 348)
* versionsort:                           Scanning Directory Content.
                                                              (line  54)
* versionsort64:                         Scanning Directory Content.
                                                              (line 101)
* vfork:                                 Creating a Process.  (line  61)
* vfprintf:                              Variable Arguments Output.
                                                              (line  73)
* vfscanf:                               Variable Arguments Input.
                                                              (line  33)
* vfwprintf:                             Variable Arguments Output.
                                                              (line  81)
* vfwscanf:                              Variable Arguments Input.
                                                              (line  41)
* vlimit:                                Limits on Resources. (line 227)
* vprintf:                               Variable Arguments Output.
                                                              (line  57)
* vscanf:                                Variable Arguments Input.
                                                              (line  17)
* vsnprintf:                             Variable Arguments Output.
                                                              (line 104)
* vsprintf:                              Variable Arguments Output.
                                                              (line  89)
* vsscanf:                               Variable Arguments Input.
                                                              (line  49)
* vswprintf:                             Variable Arguments Output.
                                                              (line  96)
* vswscanf:                              Variable Arguments Input.
                                                              (line  57)
* vsyslog:                               syslog; vsyslog.     (line 125)
* vtimes:                                Resource Usage.      (line 107)
* vwarn:                                 Error Messages.      (line 295)
* vwarnx:                                Error Messages.      (line 313)
* vwprintf:                              Variable Arguments Output.
                                                              (line  65)
* vwscanf:                               Variable Arguments Input.
                                                              (line  25)
* wait:                                  Process Completion.  (line 106)
* wait3:                                 BSD Wait Functions.  (line  42)
* wait4:                                 Process Completion.  (line 126)
* waitpid:                               Process Completion.  (line  10)
* warn:                                  Error Messages.      (line 286)
* warnx:                                 Error Messages.      (line 303)
* WCOREDUMP:                             Process Completion Status.
                                                              (line  42)
* wcpcpy:                                Copying and Concatenation.
                                                              (line 341)
* wcpncpy:                               Copying and Concatenation.
                                                              (line 383)
* wcrtomb:                               Converting a Character.
                                                              (line 255)
* wcscasecmp:                            String/Array Comparison.
                                                              (line 135)
* wcscat:                                Copying and Concatenation.
                                                              (line 489)
* wcschr:                                Search Functions.    (line  92)
* wcschrnul:                             Search Functions.    (line 117)
* wcscmp:                                String/Array Comparison.
                                                              (line 104)
* wcscoll:                               Collation Functions. (line  46)
* wcscpy:                                Copying and Concatenation.
                                                              (line 203)
* wcscspn:                               Search Functions.    (line 281)
* wcsdup:                                Copying and Concatenation.
                                                              (line 279)
* wcsftime:                              Formatting Calendar Time.
                                                              (line 413)
* wcslen:                                String Length.       (line  69)
* wcsncasecmp:                           String/Array Comparison.
                                                              (line 176)
* wcsncat:                               Copying and Concatenation.
                                                              (line 654)
* wcsncmp:                               String/Array Comparison.
                                                              (line 156)
* wcsncpy:                               Copying and Concatenation.
                                                              (line 241)
* wcsnlen:                               String Length.       (line 102)
* wcsnrtombs:                            Converting Strings.  (line 194)
* wcspbrk:                               Search Functions.    (line 314)
* wcsrchr:                               Search Functions.    (line 158)
* wcsrtombs:                             Converting Strings.  (line  94)
* wcsspn:                                Search Functions.    (line 250)
* wcsstr:                                Search Functions.    (line 182)
* wcstod:                                Parsing of Floats.   (line  98)
* wcstof:                                Parsing of Floats.   (line 100)
* wcstoimax:                             Parsing of Integers. (line 207)
* wcstok:                                Finding Tokens in a String.
                                                              (line  54)
* wcstol:                                Parsing of Integers. (line  71)
* wcstold:                               Parsing of Floats.   (line 101)
* wcstoll:                               Parsing of Integers. (line 126)
* wcstombs:                              Non-reentrant String Conversion.
                                                              (line  51)
* wcstoq:                                Parsing of Integers. (line 143)
* wcstoul:                               Parsing of Integers. (line  99)
* wcstoull:                              Parsing of Integers. (line 163)
* wcstoumax:                             Parsing of Integers. (line 228)
* wcstouq:                               Parsing of Integers. (line 180)
* wcswcs:                                Search Functions.    (line 194)
* wcsxfrm:                               Collation Functions. (line 114)
* wctob:                                 Converting a Character.
                                                              (line  67)
* wctomb:                                Non-reentrant Character Conversion.
                                                              (line  40)
* wctrans:                               Wide Character Case Conversion.
                                                              (line  19)
* wctype:                                Classification of Wide Characters.
                                                              (line  37)
* WEXITSTATUS:                           Process Completion Status.
                                                              (line  19)
* WIFEXITED:                             Process Completion Status.
                                                              (line  12)
* WIFSIGNALED:                           Process Completion Status.
                                                              (line  27)
* WIFSTOPPED:                            Process Completion Status.
                                                              (line  49)
* wmemchr:                               Search Functions.    (line  19)
* wmemcmp:                               String/Array Comparison.
                                                              (line  36)
* wmemcpy:                               Copying and Concatenation.
                                                              (line  52)
* wmemmove:                              Copying and Concatenation.
                                                              (line 141)
* wmempcpy:                              Copying and Concatenation.
                                                              (line 102)
* wmemset:                               Copying and Concatenation.
                                                              (line 184)
* wordexp:                               Calling Wordexp.     (line  39)
* wordfree:                              Calling Wordexp.     (line  92)
* wprintf:                               Formatted Output Functions.
                                                              (line  22)
* write:                                 I/O Primitives.      (line 164)
* writev:                                Scatter-Gather.      (line  47)
* wscanf:                                Formatted Input Functions.
                                                              (line  23)
* WSTOPSIG:                              Process Completion Status.
                                                              (line  55)
* WTERMSIG:                              Process Completion Status.
                                                              (line  35)
* y0:                                    Special Functions.   (line 112)
* y0f:                                   Special Functions.   (line 113)
* y0l:                                   Special Functions.   (line 114)
* y1:                                    Special Functions.   (line 123)
* y1f:                                   Special Functions.   (line 124)
* y1l:                                   Special Functions.   (line 125)
* yn:                                    Special Functions.   (line 134)
* ynf:                                   Special Functions.   (line 135)
* ynl:                                   Special Functions.   (line 136)

