Files
carbon 0545e9dc6d init version 2024-05-07
commit d1edce71135cc6d98c0a4b5729774542b676e769
Author: sophgo-forum-service <forum_service@sophgo.com>
Date:   Fri Mar 15 16:07:33 2024 +0800

    [fix] recommend using ssh method to clone repo.
    [fix] fix sensor driver repo branch name.
2024-05-07 19:36:36 +08:00

5810 lines
292 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.23.
Copyright © 19932016 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 FSFs 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_OFD_GETLK: (libc)Open File Description Locks.
* F_OFD_SETLK: (libc)Open File Description Locks.
* F_OFD_SETLKW: (libc)Open File Description Locks.
* 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.
* 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_high: (libc)PowerPC.
* __ppc_set_ppr_med_low: (libc)PowerPC.
* __ppc_set_ppr_very_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 Strings and Arrays.
* 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 Strings and Arrays.
* 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_remove: (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 Strings and Arrays.
* memchr: (libc)Search Functions.
* memcmp: (libc)String/Array Comparison.
* memcpy: (libc)Copying Strings and Arrays.
* memfrob: (libc)Trivial Encryption.
* memmem: (libc)Search Functions.
* memmove: (libc)Copying Strings and Arrays.
* mempcpy: (libc)Copying Strings and Arrays.
* memrchr: (libc)Search Functions.
* memset: (libc)Copying Strings and Arrays.
* 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_fallocate64: (libc)Storage Allocation.
* posix_fallocate: (libc)Storage Allocation.
* 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.
* sem_close: (libc)Semaphores.
* sem_destroy: (libc)Semaphores.
* sem_getvalue: (libc)Semaphores.
* sem_init: (libc)Semaphores.
* sem_open: (libc)Semaphores.
* sem_post: (libc)Semaphores.
* sem_timedwait: (libc)Semaphores.
* sem_trywait: (libc)Semaphores.
* sem_unlink: (libc)Semaphores.
* sem_wait: (libc)Semaphores.
* semctl: (libc)Semaphores.
* semget: (libc)Semaphores.
* semop: (libc)Semaphores.
* semtimedop: (libc)Semaphores.
* 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)BSD Signal Handling.
* sigdelset: (libc)Signal Sets.
* sigemptyset: (libc)Signal Sets.
* sigfillset: (libc)Signal Sets.
* siginterrupt: (libc)BSD Signal Handling.
* sigismember: (libc)Signal Sets.
* siglongjmp: (libc)Non-Local Exits and Signals.
* sigmask: (libc)BSD Signal Handling.
* signal: (libc)Basic Signal Handling.
* signbit: (libc)FP Bit Twiddling.
* significand: (libc)Normalization Functions.
* significandf: (libc)Normalization Functions.
* significandl: (libc)Normalization Functions.
* sigpause: (libc)BSD Signal Handling.
* sigpending: (libc)Checking for Pending Signals.
* sigprocmask: (libc)Process Signal Mask.
* sigsetjmp: (libc)Non-Local Exits and Signals.
* sigsetmask: (libc)BSD Signal Handling.
* sigstack: (libc)Signal Stack.
* sigsuspend: (libc)Sigsuspend.
* 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 Strings and Arrays.
* stpncpy: (libc)Truncating Strings.
* strcasecmp: (libc)String/Array Comparison.
* strcasestr: (libc)Search Functions.
* strcat: (libc)Concatenating Strings.
* strchr: (libc)Search Functions.
* strchrnul: (libc)Search Functions.
* strcmp: (libc)String/Array Comparison.
* strcoll: (libc)Collation Functions.
* strcpy: (libc)Copying Strings and Arrays.
* strcspn: (libc)Search Functions.
* strdup: (libc)Copying Strings and Arrays.
* strdupa: (libc)Copying Strings and Arrays.
* 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)Truncating Strings.
* strncmp: (libc)String/Array Comparison.
* strncpy: (libc)Truncating Strings.
* strndup: (libc)Truncating Strings.
* strndupa: (libc)Truncating Strings.
* 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 Strings and Arrays.
* wcpncpy: (libc)Truncating Strings.
* wcrtomb: (libc)Converting a Character.
* wcscasecmp: (libc)String/Array Comparison.
* wcscat: (libc)Concatenating Strings.
* wcschr: (libc)Search Functions.
* wcschrnul: (libc)Search Functions.
* wcscmp: (libc)String/Array Comparison.
* wcscoll: (libc)Collation Functions.
* wcscpy: (libc)Copying Strings and Arrays.
* wcscspn: (libc)Search Functions.
* wcsdup: (libc)Copying Strings and Arrays.
* wcsftime: (libc)Formatting Calendar Time.
* wcslen: (libc)String Length.
* wcsncasecmp: (libc)String/Array Comparison.
* wcsncat: (libc)Truncating Strings.
* wcsncmp: (libc)String/Array Comparison.
* wcsncpy: (libc)Truncating Strings.
* 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 Strings and Arrays.
* wmemmove: (libc)Copying Strings and Arrays.
* wmempcpy: (libc)Copying Strings and Arrays.
* wmemset: (libc)Copying Strings and Arrays.
* 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: Installation, Next: Maintenance, Prev: Library Summary, Up: Top
Appendix C Installing the GNU C Library
***************************************
Before you do anything else, you should read the FAQ at
<http://sourceware.org/glibc/wiki/FAQ>. It answers common questions and
describes problems you may experience with compilation and installation.
Features can be added to the GNU C Library via "add-on" bundles.
These are separate tar files, which you unpack into the top level of the
source tree. Then you give configure the --enable-add-ons option to
activate them, and they will be compiled into the library.
You will need recent versions of several GNU tools: definitely GCC
and GNU Make, and possibly others. *Note Tools for Compilation::,
below.
* Menu:
* Configuring and compiling:: How to compile and test GNU libc.
* Running make install:: How to install it once youve got it
compiled.
* Tools for Compilation:: Youll need these first.
* Linux:: Specific advice for GNU/Linux systems.
* Reporting Bugs:: So theyll get fixed.

File: libc.info, Node: Configuring and compiling, Next: Running make install, Up: Installation
C.1 Configuring and compiling the GNU C Library
===============================================
The GNU C Library cannot be compiled in the source directory. You must
build it in a separate build directory. For example, if you have
unpacked the GNU C Library sources in /src/gnu/glibc-VERSION, create a
directory /src/gnu/glibc-build to put the object files in. This
allows removing the whole build directory in case an error occurs, which
is the safest way to get a fresh start and should always be done.
From your object directory, run the shell script configure located
at the top level of the source tree. In the scenario above, youd type
$ ../glibc-VERSION/configure ARGS…
Please note that even though youre building in a separate build
directory, the compilation may need to create or modify files and
directories in the source directory.
configure takes many options, but the only one that is usually
mandatory is --prefix. This option tells configure where you want
the GNU C Library installed. This defaults to /usr/local, but the
normal setting to install as the standard system library is
--prefix=/usr for GNU/Linux systems and --prefix= (an empty prefix)
for GNU/Hurd systems.
It may also be useful to set the CC and CFLAGS variables in the
environment when running configure. CC selects the C compiler that
will be used, and CFLAGS sets optimization options for the compiler.
The following list describes all of the available options for
configure:
--prefix=DIRECTORY
Install machine-independent data files in subdirectories of
DIRECTORY. The default is to install in /usr/local.
--exec-prefix=DIRECTORY
Install the library and other machine-dependent files in
subdirectories of DIRECTORY. The default is to the --prefix
directory if that option is specified, or /usr/local otherwise.
--with-headers=DIRECTORY
Look for kernel header files in DIRECTORY, not /usr/include. The
GNU C Library needs information from the kernels header files
describing the interface to the kernel. The GNU C Library will
normally look in /usr/include for them, but if you specify this
option, it will look in DIRECTORY instead.
This option is primarily of use on a system where the headers in
/usr/include come from an older version of the GNU C Library.
Conflicts can occasionally happen in this case. You can also use
this option if you want to compile the GNU C Library with a newer
set of kernel headers than the ones found in /usr/include.
--enable-add-ons[=LIST]
Specify add-on packages to include in the build. If this option is
specified with no list, it enables all the add-on packages it finds
in the main source directory; this is the default behavior. You
may specify an explicit list of add-ons to use in LIST, separated
by spaces or commas (if you use spaces, remember to quote them from
the shell). Each add-on in LIST can be an absolute directory name
or can be a directory name relative to the main source directory,
or relative to the build directory (that is, the current working
directory). For example,
--enable-add-ons=nptl,../glibc-libidn-VERSION.
--enable-kernel=VERSION
This option is currently only useful on GNU/Linux systems. The
VERSION parameter should have the form X.Y.Z and describes the
smallest version of the Linux kernel the generated library is
expected to support. The higher the VERSION number is, the less
compatibility code is added, and the faster the code gets.
--with-binutils=DIRECTORY
Use the binutils (assembler and linker) in DIRECTORY, not the
ones the C compiler would default to. You can use this option if
the default binutils on your system cannot deal with all the
constructs in the GNU C Library. In that case, configure will
detect the problem and suppress these constructs, so that the
library will still be usable, but functionality may be lost—for
example, you cant build a shared libc with old binutils.
--without-fp
Use this option if your computer lacks hardware floating-point
support and your operating system does not emulate an FPU.
--disable-shared
Dont build shared libraries even if it is possible. Not all
systems support shared libraries; you need ELF support and
(currently) the GNU linker.
--disable-profile
Dont build libraries with profiling information. You may want to
use this option if you dont plan to do profiling.
--enable-static-nss
Compile static versions of the NSS (Name Service Switch) libraries.
This is not recommended because it defeats the purpose of NSS; a
program linked statically with the NSS libraries cannot be
dynamically reconfigured to use a different name database.
--without-tls
By default the C library is built with support for thread-local
storage if the used tools support it. By using --without-tls
this can be prevented though there generally is no reason since it
creates compatibility problems.
--enable-hardcoded-path-in-tests
By default, dynamic tests are linked to run with the installed C
library. This option hardcodes the newly built C library path in
dynamic tests so that they can be invoked directly.
--disable-timezone-tools
By default, timezone related utilities (zic, zdump, and
tzselect) are installed with the GNU C Library. If you are
building these independently (e.g. by using the tzcode package),
then this option will allow disabling the install of these.
Note that you need to make sure the external tools are kept in sync
with the versions that the GNU C Library expects as the data
formats may change over time. Consult the timezone subdirectory
for more details.
--enable-lock-elision=yes
Enable lock elision for pthread mutexes by default.
--enable-pt_chown
The file pt_chown is a helper binary for grantpt (*note
Pseudo-Terminals: Allocation.) that is installed setuid root to fix
up pseudo-terminal ownership. It is not built by default because
systems using the Linux kernel are commonly built with the devpts
filesystem enabled and mounted at /dev/pts, which manages
pseudo-terminal ownership automatically. By using
--enable-pt_chown, you may build pt_chown and install it setuid
and owned by root. The use of pt_chown introduces additional
security risks to the system and you should enable it only if you
understand and accept those risks.
--disable-werror
By default, the GNU C Library is built with -Werror. If you wish
to build without this option (for example, if building with a newer
version of GCC than this version of the GNU C Library was tested
with, so new warnings cause the build with -Werror to fail), you
can configure with --disable-werror.
--disable-mathvec
By default for x86_64, the GNU C Library is built with vector math
library. Use this option to disable vector math library.
--build=BUILD-SYSTEM
--host=HOST-SYSTEM
These options are for cross-compiling. If you specify both options
and BUILD-SYSTEM is different from HOST-SYSTEM, configure will
prepare to cross-compile the GNU C Library from BUILD-SYSTEM to be
used on HOST-SYSTEM. Youll probably need the --with-headers
option too, and you may have to override CONFIGUREs selection of
the compiler and/or binutils.
If you only specify --host, configure will prepare for a native
compile but use what you specify instead of guessing what your
system is. This is most useful to change the CPU submodel. For
example, if configure guesses your machine as i686-pc-linux-gnu
but you want to compile a library for 586es, give
--host=i586-pc-linux-gnu or just --host=i586-linux and add the
appropriate compiler flags (-mcpu=i586 will do the trick) to
CFLAGS.
If you specify just --build, configure will get confused.
--with-pkgversion=VERSION
Specify a description, possibly including a build number or build
date, of the binaries being built, to be included in --version
output from programs installed with the GNU C Library. For
example, --with-pkgversion='FooBar GNU/Linux glibc build 123'.
The default value is GNU libc.
--with-bugurl=URL
Specify the URL that users should visit if they wish to report a
bug, to be included in --help output from programs installed with
the GNU C Library. The default value refers to the main
bug-reporting information for the GNU C Library.
To build the library and related programs, type make. This will
produce a lot of output, some of which may look like errors from make
but isnt. Look for error messages from make containing ***. Those
indicate that something is seriously wrong.
The compilation process can take a long time, depending on the
configuration and the speed of your machine. Some complex modules may
take a very long time to compile, as much as several minutes on slower
machines. Do not panic if the compiler appears to hang.
If you want to run a parallel make, simply pass the -j option with
an appropriate numeric parameter to make. You need a recent GNU
make version, though.
To build and run test programs which exercise some of the library
facilities, type make check. If it does not complete successfully, do
not use the built library, and report a bug after verifying that the
problem is not already known. *Note Reporting Bugs::, for instructions
on reporting bugs. Note that some of the tests assume they are not
being run by root. We recommend you compile and test the GNU C
Library as an unprivileged user.
Before reporting bugs make sure there is no problem with your system.
The tests (and later installation) use some pre-existing files of the
system such as /etc/passwd, /etc/nsswitch.conf and others. These
files must all contain correct and sensible content.
Normally, make check will run all the tests before reporting all
problems found and exiting with error status if any problems occurred.
You can specify stop-on-test-failure=y when running make check to
make the test run stop and exit with an error status immediately when a
failure occurs.
To format the GNU C Library Reference Manual for printing, type
make dvi. You need a working TeX installation to do this. The
distribution builds the on-line formatted version of the manual, as Info
files, as part of the build process. You can build them manually with
make info.
The library has a number of special-purpose configuration parameters
which you can find in Makeconfig. These can be overwritten with the
file configparms. To change them, create a configparms in your
build directory and add values as appropriate for your system. The file
is included and parsed by make and has to follow the conventions for
makefiles.
It is easy to configure the GNU C Library for cross-compilation by
setting a few variables in configparms. Set CC to the
cross-compiler for the target you configured the library for; it is
important to use this same CC value when running configure, like
this: CC=TARGET-gcc configure TARGET. Set BUILD_CC to the compiler
to use for programs run on the build system as part of compiling the
library. You may need to set AR to cross-compiling versions of ar
if the native tools are not configured to work with object files for the
target you configured for. When cross-compiling the GNU C Library, it
may be tested using make check
test-wrapper="SRCDIR/scripts/cross-test-ssh.sh HOSTNAME", where SRCDIR
is the absolute directory name for the main source directory and
HOSTNAME is the host name of a system that can run the newly built
binaries of the GNU C Library. The source and build directories must be
visible at the same locations on both the build system and HOSTNAME.
In general, when testing the GNU C Library, test-wrapper may be set
to the name and arguments of any program to run newly built binaries.
This program must preserve the arguments to the binary being run, its
working directory and the standard input, output and error file
descriptors. If TEST-WRAPPER env will not work to run a program with
environment variables set, then test-wrapper-env must be set to a
program that runs a newly built program with environment variable
assignments in effect, those assignments being specified as VAR=VALUE
before the name of the program to be run. If multiple assignments to
the same variable are specified, the last assignment specified must take
precedence. Similarly, if TEST-WRAPPER env -i will not work to run a
program with an environment completely empty of variables except those
directly assigned, then test-wrapper-env-only must be set; its use has
the same syntax as test-wrapper-env, the only difference in its
semantics being starting with an empty set of environment variables
rather than the ambient set.

File: libc.info, Node: Running make install, Next: Tools for Compilation, Prev: Configuring and compiling, Up: Installation
C.2 Installing the C Library
============================
To install the library and its header files, and the Info files of the
manual, type make install. This will build things, if necessary,
before installing them; however, you should still compile everything
first. If you are installing the GNU C Library as your primary C
library, we recommend that you shut the system down to single-user mode
first, and reboot afterward. This minimizes the risk of breaking things
when the library changes out from underneath.
make install will do the entire job of upgrading from a previous
installation of the GNU C Library version 2.x. There may sometimes be
headers left behind from the previous installation, but those are
generally harmless. If you want to avoid leaving headers behind you can
do things in the following order.
You must first build the library (make), optionally check it (make
check), switch the include directories and then install (make
install). The steps must be done in this order. Not moving the
directory before install will result in an unusable mixture of header
files from both libraries, but configuring, building, and checking the
library requires the ability to compile and run programs against the old
library. The new /usr/include, after switching the include
directories and before installing the library should contain the Linux
headers, but nothing else. If you do this, you will need to restore any
headers from libraries other than the GNU C Library yourself after
installing the library.
You can install the GNU C Library somewhere other than where you
configured it to go by setting the DESTDIR GNU standard make variable
on the command line for make install. The value of this variable is
prepended to all the paths for installation. This is useful when
setting up a chroot environment or preparing a binary distribution. The
directory should be specified with an absolute file name. Installing
with the prefix and exec_prefix GNU standard make variables set is
not supported.
The GNU C Library includes a daemon called nscd, which you may or
may not want to run. nscd caches name service lookups; it can
dramatically improve performance with NIS+, and may help with DNS as
well.
One auxiliary program, /usr/libexec/pt_chown, is installed setuid
root if the --enable-pt_chown configuration option is used. This
program is invoked by the grantpt function; it sets the permissions on
a pseudoterminal so it can be used by the calling process. If you are
using a Linux kernel with the devpts filesystem enabled and mounted at
/dev/pts, you dont need this program.
After installation you might want to configure the timezone and
locale installation of your system. The GNU C Library comes with a
locale database which gets configured with localedef. For example, to
set up a German locale with name de_DE, simply issue the command
localedef -i de_DE -f ISO-8859-1 de_DE. To configure all locales that
are supported by the GNU C Library, you can issue from your build
directory the command make localedata/install-locales.
To configure the locally used timezone, set the TZ environment
variable. The script tzselect helps you to select the right value.
As an example, for Germany, tzselect would tell you to use
TZ='Europe/Berlin'. For a system wide installation (the given paths
are for an installation with --prefix=/usr), link the timezone file
which is in /usr/share/zoneinfo to the file /etc/localtime. For
Germany, you might execute ln -s /usr/share/zoneinfo/Europe/Berlin
/etc/localtime.

File: libc.info, Node: Tools for Compilation, Next: Linux, Prev: Running make install, Up: Installation
C.3 Recommended Tools for Compilation
=====================================
We recommend installing the following GNU tools before attempting to
build the GNU C Library:
• GNU make 3.79 or newer
You need the latest version of GNU make. Modifying the GNU C
Library to work with other make programs would be so difficult
that we recommend you port GNU make instead. *Really.* We
recommend GNU make version 3.79. All earlier versions have
severe bugs or lack features.
• GCC 4.7 or newer
GCC 4.7 or higher is required. In general it is recommended to use
the newest version of the compiler that is known to work for
building the GNU C Library, as newer compilers usually produce
better code. As of release time, GCC 5.3 is the newest compiler
verified to work to build the GNU C Library.
You can use whatever compiler you like to compile programs that use
the GNU C Library.
Check the FAQ for any special compiler issues on particular
platforms.
• GNU binutils 2.22 or later
You must use GNU binutils (as and ld) to build the GNU C Library.
No other assembler or linker has the necessary functionality at the
moment. As of release time, GNU binutils 2.25 is the newest
verified to work to build the GNU C Library.
• GNU texinfo 4.7 or later
To correctly translate and install the Texinfo documentation you
need this version of the texinfo package. Earlier versions do
not understand all the tags used in the document, and the
installation mechanism for the info files is not present or works
differently. As of release time, texinfo 6.0 is the newest
verified to work to build the GNU C Library.
• GNU awk 3.1.2, or higher
awk is used in several places to generate files. Some gawk
extensions are used, including the asorti function, which was
introduced in version 3.1.2 of gawk. As of release time, gawk
version 4.1.3 is the newest verified to work to build the GNU C
Library.
• Perl 5
Perl is not required, but it is used if present to test the
installation. We may decide to use it elsewhere in the future.
• GNU sed 3.02 or newer
Sed is used in several places to generate files. Most scripts
work with any version of sed. As of release time, sed version
4.2.2 is the newest verified to work to build the GNU C Library.
If you change any of the configure.ac files you will also need
• GNU autoconf 2.69 (exactly)
and if you change any of the message translation files you will need
• GNU gettext 0.10.36 or later
If you wish to regenerate the yacc parser code in the intl
subdirectory you will need
• GNU bison 2.7 or later
You may also need these packages if you upgrade your source tree using
patches, although we try to avoid this.

File: libc.info, Node: Linux, Next: Reporting Bugs, Prev: Tools for Compilation, Up: Installation
C.4 Specific advice for GNU/Linux systems
=========================================
If you are installing the GNU C Library on GNU/Linux systems, you need
to have the header files from a 2.6.32 or newer kernel around for
reference. These headers must be installed using make
headers_install; the headers present in the kernel source directory are
not suitable for direct use by the GNU C Library. You do not need to
use that kernel, just have its headers installed where the GNU C Library
can access them, referred to here as INSTALL-DIRECTORY. The easiest way
to do this is to unpack it in a directory such as
/usr/src/linux-VERSION. In that directory, run make headers_install
INSTALL_HDR_PATH=INSTALL-DIRECTORY. Finally, configure the GNU C
Library with the option --with-headers=INSTALL-DIRECTORY/include. Use
the most recent kernel you can get your hands on. (If you are
cross-compiling the GNU C Library, you need to specify
ARCH=ARCHITECTURE in the make headers_install command, where
ARCHITECTURE is the architecture name used by the Linux kernel, such as
x86 or powerpc.)
After installing the GNU C Library, you may need to remove or rename
directories such as /usr/include/linux and /usr/include/asm, and
replace them with copies of directories such as linux and asm from
INSTALL-DIRECTORY/include. All directories present in
INSTALL-DIRECTORY/include should be copied, except that the GNU C
Library provides its own version of /usr/include/scsi; the files
provided by the kernel should be copied without replacing those provided
by the GNU C Library. The linux, asm and asm-generic directories
are required to compile programs using the GNU C Library; the other
directories describe interfaces to the kernel but are not required if
not compiling programs using those interfaces. You do not need to copy
kernel headers if you did not specify an alternate kernel header source
using --with-headers.
The Filesystem Hierarchy Standard for GNU/Linux systems expects some
components of the GNU C Library installation to be in /lib and some in
/usr/lib. This is handled automatically if you configure the GNU C
Library with --prefix=/usr. If you set some other prefix or allow it
to default to /usr/local, then all the components are installed there.

File: libc.info, Node: Reporting Bugs, Prev: Linux, Up: Installation
C.5 Reporting Bugs
==================
There are probably bugs in the GNU C Library. There are certainly
errors and omissions in this manual. If you report them, they will get
fixed. If you dont, no one will ever know about them and they will
remain unfixed for all eternity, if not longer.
It is a good idea to verify that the problem has not already been
reported. Bugs are documented in two places: The file BUGS describes
a number of well known bugs and the central GNU C Library bug tracking
system has a WWW interface at <http://sourceware.org/bugzilla/>. The
WWW interface gives you access to open and closed reports. A closed
report normally includes a patch or a hint on solving the problem.
To report a bug, first you must find it. With any luck, this will be
the hard part. Once youve found a bug, make sure its really a bug. A
good way to do this is to see if the GNU C Library behaves the same way
some other C library does. If so, probably you are wrong and the
libraries are right (but not necessarily). If not, one of the libraries
is probably wrong. It might not be the GNU C Library. Many historical
Unix C libraries permit things that we dont, such as closing a file
twice.
If you think you have found some way in which the GNU C Library does
not conform to the ISO and POSIX standards (*note Standards and
Portability::), that is definitely a bug. Report it!
Once youre sure youve found a bug, try to narrow it down to the
smallest test case that reproduces the problem. In the case of a C
library, you really only need to narrow it down to one library function
call, if possible. This should not be too difficult.
The final step when you have a simple test case is to report the bug.
Do this at <http://www.gnu.org/software/libc/bugs.html>.
If you are not sure how a function should behave, and this manual
doesnt tell you, thats a bug in the manual. Report that too! If the
functions behavior disagrees with the manual, then either the library
or the manual has a bug, so report the disagreement. If you find any
errors or omissions in this manual, please report them to the bug
database. If you refer to specific sections of the manual, please
include the section names for easier identification.

File: libc.info, Node: Maintenance, Next: Platform, Prev: Installation, Up: Top
Appendix D Library Maintenance
******************************
* Menu:
* Source Layout:: How to add new functions or header files
to the GNU C Library.
* Porting:: How to port the GNU C Library to
a new machine or operating system.

File: libc.info, Node: Source Layout, Next: Porting, Up: Maintenance
D.1 Adding New Functions
========================
The process of building the library is driven by the makefiles, which
make heavy use of special features of GNU make. The makefiles are
very complex, and you probably dont want to try to understand them.
But what they do is fairly straightforward, and only requires that you
define a few variables in the right places.
The library sources are divided into subdirectories, grouped by
topic.
The string subdirectory has all the string-manipulation functions,
math has all the mathematical functions, etc.
Each subdirectory contains a simple makefile, called Makefile,
which defines a few make variables and then includes the global
makefile Rules with a line like:
include ../Rules
The basic variables that a subdirectory makefile defines are:
subdir
The name of the subdirectory, for example stdio. This variable
*must* be defined.
headers
The names of the header files in this section of the library, such
as stdio.h.
routines
aux
The names of the modules (source files) in this section of the
library. These should be simple names, such as strlen (rather
than complete file names, such as strlen.c). Use routines for
modules that define functions in the library, and aux for
auxiliary modules containing things like data definitions. But the
values of routines and aux are just concatenated, so there
really is no practical difference.
tests
The names of test programs for this section of the library. These
should be simple names, such as tester (rather than complete file
names, such as tester.c). make tests will build and run all
the test programs. If a test program needs input, put the test
data in a file called TEST-PROGRAM.input; it will be given to the
test program on its standard input. If a test program wants to be
run with arguments, put the arguments (all on a single line) in a
file called TEST-PROGRAM.args. Test programs should exit with
zero status when the test passes, and nonzero status when the test
indicates a bug in the library or error in building.
others
The names of “other” programs associated with this section of the
library. These are programs which are not tests per se, but are
other small programs included with the library. They are built by
make others.
install-lib
install-data
install
Files to be installed by make install. Files listed in
install-lib are installed in the directory specified by libdir
in configparms or Makeconfig (*note Installation::). Files
listed in install-data are installed in the directory specified
by datadir in configparms or Makeconfig. Files listed in
install are installed in the directory specified by bindir in
configparms or Makeconfig.
distribute
Other files from this subdirectory which should be put into a
distribution tar file. You need not list here the makefile itself
or the source and header files listed in the other standard
variables. Only define distribute if there are files used in an
unusual way that should go into the distribution.
generated
Files which are generated by Makefile in this subdirectory.
These files will be removed by make clean, and they will never go
into a distribution.
extra-objs
Extra object files which are built by Makefile in this
subdirectory. This should be a list of file names like foo.o;
the files will actually be found in whatever directory object files
are being built in. These files will be removed by make clean.
This variable is used for secondary object files needed to build
others or tests.
* Menu:
* Platform: Adding Platform-specific. Adding platform-specific
features.

File: libc.info, Node: Adding Platform-specific, Up: Source Layout
D.1.1 Platform-specific types, macros and functions
---------------------------------------------------
Its sometimes necessary to provide nonstandard, platform-specific
features to developers. The C library is traditionally the lowest
library layer, so it makes sense for it to provide these low-level
features. However, including these features in the C library may be a
disadvantage if another package provides them as well as there will be
two conflicting versions of them. Also, the features wont be available
to projects that do not use the GNU C Library but use other GNU tools,
like GCC.
The current guidelines are:
• If the header file provides features that only make sense on a
particular machine architecture and have nothing to do with an
operating system, then the features should ultimately be provided
as GCC built-in functions. Until then, the GNU C Library may
provide them in the header file. When the GCC built-in functions
become available, those provided in the header file should be made
conditionally available prior to the GCC version in which the
built-in function was made available.
• If the header file provides features that are specific to an
operating system, both GCC and the GNU C Library could provide it,
but the GNU C Library is preferred as it already has a lot of
information about the operating system.
• If the header file provides features that are specific to an
operating system but used by the GNU C Library, then the GNU C
Library should provide them.
The general solution for providing low-level features is to export
them as follows:
• A nonstandard, low-level header file that defines macros and inline
functions should be called sys/platform/NAME.h.
• Each header files name should include the platform name, to avoid
users thinking there is anything in common between different the
header files for different platforms. For example, a
sys/platform/ARCH.h name such as sys/platform/ppc.h is better
than sys/platform.h.
• A platform-specific header file provided by the GNU C Library
should coordinate with GCC such that compiler built-in versions of
the functions and macros are preferred if available. This means
that user programs will only ever need to include
sys/platform/ARCH.h, keeping the same names of types, macros, and
functions for convenience and portability.
• Each included symbol must have the prefix __ARCH_, such as
__ppc_get_timebase.
The easiest way to provide a header file is to add it to the
sysdep_headers variable. For example, the combination of
Linux-specific header files on PowerPC could be provided like this:
sysdep_headers += sys/platform/ppc.h
Then ensure that you have added a sys/platform/ppc.h header file in
the machine-specific directory, e.g.,
sysdeps/powerpc/sys/platform/ppc.h.

File: libc.info, Node: Porting, Prev: Source Layout, Up: Maintenance
D.2 Porting the GNU C Library
=============================
The GNU C Library is written to be easily portable to a variety of
machines and operating systems. Machine- and operating system-dependent
functions are well separated to make it easy to add implementations for
new machines or operating systems. This section describes the layout of
the library source tree and explains the mechanisms used to select
machine-dependent code to use.
All the machine-dependent and operating system-dependent files in the
library are in the subdirectory sysdeps under the top-level library
source directory. This directory contains a hierarchy of subdirectories
(*note Hierarchy Conventions::).
Each subdirectory of sysdeps contains source files for a particular
machine or operating system, or for a class of machine or operating
system (for example, systems by a particular vendor, or all machines
that use IEEE 754 floating-point format). A configuration specifies an
ordered list of these subdirectories. Each subdirectory implicitly
appends its parent directory to the list. For example, specifying the
list unix/bsd/vax is equivalent to specifying the list unix/bsd/vax
unix/bsd unix. A subdirectory can also specify that it implies other
subdirectories which are not directly above it in the directory
hierarchy. If the file Implies exists in a subdirectory, it lists
other subdirectories of sysdeps which are appended to the list,
appearing after the subdirectory containing the Implies file. Lines
in an Implies file that begin with a # character are ignored as
comments. For example, unix/bsd/Implies contains:
# BSD has Internet-related things.
unix/inet
and unix/Implies contains:
posix
So the final list is unix/bsd/vax unix/bsd unix/inet unix posix.
sysdeps has a “special” subdirectory called generic. It is
always implicitly appended to the list of subdirectories, so you neednt
put it in an Implies file, and you should not create any
subdirectories under it intended to be new specific categories.
generic serves two purposes. First, the makefiles do not bother to
look for a system-dependent version of a file thats not in generic.
This means that any system-dependent source file must have an analogue
in generic, even if the routines defined by that file are not
implemented on other platforms. Second, the generic version of a
system-dependent file is used if the makefiles do not find a version
specific to the system youre compiling for.
If it is possible to implement the routines in a generic file in
machine-independent C, using only other machine-independent functions in
the C library, then you should do so. Otherwise, make them stubs. A
"stub" function is a function which cannot be implemented on a
particular machine or operating system. Stub functions always return an
error, and set errno to ENOSYS (Function not implemented). *Note
Error Reporting::. If you define a stub function, you must place the
statement stub_warning(FUNCTION), where FUNCTION is the name of your
function, after its definition. This causes the function to be listed
in the installed <gnu/stubs.h>, and makes GNU ld warn when the
function is used.
Some rare functions are only useful on specific systems and arent
defined at all on others; these do not appear anywhere in the
system-independent source code or makefiles (including the generic
directory), only in the system-dependent Makefile in the specific
systems subdirectory.
If you come across a file that is in one of the main source
directories (string, stdio, etc.), and you want to write a machine-
or operating system-dependent version of it, move the file into
sysdeps/generic and write your new implementation in the appropriate
system-specific subdirectory. Note that if a file is to be
system-dependent, it *must not* appear in one of the main source
directories.
There are a few special files that may exist in each subdirectory of
sysdeps:
Makefile
A makefile for this machine or operating system, or class of
machine or operating system. This file is included by the library
makefile Makerules, which is used by the top-level makefile and
the subdirectory makefiles. It can change the variables set in the
including makefile or add new rules. It can use GNU make
conditional directives based on the variable subdir (see above)
to select different sets of variables and rules for different
sections of the library. It can also set the make variable
sysdep-routines, to specify extra modules to be included in the
library. You should use sysdep-routines rather than adding
modules to routines because the latter is used in determining
what to distribute for each subdirectory of the main source tree.
Each makefile in a subdirectory in the ordered list of
subdirectories to be searched is included in order. Since several
system-dependent makefiles may be included, each should append to
sysdep-routines rather than simply setting it:
sysdep-routines := $(sysdep-routines) foo bar
Subdirs
This file contains the names of new whole subdirectories under the
top-level library source tree that should be included for this
system. These subdirectories are treated just like the
system-independent subdirectories in the library source tree, such
as stdio and math.
Use this when there are completely new sets of functions and header
files that should go into the library for the system this
subdirectory of sysdeps implements. For example,
sysdeps/unix/inet/Subdirs contains inet; the inet directory
contains various network-oriented operations which only make sense
to put in the library on systems that support the Internet.
configure
This file is a shell script fragment to be run at configuration
time. The top-level configure script uses the shell . command
to read the configure file in each system-dependent directory
chosen, in order. The configure files are often generated from
configure.ac files using Autoconf.
A system-dependent configure script will usually add things to
the shell variables DEFS and config_vars; see the top-level
configure script for details. The script can check for --with-PACKAGE
options that were passed to the top-level configure. For an
option --with-PACKAGE=VALUE configure sets the shell variable with_PACKAGE
(with any dashes in PACKAGE converted to underscores) to VALUE; if
the option is just --with-PACKAGE (no argument), then it sets with_PACKAGE
to yes.
configure.ac
This file is an Autoconf input fragment to be processed into the
file configure in this subdirectory. *Note
(autoconf.info)Introduction::, for a description of Autoconf. You
should write either configure or configure.ac, but not both.
The first line of configure.ac should invoke the m4 macro
GLIBC_PROVIDES. This macro does several AC_PROVIDE calls for
Autoconf macros which are used by the top-level configure script;
without this, those macros might be invoked again unnecessarily by
Autoconf.
That is the general system for how system-dependencies are isolated.
* Menu:
* Hierarchy Conventions:: The layout of the sysdeps hierarchy.
* Porting to Unix:: Porting the library to an average
Unix-like system.

File: libc.info, Node: Hierarchy Conventions, Next: Porting to Unix, Up: Porting
D.2.1 Layout of the sysdeps Directory Hierarchy
-------------------------------------------------
A GNU configuration name has three parts: the CPU type, the
manufacturers name, and the operating system. configure uses these
to pick the list of system-dependent directories to look for. If the
--nfp option is _not_ passed to configure, the directory
MACHINE/fpu is also used. The operating system often has a "base
operating system"; for example, if the operating system is Linux, the
base operating system is unix/sysv. The algorithm used to pick the
list of directories is simple: configure makes a list of the base
operating system, manufacturer, CPU type, and operating system, in that
order. It then concatenates all these together with slashes in between,
to produce a directory name; for example, the configuration i686-linux-gnu
results in unix/sysv/linux/i386/i686. configure then tries removing
each element of the list in turn, so unix/sysv/linux and unix/sysv
are also tried, among others. Since the precise version number of the
operating system is often not important, and it would be very
inconvenient, for example, to have identical irix6.2 and irix6.3
directories, configure tries successively less specific operating
system names by removing trailing suffixes starting with a period.
As an example, here is the complete list of directories that would be
tried for the configuration i686-linux-gnu (with the crypt and
linuxthreads add-on):
sysdeps/i386/elf
crypt/sysdeps/unix
linuxthreads/sysdeps/unix/sysv/linux
linuxthreads/sysdeps/pthread
linuxthreads/sysdeps/unix/sysv
linuxthreads/sysdeps/unix
linuxthreads/sysdeps/i386/i686
linuxthreads/sysdeps/i386
linuxthreads/sysdeps/pthread/no-cmpxchg
sysdeps/unix/sysv/linux/i386
sysdeps/unix/sysv/linux
sysdeps/gnu
sysdeps/unix/common
sysdeps/unix/mman
sysdeps/unix/inet
sysdeps/unix/sysv/i386/i686
sysdeps/unix/sysv/i386
sysdeps/unix/sysv
sysdeps/unix/i386
sysdeps/unix
sysdeps/posix
sysdeps/i386/i686
sysdeps/i386/i486
sysdeps/libm-i387/i686
sysdeps/i386/fpu
sysdeps/libm-i387
sysdeps/i386
sysdeps/wordsize-32
sysdeps/ieee754
sysdeps/libm-ieee754
sysdeps/generic
Different machine architectures are conventionally subdirectories at
the top level of the sysdeps directory tree. For example, sysdeps/sparc
and sysdeps/m68k. These contain files specific to those machine
architectures, but not specific to any particular operating system.
There might be subdirectories for specializations of those
architectures, such as sysdeps/m68k/68020. Code which is specific to
the floating-point coprocessor used with a particular machine should go
in sysdeps/MACHINE/fpu.
There are a few directories at the top level of the sysdeps
hierarchy that are not for particular machine architectures.
generic
As described above (*note Porting::), this is the subdirectory that
every configuration implicitly uses after all others.
ieee754
This directory is for code using the IEEE 754 floating-point
format, where the C type float is IEEE 754 single-precision
format, and double is IEEE 754 double-precision format. Usually
this directory is referred to in the Implies file in a machine
architecture-specific directory, such as m68k/Implies.
libm-ieee754
This directory contains an implementation of a mathematical library
usable on platforms which use IEEE 754 conformant floating-point
arithmetic.
libm-i387
This is a special case. Ideally the code should be in
sysdeps/i386/fpu but for various reasons it is kept aside.
posix
This directory contains implementations of things in the library in
terms of POSIX.1 functions. This includes some of the POSIX.1
functions themselves. Of course, POSIX.1 cannot be completely
implemented in terms of itself, so a configuration using just
posix cannot be complete.
unix
This is the directory for Unix-like things. *Note Porting to
Unix::. unix implies posix. There are some special-purpose
subdirectories of unix:
unix/common
This directory is for things common to both BSD and System V
release 4. Both unix/bsd and unix/sysv/sysv4 imply
unix/common.
unix/inet
This directory is for socket and related functions on Unix
systems. unix/inet/Subdirs enables the inet top-level
subdirectory. unix/common implies unix/inet.
mach
This is the directory for things based on the Mach microkernel from
CMU (including GNU/Hurd systems). Other basic operating systems
(VMS, for example) would have their own directories at the top
level of the sysdeps hierarchy, parallel to unix and mach.

File: libc.info, Node: Porting to Unix, Prev: Hierarchy Conventions, Up: Porting
D.2.2 Porting the GNU C Library to Unix Systems
-----------------------------------------------
Most Unix systems are fundamentally very similar. There are variations
between different machines, and variations in what facilities are
provided by the kernel. But the interface to the operating system
facilities is, for the most part, pretty uniform and simple.
The code for Unix systems is in the directory unix, at the top
level of the sysdeps hierarchy. This directory contains
subdirectories (and subdirectory trees) for various Unix variants.
The functions which are system calls in most Unix systems are
implemented in assembly code, which is generated automatically from
specifications in files named syscalls.list. There are several such
files, one in sysdeps/unix and others in its subdirectories. Some
special system calls are implemented in files that are named with a
suffix of .S; for example, _exit.S. Files ending in .S are run
through the C preprocessor before being fed to the assembler.
These files all use a set of macros that should be defined in
sysdep.h. The sysdep.h file in sysdeps/unix partially defines
them; a sysdep.h file in another directory must finish defining them
for the particular machine and operating system variant. See
sysdeps/unix/sysdep.h and the machine-specific sysdep.h
implementations to see what these macros are and what they should do.
The system-specific makefile for the unix directory
(sysdeps/unix/Makefile) gives rules to generate several files from the
Unix system you are building the library on (which is assumed to be the
target system you are building the library _for_). All the generated
files are put in the directory where the object files are kept; they
should not affect the source tree itself. The files generated are
ioctls.h, errnos.h, sys/param.h, and errlist.c (for the stdio
section of the library).

File: libc.info, Node: Platform, Next: Contributors, Prev: Maintenance, Up: Top
Appendix E Platform-specific facilities
***************************************
The GNU C Library can provide machine-specific functionality.
* Menu:
* PowerPC:: Facilities Specific to the PowerPC Architecture

File: libc.info, Node: PowerPC, Up: Platform
E.1 PowerPC-specific Facilities
===============================
Facilities specific to PowerPC that are not specific to a particular
operating system are declared in sys/platform/ppc.h.
-- Function: uint64_t __ppc_get_timebase (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Read the current value of the Time Base Register.
The "Time Base Register" is a 64-bit register that stores a
monotonically incremented value updated at a system-dependent
frequency that may be different from the processor frequency. More
information is available in Power ISA 2.06b - Book II - Section
5.2.
__ppc_get_timebase uses the processors time base facility
directly without requiring assistance from the operating system, so
it is very efficient.
-- Function: uint64_t __ppc_get_timebase_freq (void)
Preliminary: | MT-Unsafe init | AS-Unsafe corrupt:init | AC-Unsafe
corrupt:init | *Note POSIX Safety Concepts::.
Read the current frequency at which the Time Base Register is
updated.
This frequency is not related to the processor clock or the bus
clock. It is also possible that this frequency is not constant.
More information is available in Power ISA 2.06b - Book II -
Section 5.2.
The following functions provide hints about the usage of resources
that are shared with other processors. They can be used, for example,
if a program waiting on a lock intends to divert the shared resources to
be used by other processors. More information is available in Power
ISA 2.06b - Book II - Section 3.2.
-- Function: void __ppc_yield (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Provide a hint that performance will probably be improved if shared
resources dedicated to the executing processor are released for use
by other processors.
-- Function: void __ppc_mdoio (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Provide a hint that performance will probably be improved if shared
resources dedicated to the executing processor are released until
all outstanding storage accesses to caching-inhibited storage have
been completed.
-- Function: void __ppc_mdoom (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Provide a hint that performance will probably be improved if shared
resources dedicated to the executing processor are released until
all outstanding storage accesses to cacheable storage for which the
data is not in the cache have been completed.
-- Function: void __ppc_set_ppr_med (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Set the Program Priority Register to medium value (default).
The "Program Priority Register" (PPR) is a 64-bit register that
controls the programs priority. By adjusting the PPR value the
programmer may improve system throughput by causing the system
resources to be used more efficiently, especially in contention
situations. The three unprivileged states available are covered by
the functions __ppc_set_ppr_med (medium default),
__ppc_set_ppc_low (low) and __ppc_set_ppc_med_low (medium low).
More information available in Power ISA 2.06b - Book II - Section
3.1.
-- Function: void __ppc_set_ppr_low (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Set the Program Priority Register to low value.
-- Function: void __ppc_set_ppr_med_low (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Set the Program Priority Register to medium low value.
Power ISA 2.07 extends the priorities that can be set to the Program
Priority Register (PPR). The following functions implement the new
priority levels: very low and medium high.
-- Function: void __ppc_set_ppr_very_low (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Set the Program Priority Register to very low value.
-- Function: void __ppc_set_ppr_med_high (void)
Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety
Concepts::.
Set the Program Priority Register to medium high value. The medium
high priority is privileged and may only be set during certain time
intervals by problem-state programs. If the program priority is
medium high when the time interval expires or if an attempt is made
to set the priority to medium high when it is not allowed, the
priority is set to medium.

File: libc.info, Node: Contributors, Next: Free Manuals, Prev: Platform, Up: Top
Appendix F Contributors to the GNU C Library
********************************************
The GNU C Library project would like to thank its many contributors.
Without them the project would not have been nearly as successful as it
has been. Any omissions in this list are accidental. Feel free to file
a bug in bugzilla if you have been left out or some of your
contributions are not listed. Please keep this list in alphabetical
order.
• Ryan S. Arnold for his improvements for Linux on PowerPC and his
direction as FSF Project Steward for the GNU C Library.
• Miles Bader for writing the argp argument-parsing package, and
the argz/envz interfaces.
• Jeff Bailey for his maintainership of the HPPA architecture.
• Petr Baudis for bug fixes and testing.
• Stephen R. van den Berg for contributing a highly-optimized
strstr function.
• Ondrej Bilka for contributing optimized string routines for x64 and
various fixes.
• Eric Blake for adding O(n) implementations of memmem, strstr
and strcasestr.
• Philip Blundell for the ports to Linux/ARM
(arm-ANYTHING-linuxaout) and ARM standalone
(arm-ANYTHING-none), as well as for parts of the IPv6 support
code.
• Per Bothner for the implementation of the libio library which is
used to implement stdio functions.
• Mark Brown for his direction as part of the GNU C Library steering
committee.
• Thomas Bushnell for his contributions to Hurd.
• Wilco Dijkstra for various fixes.
• Liubov Dmitrieva for optimzed string and math functions on x86-64
and x86.
• Ulrich Drepper for his many contributions in almost all parts of
the GNU C Library, including:
• internationalization support, including the locale and
localedef utilities.
• Linux i386/ELF support
• the hsearch and drand48 families of functions, reentrant
_r versions of the random family; System V shared
memory and IPC support code
• several highly-optimized string functions for iX86 processors
• many math functions
• the character conversion functions (iconv)
• the ftw and nftw functions
• the floating-point printing function used by printf and
friends and the floating-point reading function used by
scanf, strtod and friends
• the catgets support and the entire suite of multi-byte and
wide-character support functions (wctype.h, wchar.h,
etc.).
• versioning of objects on the symbol level
• Richard Earnshaw for continued support and fixes to the various ARM
machine files.
• Paul Eggert for the mktime function and for his direction as part
of the GNU C Library steering committee.
• Steve Ellcey for various fixes.
• Tulio Magno Quites Machado Filho for adding a new class of
installed headers for low-level platform-specific functionality and
one such for PowerPC.
• Mike Frysinger for his maintaining of the IA64 architecture and for
testing and bug fixing.
• Michael Glad for the DES encryption function crypt and related
functions.
• Wolfram Gloger for contributing the memory allocation functions
functions malloc, realloc and free and related code.
• Torbjörn Granlund for fast implementations of many of the string
functions (memcpy, strlen, etc.).
• Michael J. Haertel for writing the merge sort function qsort and
malloc checking functions like mcheck.
• Bruno Haible for his improvements to the iconv and locale
implementations.
• Richard Henderson for the port to Linux on Alpha
(alpha-ANYTHING-linux).
• David Holsgrove for the port to Linux on MicroBlaze.
• Daniel Jacobowitz for various fixes and enhancements.
• Andreas Jaeger for the port to Linux on x86-64
(x86_64-ANYTHING-linux and his work on Linux for MIPS
(mips-ANYTHING-linux), implementing the ldconfig program,
providing a test suite for the math library and for his direction
as part of the GNU C Library steering committee.
• Aurelien Jarno for various fixes.
• Jakub Jelinek for implementing a number of checking functions and
for his direction as part of the GNU C Library steering committee.
• Geoffrey Keating for the port to Linux on PowerPC
(powerpc-ANYTHING-linux).
• Brendan Kehoe for contributing the port to the MIPS DECStation
running Ultrix 4 (mips-dec-ultrix4) and the port to the DEC Alpha
running OSF/1 (alpha-dec-osf1).
• Mark Kettenis for implementing the utmpx interface and an utmp
daemon, and for a Hesiod NSS module.
• Andi Kleen for implementing pthreads lock elision with TSX.
• Kazumoto Kojima for the port of the Mach and Hurd code to the MIPS
architecture (mips-ANYTHING-gnu) and for his work on the SH
architecture.
• Andreas Krebbel for his work on Linux for s390 and s390x.
• Thorsten Kukuk for providing an implementation for NIS (YP) and
NIS+, securelevel 0, 1 and 2 and for the implementation for a
caching daemon for NSS (nscd).
• Jeff Law for various fixes.
• Doug Lea for contributing the memory allocation functions functions
malloc, realloc and free and related code.
• Chris Leonard for various fixes and enhancements to localedata.
• Stefan Liebler for various fixes.
• Hongjiu Lu for providing the support for a Linux 32-bit runtime
environment under x86-64 (x32), for porting to Linux on IA64, for
improved string functions, a framework for testing IFUNC
implementations, and many bug fixes.
• Luis Machado for optimized functions on PowerPC.
• David J. MacKenzie for his contribution to the getopt function
and writing the tar.h header.
• Greg McGary for adding runtime support for bounds checking.
• Roland McGrath for writing most of the GNU C Library originally,
for his work on the Hurd port, his direction as part of the GNU C
Library steering committee and as FSF Project Steward for the GNU C
Library, and for many bug fixes and reviewing of contributions.
• Allan McRae for various fixes.
• Jason Merrill for the port to the Sequent Symmetry running Dynix
version 3 (i386-sequent-bsd).
• Chris Metcalf for the port to Linux/Tile (tilegx-ANYTHING-linux
and tilepro-ANYTHING-linux).
• David Miller for contributing the port to Linux/Sparc
(sparc*-ANYTHING-linux).
• Alan Modra for his improvements for Linux on PowerPC.
• David Mosberger-Tang for contributing the port to Linux/Alpha
(alpha-ANYTHING-linux).
• Stephen Moshier for implementing some 128-bit long double format
math functions.
• Stephen Munroe for his port to Linux on PowerPC64
(powerpc64-ANYTHING-linux) and for adding optimized
implementations for PowerPC.
• Joseph S. Myers for numerous bug fixes for the libm functions, for
his maintainership of the ARM and MIPS architectures, improving
cross-compilation and cross-testing of the GNU C Library, expanded
coverage of conformtest, merging the ports/ subdirectory into the
GNU C Library main repository and his direction as FSF Project
Steward for the GNU C Library.
• Will Newton for contributing some optimized string functions and
pointer encryption support for ARM and various fixes.
• Carlos ODonell for his maintainership of the HPPA architecture,
for maintaining the GNU C Library web pages and wiki, for his
direction as FSF Project Steward for the GNU C Library and various
bug fixes.
• Alexandre Oliva for adding TLS descriptors for LD and GD on x86 and
x86-64, for the am33 port, for completing the MIPS n64/n32/o32
multilib port, for thread-safety, async-signal safety and
async-cancellation safety documentation in the manual, for his
direction as FSF Project Maintainer and for various fixes.
• Paul Pluzhnikov for various fixes.
• Marek Polacek for various fixes.
• Siddhesh Poyarekar for various fixes and an implementation of a
framework for performance benchmarking of functions.
• Tom Quinn for contributing the startup code to support SunOS shared
libraries and the port to SGI machines running Irix 4
(mips-sgi-irix4).
• Torvald Riegel for the implementation of a new semaphore algorithm.
• Pravin Satpute for writing sorting rules for some Indian languages.
• Douglas C. Schmidt for writing the quick sort function used as a
fallback by qsort.
• Will Schmidt for optimized string functions on PowerPC.
• Andreas Schwab for the port to Linux/m68k (m68k-ANYTHING-linux)
and for his direction as part of the GNU C Library steering
committee.
• Martin Schwidefsky for porting to Linux on s390
(s390-ANYTHING-linux) and s390x (s390x-ANYTHING-linux).
• Thomas Schwinge for his contribution to Hurd and the SH
architecture.
• Carlos Eduardo Seo for optimized functions on PowerPC.
• Marcus Shawcroft for contributing the AArch64 port.
• Franz Sirl for various fixes.
• Jes Sorensen for porting to Linux on IA64 (ia64-ANYTHING-linux).
• Richard Stallman for his contribution to the getopt function.
• Alfred M. Szmidt for various fixes.
• Ian Lance Taylor for contributing the port to the MIPS DECStation
running Ultrix 4 (mips-dec-ultrix4).
• Samuel Thibault for improving the Hurd port.
• Tim Waugh for the implementation of the POSIX.2 wordexp function
family.
• Eric Youngdale for implementing versioning of objects on the symbol
level.
• Adhemerval Zanella for optimized functions on PowerPC.
Some code in the GNU C Library comes from other projects and might be
under a different license:
• The timezone support code is derived from the public-domain
timezone package by Arthur David Olson and his many contributors.
• Some of the support code for Mach is taken from Mach 3.0 by CMU;
the file if_ppp.h is also copyright by CMU, but under a different
license; see the file LICENSES for the text of the licenses.
• The random number generation functions random, srandom,
setstate and initstate, which are also the basis for the rand
and srand functions, were written by Earl T. Cohen for the
University of California at Berkeley and are copyrighted by the
Regents of the University of California. They have undergone minor
changes to fit into the GNU C Library and to fit the ISO C
standard, but the functional code is Berkeleys.
• The Internet-related code (most of the inet subdirectory) and
several other miscellaneous functions and header files have been
included from 4.4 BSD with little or no modification. The copying
permission notice for this code can be found in the file LICENSES
in the source distribution.
• The getaddrinfo and getnameinfo functions and supporting code
were written by Craig Metz; see the file LICENSES for details on
their licensing.
• The DNS resolver code is taken directly from BIND 4.9.5, which
includes copyrighted code from UC Berkeley and from Digital
Equipment Corporation. See the file LICENSES for the text of the
DEC license.
• The code to support Sun RPC is taken verbatim from Suns RPCSRC-4.0
distribution; see the file LICENSES for the text of the license.
• The math functions are taken from fdlibm-5.1 by Sun Microsystems,
as modified by J.T. Conklin, Ian Lance Taylor, Ulrich Drepper,
Andreas Schwab, and Roland McGrath.
• Many of the IEEE 64-bit double precision math functions (in the
sysdeps/ieee754/dbl-64 subdirectory) come from the IBM Accurate
Mathematical Library, contributed by IBM.
• Many of the IA64 math functions are taken from a collection of
“Highly Optimized Mathematical Functions for Itanium” that Intel
makes available under a free license; see the file LICENSES for
details.

File: libc.info, Node: Free Manuals, Next: Copying, Prev: Contributors, Up: Top
Appendix G Free Software Needs Free Documentation
*************************************************
The biggest deficiency in the free software community today is not in
the software—it is the lack of good free documentation that we can
include with the free software. Many of our most important programs do
not come with free reference manuals and free introductory texts.
Documentation is an essential part of any software package; when an
important free software package does not come with a free manual and a
free tutorial, that is a major gap. We have many such gaps today.
Consider Perl, for instance. The tutorial manuals that people
normally use are non-free. How did this come about? Because the
authors of those manuals published them with restrictive terms—no
copying, no modification, source files not available—which exclude them
from the free software world.
That wasnt the first time this sort of thing happened, and it was
far from the last. Many times we have heard a GNU user eagerly describe
a manual that he is writing, his intended contribution to the community,
only to learn that he had ruined everything by signing a publication
contract to make it non-free.
Free documentation, like free software, is a matter of freedom, not
price. The problem with the non-free manual is not that publishers
charge a price for printed copies—that in itself is fine. (The Free
Software Foundation sells printed copies of manuals, too.) The problem
is the restrictions on the use of the manual. Free manuals are
available in source code form, and give you permission to copy and
modify. Non-free manuals do not allow this.
The criteria of freedom for a free manual are roughly the same as for
free software. Redistribution (including the normal kinds of commercial
redistribution) must be permitted, so that the manual can accompany
every copy of the program, both on-line and on paper.
Permission for modification of the technical content is crucial too.
When people modify the software, adding or changing features, if they
are conscientious they will change the manual too—so they can provide
accurate and clear documentation for the modified program. A manual
that leaves you no choice but to write a new manual to document a
changed version of the program is not really available to our community.
Some kinds of limits on the way modification is handled are
acceptable. For example, requirements to preserve the original authors
copyright notice, the distribution terms, or the list of authors, are
ok. It is also no problem to require modified versions to include
notice that they were modified. Even entire sections that may not be
deleted or changed are acceptable, as long as they deal with
nontechnical topics (like this one). These kinds of restrictions are
acceptable because they dont obstruct the communitys normal use of the
manual.
However, it must be possible to modify all the _technical_ content of
the manual, and then distribute the result in all the usual media,
through all the usual channels. Otherwise, the restrictions obstruct
the use of the manual, it is not free, and we need another manual to
replace it.
Please spread the word about this issue. Our community continues to
lose manuals to proprietary publishing. If we spread the word that free
software needs free reference manuals and free tutorials, perhaps the
next person who wants to contribute by writing documentation will
realize, before it is too late, that only free manuals contribute to the
free software community.
If you are writing documentation, please insist on publishing it
under the GNU Free Documentation License or another free documentation
license. Remember that this decision requires your approval—you dont
have to let the publisher decide. Some commercial publishers will use a
free license if you insist, but they will not propose the option; it is
up to you to raise the issue and say firmly that this is what you want.
If the publisher you are dealing with refuses, please try other
publishers. If youre not sure whether a proposed license is free,
write to <licensing@gnu.org>.
You can encourage commercial publishers to sell more free, copylefted
manuals and tutorials by buying them, and particularly by buying copies
from the publishers that paid for their writing or for major
improvements. Meanwhile, try to avoid buying non-free documentation at
all. Check the distribution terms of a manual before you buy it, and
insist that whoever seeks your business must respect your freedom.
Check the history of the book, and try reward the publishers that have
paid or pay the authors to work on it.
The Free Software Foundation maintains a list of free documentation
published by other publishers, at
<http://www.fsf.org/doc/other-free-books.html>.

File: libc.info, Node: Copying, Next: Documentation License, Prev: Free Manuals, Up: Top
Appendix H GNU Lesser General Public License
********************************************
Version 2.1, February 1999
Copyright © 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence the
version number 2.1.]
Preamble
--------
The licenses for most software are designed to take away your freedom to
share and change it. By contrast, the GNU General Public Licenses are
intended to guarantee your freedom to share and change free software—to
make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software—typically libraries—of the Free Software
Foundation and other authors who decide to use it. You can use it too,
but we suggest you first think carefully about whether this license or
the ordinary General Public License is the better strategy to use in any
particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of it
in new free programs; and that you are informed that you can do these
things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling it.
And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there
is no warranty for the free library. Also, if the library is modified
by someone else and passed on, the recipients should know that what they
have is not the original version, so that the original authors
reputation will not be affected by problems that might be introduced by
others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that any
patent license obtained for a version of the library must be consistent
with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and is
quite different from the ordinary General Public License. We use this
license for certain libraries in order to permit linking those libraries
into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the entire
combination fits its criteria of freedom. The Lesser General Public
License permits more lax criteria for linking other code with the
library.
We call this license the "Lesser" General Public License because it
does _Less_ to protect the users freedom than the ordinary General
Public License. It also provides other free software developers Less of
an advantage over competing non-free programs. These disadvantages are
the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it
becomes a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free library
does the same job as widely used non-free libraries. In this case,
there is little to gain by limiting the free library to free software
only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of free
software. For example, permission to use the GNU C Library in non-free
programs enables many more people to use the whole GNU operating system,
as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the
users freedom, it does ensure that the user of a program that is linked
with the Library has the freedom and the wherewithal to run that program
using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
“work based on the library” and a “work that uses the library”. The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
---------------------------------------------------------------
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms
of this Lesser General Public License (also called “this License”).
Each licensee is addressed as “you”.
A “library” means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The “Library”, below, refers to any such software library or work
which has been distributed under these terms. A “work based on the
Library” means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or
translated straightforwardly into another language. (Hereinafter,
translation is included without limitation in the term
“modification”.)
“Source code” for a work means the preferred form of the work for
making modifications to it. For a library, complete source code
means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the library.
Activities other than copying, distribution and modification are
not covered by this License; they are outside its scope. The act
of running a program using the Library is not restricted, and
output from such a program is covered only if its contents
constitute a work based on the Library (independent of the use of
the Library in a tool for writing it). Whether that is true
depends on what the Library does and what the program that uses the
Library does.
1. You may copy and distribute verbatim copies of the Librarys
complete source code as you receive it, in any medium, provided
that you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep
intact all the notices that refer to this License and to the
absence of any warranty; and distribute a copy of this License
along with the Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange
for a fee.
2. You may modify your copy or copies of the Library or any portion of
it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a. The modified work must itself be a software library.
b. You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c. You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d. If a facility in the modified Library refers to a function or
a table of data to be supplied by an application program that
uses the facility, other than as an argument passed when the
facility is invoked, then you must make a good faith effort to
ensure that, in the event an application does not supply such
function or table, the facility still operates, and performs
whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots
has a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function
must be optional: if the application does not supply it, the
square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the
Library, and can be reasonably considered independent and separate
works in themselves, then this License, and its terms, do not apply
to those sections when you distribute them as separate works. But
when you distribute the same sections as part of a whole which is a
work based on the Library, the distribution of the whole must be on
the terms of this License, whose permissions for other licensees
extend to the entire whole, and thus to each and every part
regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or
contest your rights to work written entirely by you; rather, the
intent is to exercise the right to control the distribution of
derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the
Library with the Library (or with a work based on the Library) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To
do this, you must alter all the notices that refer to this License,
so that they refer to the ordinary GNU General Public License,
version 2, instead of to this License. (If a newer version than
version 2 of the ordinary GNU General Public License has appeared,
then you can specify that version instead if you wish.) Do not
make any other change in these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to
all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the
Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative
of it, under Section 2) in object code or executable form under the
terms of Sections 1 and 2 above provided that you accompany it with
the complete corresponding machine-readable source code, which must
be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy
the source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled
or linked with it, is called a “work that uses the Library”. Such
a work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a “work that uses the Library” with the Library
creates an executable that is a derivative of the Library (because
it contains portions of the Library), rather than a “work that uses
the library”. The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a “work that uses the Library” uses material from a header
file that is part of the Library, the object code for the work may
be a derivative work of the Library even though the source code is
not. Whether this is true is especially significant if the work
can be linked without the Library, or if the work is itself a
library. The threshold for this to be true is not precisely
defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a
derivative work. (Executables containing this object code plus
portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section
6. Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link
a “work that uses the Library” with the Library to produce a work
containing portions of the Library, and distribute that work under
terms of your choice, provided that the terms permit modification
of the work for the customers own use and reverse engineering for
debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered
by this License. You must supply a copy of this License. If the
work during execution displays copyright notices, you must include
the copyright notice for the Library among them, as well as a
reference directing the user to the copy of this License. Also,
you must do one of these things:
a. Accompany the work with the complete corresponding
machine-readable source code for the Library including
whatever changes were used in the work (which must be
distributed under Sections 1 and 2 above); and, if the work is
an executable linked with the Library, with the complete
machine-readable “work that uses the Library”, as object code
and/or source code, so that the user can modify the Library
and then relink to produce a modified executable containing
the modified Library. (It is understood that the user who
changes the contents of definitions files in the Library will
not necessarily be able to recompile the application to use
the modified definitions.)
b. Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run
time a copy of the library already present on the users
computer system, rather than copying library functions into
the executable, and (2) will operate properly with a modified
version of the library, if the user installs one, as long as
the modified version is interface-compatible with the version
that the work was made with.
c. Accompany the work with a written offer, valid for at least
three years, to give the same user the materials specified in
Subsection 6a, above, for a charge no more than the cost of
performing this distribution.
d. If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the
above specified materials from the same place.
e. Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the “work that uses the
Library” must include any data and utility programs needed for
reproducing the executable from it. However, as a special
exception, the materials to be distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of
the operating system on which the executable runs, unless that
component itself accompanies the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you
cannot use both them and the Library together in an executable that
you distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other
library facilities not covered by this License, and distribute such
a combined library, provided that the separate distribution of the
work based on the Library and of the other library facilities is
otherwise permitted, and provided that you do these two things:
a. Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b. Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same
work.
8. You may not copy, modify, sublicense, link with, or distribute the
Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate
your rights under this License. However, parties who have received
copies, or rights, from you under this License will not have their
licenses terminated so long as such parties remain in full
compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify
or distribute the Library or its derivative works. These actions
are prohibited by law if you do not accept this License.
Therefore, by modifying or distributing the Library (or any work
based on the Library), you indicate your acceptance of this License
to do so, and all its terms and conditions for copying,
distributing or modifying the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the
Library subject to these terms and conditions. You may not impose
any further restrictions on the recipients exercise of the rights
granted herein. You are not responsible for enforcing compliance
by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent
issues), conditions are imposed on you (whether by court order,
agreement or otherwise) that contradict the conditions of this
License, they do not excuse you from the conditions of this
License. If you cannot distribute so as to satisfy simultaneously
your obligations under this License and any other pertinent
obligations, then as a consequence you may not distribute the
Library at all. For example, if a patent license would not permit
royalty-free redistribution of the Library by all those who receive
copies directly or indirectly through you, then the only way you
could satisfy both it and this License would be to refrain entirely
from distribution of the Library.
If any portion of this section is held invalid or unenforceable
under any particular circumstance, the balance of the section is
intended to apply, and the section as a whole is intended to apply
in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of
any such claims; this section has the sole purpose of protecting
the integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is
willing to distribute software through any other system and a
licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed
to be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces,
the original copyright holder who places the Library under this
License may add an explicit geographical distribution limitation
excluding those countries, so that distribution is permitted only
in or among countries not thus excluded. In such case, this
License incorporates the limitation as if written in the body of
this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public 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.
Each version is given a distinguishing version number. If the
Library specifies a version number of this License which applies to
it and “any later version”, you have the option of following the
terms and conditions either of that version or of any later version
published by the Free Software Foundation. If the Library does not
specify a license version number, you may choose any version ever
published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free
status of all derivatives of our free software and of promoting the
sharing and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS
AND/OR OTHER PARTIES PROVIDE THE LIBRARY “AS IS” WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE
DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR
OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY
OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
---------------------------
How to Apply These Terms to Your New Libraries
----------------------------------------------
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of
the ordinary General Public License).
To apply these terms, attach the following notices to the library.
It is safest to attach them to the start of each source file to most
effectively convey the exclusion of warranty; and each file should have
at least the “copyright” line and a pointer to where the full notice is
found.
ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES.
Copyright (C) YEAR NAME OF AUTHOR
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
USA.
Also add information on how to contact you by electronic and paper
mail.
You should also get your employer (if you work as a programmer) or
your school, if any, to sign a “copyright disclaimer” for the library,
if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the library
`Frob' (a library for tweaking knobs) written by James Random Hacker.
SIGNATURE OF TY COON, 1 April 1990
Ty Coon, President of Vice
Thats all there is to it!

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 © 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 Documents 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
works 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 Documents 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 Documents
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 Versions
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 compilations 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 Documents 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
proxys 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 file storage: Storage Allocation. (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 61)
* 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-byte 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 Strings and Arrays.
(line 9)
* 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 19)
* 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 Strings and Arrays.
(line 9)
* concatenating strings <1>: Concatenating Strings.
(line 6)
* 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 84)
* 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 Strings and Arrays.
(line 9)
* 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 46)
* 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-byte 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 15)
* 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 allocation: Storage Allocation. (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 fragmentation: Storage Allocation. (line 6)
* 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)
* files, sparse: Storage Allocation. (line 6)
* 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)
* fragmentation of files: Storage Allocation. (line 6)
* 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 46)
* 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)
* ipc: Inter-Process Communication.
(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 61)
* 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: Representation of Strings.
(line 22)
* multibyte character <1>: Extended Char Intro. (line 162)
* multibyte string: Representation of Strings.
(line 22)
* multibyte string <1>: Representation of Strings.
(line 71)
* 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 78)
* 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 byte: Representation of Strings.
(line 31)
* null pointer constant: Null Pointer Constant.
(line 6)
* null wide character: Representation of Strings.
(line 31)
* 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 46)
* 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 78)
* 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 19)
* 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 46)
* 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 19)
* 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 71)
* size of string: Representation of Strings.
(line 61)
* 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)
* sparse files <1>: Storage Allocation. (line 6)
* 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 allocating: Storage Allocation. (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 61)
* string collation functions: Collation Functions. (line 6)
* string comparison functions: String/Array Comparison.
(line 6)
* string concatenation functions: Copying Strings and Arrays.
(line 9)
* string concatenation functions <1>: Concatenating Strings.
(line 6)
* string copy functions: Copying Strings and Arrays.
(line 9)
* string length: Representation of Strings.
(line 61)
* string literal: Representation of Strings.
(line 40)
* string search functions: Search Functions. (line 8)
* string stream: String Streams. (line 6)
* string truncation: Truncating Strings. (line 6)
* string vectors, null-byte 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)
* truncating strings: Truncating Strings. (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: Concatenating Strings.
(line 70)
* 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 string: Representation of Strings.
(line 22)
* wide string <1>: Representation of Strings.
(line 86)
* 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 15)
* 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)