This is libc.info, produced by makeinfo version 6.5 from libc.texinfo. This file documents the GNU C Library. This is ‘The GNU C Library Reference Manual’, for version 2.28. Copyright © 1993–2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being “Free Software Needs Free Documentation” and “GNU Lesser General Public License”, the Front-Cover texts being “A GNU Manual”, and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled "GNU Free Documentation License". (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.” INFO-DIR-SECTION Software libraries START-INFO-DIR-ENTRY * Libc: (libc). C library. END-INFO-DIR-ENTRY INFO-DIR-SECTION GNU C library functions and macros START-INFO-DIR-ENTRY * ALTWERASE: (libc)Local Modes. * ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions. * ARG_MAX: (libc)General Limits. * BC_BASE_MAX: (libc)Utility Limits. * BC_DIM_MAX: (libc)Utility Limits. * BC_SCALE_MAX: (libc)Utility Limits. * BC_STRING_MAX: (libc)Utility Limits. * BRKINT: (libc)Input Modes. * BUFSIZ: (libc)Controlling Buffering. * CCTS_OFLOW: (libc)Control Modes. * CHAR_BIT: (libc)Width of Type. * 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. * 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. * FE_SNANS_ALWAYS_SIGNAL: (libc)Infinity and NaN. * 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. * FP_LLOGB0: (libc)Exponents and Logarithms. * FP_LLOGBNAN: (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. * HUGE_VAL_FN: (libc)Math Error Reporting. * HUGE_VAL_FNx: (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_TMPFILE: (libc)Open-time Flags. * 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. * SNAN: (libc)Infinity and NaN. * SNANF: (libc)Infinity and NaN. * SNANFN: (libc)Infinity and NaN. * SNANFNx: (libc)Infinity and NaN. * SNANL: (libc)Infinity and NaN. * 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. * __riscv_flush_icache: (libc)RISC-V. * __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. * acosfN: (libc)Inverse Trig Functions. * acosfNx: (libc)Inverse Trig Functions. * acosh: (libc)Hyperbolic Functions. * acoshf: (libc)Hyperbolic Functions. * acoshfN: (libc)Hyperbolic Functions. * acoshfNx: (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. * asinfN: (libc)Inverse Trig Functions. * asinfNx: (libc)Inverse Trig Functions. * asinh: (libc)Hyperbolic Functions. * asinhf: (libc)Hyperbolic Functions. * asinhfN: (libc)Hyperbolic Functions. * asinhfNx: (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. * atan2fN: (libc)Inverse Trig Functions. * atan2fNx: (libc)Inverse Trig Functions. * atan2l: (libc)Inverse Trig Functions. * atan: (libc)Inverse Trig Functions. * atanf: (libc)Inverse Trig Functions. * atanfN: (libc)Inverse Trig Functions. * atanfNx: (libc)Inverse Trig Functions. * atanh: (libc)Hyperbolic Functions. * atanhf: (libc)Hyperbolic Functions. * atanhfN: (libc)Hyperbolic Functions. * atanhfNx: (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. * cabsfN: (libc)Absolute Value. * cabsfNx: (libc)Absolute Value. * cabsl: (libc)Absolute Value. * cacos: (libc)Inverse Trig Functions. * cacosf: (libc)Inverse Trig Functions. * cacosfN: (libc)Inverse Trig Functions. * cacosfNx: (libc)Inverse Trig Functions. * cacosh: (libc)Hyperbolic Functions. * cacoshf: (libc)Hyperbolic Functions. * cacoshfN: (libc)Hyperbolic Functions. * cacoshfNx: (libc)Hyperbolic Functions. * cacoshl: (libc)Hyperbolic Functions. * cacosl: (libc)Inverse Trig Functions. * call_once: (libc)Call Once. * calloc: (libc)Allocating Cleared Space. * canonicalize: (libc)FP Bit Twiddling. * canonicalize_file_name: (libc)Symbolic Links. * canonicalizef: (libc)FP Bit Twiddling. * canonicalizefN: (libc)FP Bit Twiddling. * canonicalizefNx: (libc)FP Bit Twiddling. * canonicalizel: (libc)FP Bit Twiddling. * carg: (libc)Operations on Complex. * cargf: (libc)Operations on Complex. * cargfN: (libc)Operations on Complex. * cargfNx: (libc)Operations on Complex. * cargl: (libc)Operations on Complex. * casin: (libc)Inverse Trig Functions. * casinf: (libc)Inverse Trig Functions. * casinfN: (libc)Inverse Trig Functions. * casinfNx: (libc)Inverse Trig Functions. * casinh: (libc)Hyperbolic Functions. * casinhf: (libc)Hyperbolic Functions. * casinhfN: (libc)Hyperbolic Functions. * casinhfNx: (libc)Hyperbolic Functions. * casinhl: (libc)Hyperbolic Functions. * casinl: (libc)Inverse Trig Functions. * catan: (libc)Inverse Trig Functions. * catanf: (libc)Inverse Trig Functions. * catanfN: (libc)Inverse Trig Functions. * catanfNx: (libc)Inverse Trig Functions. * catanh: (libc)Hyperbolic Functions. * catanhf: (libc)Hyperbolic Functions. * catanhfN: (libc)Hyperbolic Functions. * catanhfNx: (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. * cbrt: (libc)Exponents and Logarithms. * cbrtf: (libc)Exponents and Logarithms. * cbrtfN: (libc)Exponents and Logarithms. * cbrtfNx: (libc)Exponents and Logarithms. * cbrtl: (libc)Exponents and Logarithms. * ccos: (libc)Trig Functions. * ccosf: (libc)Trig Functions. * ccosfN: (libc)Trig Functions. * ccosfNx: (libc)Trig Functions. * ccosh: (libc)Hyperbolic Functions. * ccoshf: (libc)Hyperbolic Functions. * ccoshfN: (libc)Hyperbolic Functions. * ccoshfNx: (libc)Hyperbolic Functions. * ccoshl: (libc)Hyperbolic Functions. * ccosl: (libc)Trig Functions. * ceil: (libc)Rounding Functions. * ceilf: (libc)Rounding Functions. * ceilfN: (libc)Rounding Functions. * ceilfNx: (libc)Rounding Functions. * ceill: (libc)Rounding Functions. * cexp: (libc)Exponents and Logarithms. * cexpf: (libc)Exponents and Logarithms. * cexpfN: (libc)Exponents and Logarithms. * cexpfNx: (libc)Exponents and Logarithms. * cexpl: (libc)Exponents and Logarithms. * cfgetispeed: (libc)Line Speed. * cfgetospeed: (libc)Line Speed. * cfmakeraw: (libc)Noncanonical Input. * 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. * cimagfN: (libc)Operations on Complex. * cimagfNx: (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. * clog10fN: (libc)Exponents and Logarithms. * clog10fNx: (libc)Exponents and Logarithms. * clog10l: (libc)Exponents and Logarithms. * clog: (libc)Exponents and Logarithms. * clogf: (libc)Exponents and Logarithms. * clogfN: (libc)Exponents and Logarithms. * clogfNx: (libc)Exponents and Logarithms. * clogl: (libc)Exponents and Logarithms. * close: (libc)Opening and Closing Files. * closedir: (libc)Reading/Closing Directory. * closelog: (libc)closelog. * cnd_broadcast: (libc)ISO C Condition Variables. * cnd_destroy: (libc)ISO C Condition Variables. * cnd_init: (libc)ISO C Condition Variables. * cnd_signal: (libc)ISO C Condition Variables. * cnd_timedwait: (libc)ISO C Condition Variables. * cnd_wait: (libc)ISO C Condition Variables. * confstr: (libc)String Parameters. * conj: (libc)Operations on Complex. * conjf: (libc)Operations on Complex. * conjfN: (libc)Operations on Complex. * conjfNx: (libc)Operations on Complex. * conjl: (libc)Operations on Complex. * connect: (libc)Connecting. * copy_file_range: (libc)Copying File Data. * copysign: (libc)FP Bit Twiddling. * copysignf: (libc)FP Bit Twiddling. * copysignfN: (libc)FP Bit Twiddling. * copysignfNx: (libc)FP Bit Twiddling. * copysignl: (libc)FP Bit Twiddling. * cos: (libc)Trig Functions. * cosf: (libc)Trig Functions. * cosfN: (libc)Trig Functions. * cosfNx: (libc)Trig Functions. * cosh: (libc)Hyperbolic Functions. * coshf: (libc)Hyperbolic Functions. * coshfN: (libc)Hyperbolic Functions. * coshfNx: (libc)Hyperbolic Functions. * coshl: (libc)Hyperbolic Functions. * cosl: (libc)Trig Functions. * cpow: (libc)Exponents and Logarithms. * cpowf: (libc)Exponents and Logarithms. * cpowfN: (libc)Exponents and Logarithms. * cpowfNx: (libc)Exponents and Logarithms. * cpowl: (libc)Exponents and Logarithms. * cproj: (libc)Operations on Complex. * cprojf: (libc)Operations on Complex. * cprojfN: (libc)Operations on Complex. * cprojfNx: (libc)Operations on Complex. * cprojl: (libc)Operations on Complex. * creal: (libc)Operations on Complex. * crealf: (libc)Operations on Complex. * crealfN: (libc)Operations on Complex. * crealfNx: (libc)Operations on Complex. * creall: (libc)Operations on Complex. * creat64: (libc)Opening and Closing Files. * creat: (libc)Opening and Closing Files. * crypt: (libc)Passphrase Storage. * crypt_r: (libc)Passphrase Storage. * csin: (libc)Trig Functions. * csinf: (libc)Trig Functions. * csinfN: (libc)Trig Functions. * csinfNx: (libc)Trig Functions. * csinh: (libc)Hyperbolic Functions. * csinhf: (libc)Hyperbolic Functions. * csinhfN: (libc)Hyperbolic Functions. * csinhfNx: (libc)Hyperbolic Functions. * csinhl: (libc)Hyperbolic Functions. * csinl: (libc)Trig Functions. * csqrt: (libc)Exponents and Logarithms. * csqrtf: (libc)Exponents and Logarithms. * csqrtfN: (libc)Exponents and Logarithms. * csqrtfNx: (libc)Exponents and Logarithms. * csqrtl: (libc)Exponents and Logarithms. * ctan: (libc)Trig Functions. * ctanf: (libc)Trig Functions. * ctanfN: (libc)Trig Functions. * ctanfNx: (libc)Trig Functions. * ctanh: (libc)Hyperbolic Functions. * ctanhf: (libc)Hyperbolic Functions. * ctanhfN: (libc)Hyperbolic Functions. * ctanhfNx: (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. * daddl: (libc)Misc FP Arithmetic. * dcgettext: (libc)Translation with gettext. * dcngettext: (libc)Advanced gettext functions. * ddivl: (libc)Misc FP Arithmetic. * 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. * dmull: (libc)Misc FP Arithmetic. * 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. * dsubl: (libc)Misc FP Arithmetic. * dup2: (libc)Duplicating Descriptors. * dup: (libc)Duplicating Descriptors. * ecvt: (libc)System V Number Conversion. * ecvt_r: (libc)System V Number Conversion. * 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. * erfcfN: (libc)Special Functions. * erfcfNx: (libc)Special Functions. * erfcl: (libc)Special Functions. * erff: (libc)Special Functions. * erffN: (libc)Special Functions. * erffNx: (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. * exp10fN: (libc)Exponents and Logarithms. * exp10fNx: (libc)Exponents and Logarithms. * exp10l: (libc)Exponents and Logarithms. * exp2: (libc)Exponents and Logarithms. * exp2f: (libc)Exponents and Logarithms. * exp2fN: (libc)Exponents and Logarithms. * exp2fNx: (libc)Exponents and Logarithms. * exp2l: (libc)Exponents and Logarithms. * exp: (libc)Exponents and Logarithms. * expf: (libc)Exponents and Logarithms. * expfN: (libc)Exponents and Logarithms. * expfNx: (libc)Exponents and Logarithms. * expl: (libc)Exponents and Logarithms. * explicit_bzero: (libc)Erasing Sensitive Data. * expm1: (libc)Exponents and Logarithms. * expm1f: (libc)Exponents and Logarithms. * expm1fN: (libc)Exponents and Logarithms. * expm1fNx: (libc)Exponents and Logarithms. * expm1l: (libc)Exponents and Logarithms. * fMaddfN: (libc)Misc FP Arithmetic. * fMaddfNx: (libc)Misc FP Arithmetic. * fMdivfN: (libc)Misc FP Arithmetic. * fMdivfNx: (libc)Misc FP Arithmetic. * fMmulfN: (libc)Misc FP Arithmetic. * fMmulfNx: (libc)Misc FP Arithmetic. * fMsubfN: (libc)Misc FP Arithmetic. * fMsubfNx: (libc)Misc FP Arithmetic. * fMxaddfN: (libc)Misc FP Arithmetic. * fMxaddfNx: (libc)Misc FP Arithmetic. * fMxdivfN: (libc)Misc FP Arithmetic. * fMxdivfNx: (libc)Misc FP Arithmetic. * fMxmulfN: (libc)Misc FP Arithmetic. * fMxmulfNx: (libc)Misc FP Arithmetic. * fMxsubfN: (libc)Misc FP Arithmetic. * fMxsubfNx: (libc)Misc FP Arithmetic. * fabs: (libc)Absolute Value. * fabsf: (libc)Absolute Value. * fabsfN: (libc)Absolute Value. * fabsfNx: (libc)Absolute Value. * fabsl: (libc)Absolute Value. * fadd: (libc)Misc FP Arithmetic. * faddl: (libc)Misc FP Arithmetic. * 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. * fdimfN: (libc)Misc FP Arithmetic. * fdimfNx: (libc)Misc FP Arithmetic. * fdiml: (libc)Misc FP Arithmetic. * fdiv: (libc)Misc FP Arithmetic. * fdivl: (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. * fegetmode: (libc)Control Functions. * 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. * fesetexcept: (libc)Status bit operations. * fesetexceptflag: (libc)Status bit operations. * fesetmode: (libc)Control Functions. * fesetround: (libc)Rounding. * fetestexcept: (libc)Status bit operations. * fetestexceptflag: (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. * floorfN: (libc)Rounding Functions. * floorfNx: (libc)Rounding Functions. * floorl: (libc)Rounding Functions. * fma: (libc)Misc FP Arithmetic. * fmaf: (libc)Misc FP Arithmetic. * fmafN: (libc)Misc FP Arithmetic. * fmafNx: (libc)Misc FP Arithmetic. * fmal: (libc)Misc FP Arithmetic. * fmax: (libc)Misc FP Arithmetic. * fmaxf: (libc)Misc FP Arithmetic. * fmaxfN: (libc)Misc FP Arithmetic. * fmaxfNx: (libc)Misc FP Arithmetic. * fmaxl: (libc)Misc FP Arithmetic. * fmaxmag: (libc)Misc FP Arithmetic. * fmaxmagf: (libc)Misc FP Arithmetic. * fmaxmagfN: (libc)Misc FP Arithmetic. * fmaxmagfNx: (libc)Misc FP Arithmetic. * fmaxmagl: (libc)Misc FP Arithmetic. * fmemopen: (libc)String Streams. * fmin: (libc)Misc FP Arithmetic. * fminf: (libc)Misc FP Arithmetic. * fminfN: (libc)Misc FP Arithmetic. * fminfNx: (libc)Misc FP Arithmetic. * fminl: (libc)Misc FP Arithmetic. * fminmag: (libc)Misc FP Arithmetic. * fminmagf: (libc)Misc FP Arithmetic. * fminmagfN: (libc)Misc FP Arithmetic. * fminmagfNx: (libc)Misc FP Arithmetic. * fminmagl: (libc)Misc FP Arithmetic. * fmod: (libc)Remainder Functions. * fmodf: (libc)Remainder Functions. * fmodfN: (libc)Remainder Functions. * fmodfNx: (libc)Remainder Functions. * fmodl: (libc)Remainder Functions. * fmtmsg: (libc)Printing Formatted Messages. * fmul: (libc)Misc FP Arithmetic. * fmull: (libc)Misc FP Arithmetic. * 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. * frexpfN: (libc)Normalization Functions. * frexpfNx: (libc)Normalization Functions. * frexpl: (libc)Normalization Functions. * fromfp: (libc)Rounding Functions. * fromfpf: (libc)Rounding Functions. * fromfpfN: (libc)Rounding Functions. * fromfpfNx: (libc)Rounding Functions. * fromfpl: (libc)Rounding Functions. * fromfpx: (libc)Rounding Functions. * fromfpxf: (libc)Rounding Functions. * fromfpxfN: (libc)Rounding Functions. * fromfpxfNx: (libc)Rounding Functions. * fromfpxl: (libc)Rounding 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. * fsub: (libc)Misc FP Arithmetic. * fsubl: (libc)Misc FP Arithmetic. * 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. * getentropy: (libc)Unpredictable Bytes. * 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. * getpayload: (libc)FP Bit Twiddling. * getpayloadf: (libc)FP Bit Twiddling. * getpayloadfN: (libc)FP Bit Twiddling. * getpayloadfNx: (libc)FP Bit Twiddling. * getpayloadl: (libc)FP Bit Twiddling. * 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. * getrandom: (libc)Unpredictable Bytes. * 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. * hypotfN: (libc)Exponents and Logarithms. * hypotfNx: (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. * ilogbfN: (libc)Exponents and Logarithms. * ilogbfNx: (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. * iscanonical: (libc)Floating Point Classes. * iscntrl: (libc)Classification of Characters. * isdigit: (libc)Classification of Characters. * iseqsig: (libc)FP Comparison Functions. * 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. * issubnormal: (libc)Floating Point Classes. * 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. * iszero: (libc)Floating Point Classes. * j0: (libc)Special Functions. * j0f: (libc)Special Functions. * j0fN: (libc)Special Functions. * j0fNx: (libc)Special Functions. * j0l: (libc)Special Functions. * j1: (libc)Special Functions. * j1f: (libc)Special Functions. * j1fN: (libc)Special Functions. * j1fNx: (libc)Special Functions. * j1l: (libc)Special Functions. * jn: (libc)Special Functions. * jnf: (libc)Special Functions. * jnfN: (libc)Special Functions. * jnfNx: (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. * ldexpfN: (libc)Normalization Functions. * ldexpfNx: (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. * lgammafN: (libc)Special Functions. * lgammafN_r: (libc)Special Functions. * lgammafNx: (libc)Special Functions. * lgammafNx_r: (libc)Special Functions. * lgammaf_r: (libc)Special Functions. * lgammal: (libc)Special Functions. * lgammal_r: (libc)Special Functions. * link: (libc)Hard Links. * linkat: (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. * llogb: (libc)Exponents and Logarithms. * llogbf: (libc)Exponents and Logarithms. * llogbfN: (libc)Exponents and Logarithms. * llogbfNx: (libc)Exponents and Logarithms. * llogbl: (libc)Exponents and Logarithms. * llrint: (libc)Rounding Functions. * llrintf: (libc)Rounding Functions. * llrintfN: (libc)Rounding Functions. * llrintfNx: (libc)Rounding Functions. * llrintl: (libc)Rounding Functions. * llround: (libc)Rounding Functions. * llroundf: (libc)Rounding Functions. * llroundfN: (libc)Rounding Functions. * llroundfNx: (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. * log10fN: (libc)Exponents and Logarithms. * log10fNx: (libc)Exponents and Logarithms. * log10l: (libc)Exponents and Logarithms. * log1p: (libc)Exponents and Logarithms. * log1pf: (libc)Exponents and Logarithms. * log1pfN: (libc)Exponents and Logarithms. * log1pfNx: (libc)Exponents and Logarithms. * log1pl: (libc)Exponents and Logarithms. * log2: (libc)Exponents and Logarithms. * log2f: (libc)Exponents and Logarithms. * log2fN: (libc)Exponents and Logarithms. * log2fNx: (libc)Exponents and Logarithms. * log2l: (libc)Exponents and Logarithms. * log: (libc)Exponents and Logarithms. * logb: (libc)Exponents and Logarithms. * logbf: (libc)Exponents and Logarithms. * logbfN: (libc)Exponents and Logarithms. * logbfNx: (libc)Exponents and Logarithms. * logbl: (libc)Exponents and Logarithms. * logf: (libc)Exponents and Logarithms. * logfN: (libc)Exponents and Logarithms. * logfNx: (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. * lrintfN: (libc)Rounding Functions. * lrintfNx: (libc)Rounding Functions. * lrintl: (libc)Rounding Functions. * lround: (libc)Rounding Functions. * lroundf: (libc)Rounding Functions. * lroundfN: (libc)Rounding Functions. * lroundfNx: (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. * memfd_create: (libc)Memory-mapped I/O. * memfrob: (libc)Obfuscating Data. * 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. * mlock2: (libc)Page Lock Functions. * 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. * modffN: (libc)Rounding Functions. * modffNx: (libc)Rounding Functions. * modfl: (libc)Rounding Functions. * mount: (libc)Mount-Unmount-Remount. * mprobe: (libc)Heap Consistency Checking. * mprotect: (libc)Memory Protection. * 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. * mtx_destroy: (libc)ISO C Mutexes. * mtx_init: (libc)ISO C Mutexes. * mtx_lock: (libc)ISO C Mutexes. * mtx_timedlock: (libc)ISO C Mutexes. * mtx_trylock: (libc)ISO C Mutexes. * mtx_unlock: (libc)ISO C Mutexes. * 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. * nanfN: (libc)FP Bit Twiddling. * nanfNx: (libc)FP Bit Twiddling. * nanl: (libc)FP Bit Twiddling. * nanosleep: (libc)Sleeping. * nearbyint: (libc)Rounding Functions. * nearbyintf: (libc)Rounding Functions. * nearbyintfN: (libc)Rounding Functions. * nearbyintfNx: (libc)Rounding Functions. * nearbyintl: (libc)Rounding Functions. * nextafter: (libc)FP Bit Twiddling. * nextafterf: (libc)FP Bit Twiddling. * nextafterfN: (libc)FP Bit Twiddling. * nextafterfNx: (libc)FP Bit Twiddling. * nextafterl: (libc)FP Bit Twiddling. * nextdown: (libc)FP Bit Twiddling. * nextdownf: (libc)FP Bit Twiddling. * nextdownfN: (libc)FP Bit Twiddling. * nextdownfNx: (libc)FP Bit Twiddling. * nextdownl: (libc)FP Bit Twiddling. * nexttoward: (libc)FP Bit Twiddling. * nexttowardf: (libc)FP Bit Twiddling. * nexttowardl: (libc)FP Bit Twiddling. * nextup: (libc)FP Bit Twiddling. * nextupf: (libc)FP Bit Twiddling. * nextupfN: (libc)FP Bit Twiddling. * nextupfNx: (libc)FP Bit Twiddling. * nextupl: (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. * pkey_alloc: (libc)Memory Protection. * pkey_free: (libc)Memory Protection. * pkey_get: (libc)Memory Protection. * pkey_mprotect: (libc)Memory Protection. * pkey_set: (libc)Memory Protection. * popen: (libc)Pipe to a Subprocess. * posix_fallocate64: (libc)Storage Allocation. * posix_fallocate: (libc)Storage Allocation. * posix_memalign: (libc)Aligned Memory Blocks. * pow: (libc)Exponents and Logarithms. * powf: (libc)Exponents and Logarithms. * powfN: (libc)Exponents and Logarithms. * powfNx: (libc)Exponents and Logarithms. * powl: (libc)Exponents and Logarithms. * pread64: (libc)I/O Primitives. * pread: (libc)I/O Primitives. * preadv2: (libc)Scatter-Gather. * preadv64: (libc)Scatter-Gather. * preadv64v2: (libc)Scatter-Gather. * preadv: (libc)Scatter-Gather. * 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. * pwritev2: (libc)Scatter-Gather. * pwritev64: (libc)Scatter-Gather. * pwritev64v2: (libc)Scatter-Gather. * pwritev: (libc)Scatter-Gather. * 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. * reallocarray: (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. * remainderfN: (libc)Remainder Functions. * remainderfNx: (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. * rintfN: (libc)Rounding Functions. * rintfNx: (libc)Rounding Functions. * rintl: (libc)Rounding Functions. * rmdir: (libc)Deleting Files. * round: (libc)Rounding Functions. * roundeven: (libc)Rounding Functions. * roundevenf: (libc)Rounding Functions. * roundevenfN: (libc)Rounding Functions. * roundevenfNx: (libc)Rounding Functions. * roundevenl: (libc)Rounding Functions. * roundf: (libc)Rounding Functions. * roundfN: (libc)Rounding Functions. * roundfNx: (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. * scalblnfN: (libc)Normalization Functions. * scalblnfNx: (libc)Normalization Functions. * scalblnl: (libc)Normalization Functions. * scalbn: (libc)Normalization Functions. * scalbnf: (libc)Normalization Functions. * scalbnfN: (libc)Normalization Functions. * scalbnfNx: (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. * setlinebuf: (libc)Controlling Buffering. * setlocale: (libc)Setting the Locale. * setlogmask: (libc)setlogmask. * setmntent: (libc)mtab. * setnetent: (libc)Networks Database. * setnetgrent: (libc)Lookup Netgroup. * setpayload: (libc)FP Bit Twiddling. * setpayloadf: (libc)FP Bit Twiddling. * setpayloadfN: (libc)FP Bit Twiddling. * setpayloadfNx: (libc)FP Bit Twiddling. * setpayloadl: (libc)FP Bit Twiddling. * setpayloadsig: (libc)FP Bit Twiddling. * setpayloadsigf: (libc)FP Bit Twiddling. * setpayloadsigfN: (libc)FP Bit Twiddling. * setpayloadsigfNx: (libc)FP Bit Twiddling. * setpayloadsigl: (libc)FP Bit Twiddling. * 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. * sincosfN: (libc)Trig Functions. * sincosfNx: (libc)Trig Functions. * sincosl: (libc)Trig Functions. * sinf: (libc)Trig Functions. * sinfN: (libc)Trig Functions. * sinfNx: (libc)Trig Functions. * sinh: (libc)Hyperbolic Functions. * sinhf: (libc)Hyperbolic Functions. * sinhfN: (libc)Hyperbolic Functions. * sinhfNx: (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. * sqrtfN: (libc)Exponents and Logarithms. * sqrtfNx: (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. * strfromd: (libc)Printing of Floats. * strfromf: (libc)Printing of Floats. * strfromfN: (libc)Printing of Floats. * strfromfNx: (libc)Printing of Floats. * strfroml: (libc)Printing of Floats. * strfry: (libc)Shuffling Bytes. * 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. * strtofN: (libc)Parsing of Floats. * strtofNx: (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. * tanfN: (libc)Trig Functions. * tanfNx: (libc)Trig Functions. * tanh: (libc)Hyperbolic Functions. * tanhf: (libc)Hyperbolic Functions. * tanhfN: (libc)Hyperbolic Functions. * tanhfNx: (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. * tgammafN: (libc)Special Functions. * tgammafNx: (libc)Special Functions. * tgammal: (libc)Special Functions. * thrd_create: (libc)ISO C Thread Management. * thrd_current: (libc)ISO C Thread Management. * thrd_detach: (libc)ISO C Thread Management. * thrd_equal: (libc)ISO C Thread Management. * thrd_exit: (libc)ISO C Thread Management. * thrd_join: (libc)ISO C Thread Management. * thrd_sleep: (libc)ISO C Thread Management. * thrd_yield: (libc)ISO C Thread Management. * 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. * totalorder: (libc)FP Comparison Functions. * totalorderf: (libc)FP Comparison Functions. * totalorderfN: (libc)FP Comparison Functions. * totalorderfNx: (libc)FP Comparison Functions. * totalorderl: (libc)FP Comparison Functions. * totalordermag: (libc)FP Comparison Functions. * totalordermagf: (libc)FP Comparison Functions. * totalordermagfN: (libc)FP Comparison Functions. * totalordermagfNx: (libc)FP Comparison Functions. * totalordermagl: (libc)FP Comparison Functions. * 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. * truncfN: (libc)Rounding Functions. * truncfNx: (libc)Rounding Functions. * truncl: (libc)Rounding Functions. * tsearch: (libc)Tree Search Function. * tss_create: (libc)ISO C Thread-local Storage. * tss_delete: (libc)ISO C Thread-local Storage. * tss_get: (libc)ISO C Thread-local Storage. * tss_set: (libc)ISO C Thread-local Storage. * ttyname: (libc)Is It a Terminal. * ttyname_r: (libc)Is It a Terminal. * twalk: (libc)Tree Search Function. * tzset: (libc)Time Zone Functions. * ufromfp: (libc)Rounding Functions. * ufromfpf: (libc)Rounding Functions. * ufromfpfN: (libc)Rounding Functions. * ufromfpfNx: (libc)Rounding Functions. * ufromfpl: (libc)Rounding Functions. * ufromfpx: (libc)Rounding Functions. * ufromfpxf: (libc)Rounding Functions. * ufromfpxfN: (libc)Rounding Functions. * ufromfpxfNx: (libc)Rounding Functions. * ufromfpxl: (libc)Rounding 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. * wcstofN: (libc)Parsing of Floats. * wcstofNx: (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. * y0fN: (libc)Special Functions. * y0fNx: (libc)Special Functions. * y0l: (libc)Special Functions. * y1: (libc)Special Functions. * y1f: (libc)Special Functions. * y1fN: (libc)Special Functions. * y1fNx: (libc)Special Functions. * y1l: (libc)Special Functions. * yn: (libc)Special Functions. * ynf: (libc)Special Functions. * ynfN: (libc)Special Functions. * ynfNx: (libc)Special Functions. * ynl: (libc)Special Functions. END-INFO-DIR-ENTRY  File: libc.info, Node: Adding Platform-specific, Up: Source Layout D.1.1 Platform-specific types, macros and functions --------------------------------------------------- It’s 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 won’t 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 file’s name should include the platform name, to avoid users thinking there is anything in common between the different 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 needn’t 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 that’s 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 you’re 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 ‘’, and makes GNU ld warn when the function is used. Some rare functions are only useful on specific systems and aren’t 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 system’s 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 manufacturer’s 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’: sysdeps/i386/elf 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 * RISC-V:: Facilities Specific to the RISC-V Architecture  File: libc.info, Node: PowerPC, Next: RISC-V, 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 processor’s 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 program’s 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: RISC-V, Prev: PowerPC, Up: Platform E.2 RISC-V-specific Facilities ============================== Cache management facilities specific to RISC-V systems that implement the Linux ABI are declared in ‘sys/cachectl.h’. -- Function: void __riscv_flush_icache (void *START, void *END, unsigned long int FLAGS) Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety Concepts::. Enforce ordering between stores and instruction cache fetches. The range of addresses over which ordering is enforced is specified by START and END. The FLAGS argument controls the extent of this ordering, with the default behavior (a FLAGS value of 0) being to enforce the fence on all threads in the current process. Setting the ‘SYS_RISCV_FLUSH_ICACHE_LOCAL’ bit allows users to indicate that enforcing ordering on only the current thread is necessary. All other flag bits are reserved.  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. • Nick Alcock for contributing fixes to allow the GNU C Library to be built with the stack smashing protector enabled. • John David Anglin for various fixes to the hppa port. • 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. • Rogerio Alves Cardoso for various fixes to PowerPC. • Paul Clarke for optimized functions on PowerPC. • Palmer Dabbelt for contributing the port to Linux/RISC-V. • DJ Delorie for maintenance of Linux/RISC-V, and various fixes. • Wilco Dijkstra for various fixes. • Liubov Dmitrieva for optimized 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: • writing most of the POSIX Threads Library originally. • 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 • Wilco Dijkstra for various fixes. • 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. • Mike FABIAN for automating Unicode updates, for updating the locale data for ISO 14651, for updating the library Unicode support, and for various locale updates and 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 and various fixes. • Mike Frysinger for his maintaining of the IA64 architecture and for testing and bug fixing. • Martin Galvan for contributing gdb pretty printer support to glibc and adding an initial set of pretty printers for structures in the POSIX Threads library. • Michael Glad for the passphrase-hashing function ‘crypt’ and related functions. • Wolfram Gloger for contributing the memory allocation functions functions ‘malloc’, ‘realloc’ and ‘free’ and related code. • Gabriel F. T. Gomes for his improvements for Linux on PowerPC and for implementing the IEEE 128-bit floating point type for PowerPC. • 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’) and software floating-point support. • 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. • Rical Jasan for contributing various fixes in the GNU C Library manual. • Jakub Jelinek for implementing a number of checking functions, software floating-point support and for his direction as part of the GNU C Library steering committee. • Simon Josefsson for the ‘libidn’ add-on. • 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 a 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. • Maxim Kuvyrkov for various fixes. • 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’). • Akhilesh Kumar for various fixes to locales. • Jeff Law for various fixes. • Doug Lea for contributing the memory allocation 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, for implementing Intel Control-Flow Enforcement Technology, and many bug fixes. • Rafal Luzynski for contributing support for two grammatical forms of month names, and for various fixes to locales. • 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’) and support for the generic Linux kernel syscall interface used by several newer ports. • 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’). • Wainer dos Santos Moschetta for various fixes to powerpc. • 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. • Paul E. Murphy for various fixes on PowerPC and for implementing the IEEE 128-bit floating point type for PowerPC. • Joseph S. Myers for numerous bug fixes for the libm functions, for his maintainership of the ARM and MIPS architectures and the math component, 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. • Marko Myllynen for various fixes. • Szabolcs Nagy for various fixes. • Will Newton for contributing some optimized string functions and pointer encryption support for ARM and various fixes. • Carlos O’Donell 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, an implementation of a framework for performance benchmarking of functions and implementing the tunables infrastructure. • 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 new algorithms for semaphores, pthread_rwlock and condition variables. • Maciej W. Rozycki for MIPS fixes, support for ABSOLUTE symbols, and various fixes. • 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’), for his direction as part of the GNU C Library steering committee, and for various bug fixes. • 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. • Andrew Senkevich for contributing vector math function implementations for x86. • Carlos Eduardo Seo for optimized functions on PowerPC. • Arjun Shankar for testing and bug fixing. • Marcus Shawcroft for contributing the AArch64 port. • Franz Sirl for various fixes. • Jes Sorensen for porting to Linux on IA64 (‘ia64-ANYTHING-linux’). • Rajalakshmi Srinivasaraghavan for various fixes and optimizations on PowerPC and for implementing the IEEE 128-bit floating point type for PowerPC. • Richard Stallman for his contribution to the ‘getopt’ function. • Alfred M. Szmidt for various fixes. • Chung-Lin Tang for contributing the Nios II port. • Ian Lance Taylor for contributing the port to the MIPS DECStation running Ultrix 4 (‘mips-dec-ultrix4’). • Samuel Thibault for improving the Hurd port. • Pino Toscano for various fixes. • Tim Waugh for the implementation of the POSIX.2 ‘wordexp’ function family. • Florian Weimer for his maintainership of the network component, for handling of security issues, and for various fixes. • Zack Weinberg for the ‘explicit_bzero’ implementation and for various fixes. • Eric Youngdale for implementing versioning of objects on the symbol level. • Adhemerval Zanella for optimized functions on PowerPC, ISO C threads support and various fixes. 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 Berkeley’s. • 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 8.2.3-T5B, 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 Sun’s 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 wasn’t 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 author’s 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 don’t obstruct the community’s 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 don’t 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 you’re not sure whether a proposed license is free, write to . 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 .  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 author’s 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 user’s 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 Library’s 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 customer’s 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 user’s 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 That’s 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. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document “free” in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text. The “publisher” means any person or entity that distributes copies of the Document to the public. A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles. You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.” 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See . Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site. “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. “Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents ==================================================== To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (C) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with...Texts.” line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.  File: libc.info, Node: Concept Index, Next: Type Index, Prev: Documentation License, Up: Top Concept Index ************* [index] * Menu: * !posix: Other Safety Remarks. (line 135) * .lib section in a.out corrupted: Error Codes. (line 754) * /condition: Other Safety Remarks. (line 168) * /etc/hostname: Host Identification. (line 93) * /etc/nsswitch.conf: NSS Configuration File. (line 6) * 4.N BSD Unix: Berkeley Unix. (line 6) * :identifier: Other Safety Remarks. (line 147) * ?: Error Codes. (line 563) * _POSIX_OPTION_ORDER environment variable.: Standard Environment. (line 118) * _POSIX_SAVED_IDS: How Change Persona. (line 6) * abort signal: Program Error Signals. (line 141) * 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 a corrupted shared library: Error Codes. (line 750) * accessing directories: Accessing Directories. (line 6) * Address already in use: Error Codes. (line 330) * Address family not supported by protocol: Error Codes. (line 324) * address of socket: Socket Addresses. (line 6) * address space: Memory Subsystem. (line 6) * address space <1>: Program Basics. (line 6) * Advertise error: Error Codes. (line 718) * alarm signal: Alarm Signals. (line 20) * 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 43) * alphabetic character <1>: Classification of Wide Characters. (line 93) * alphanumeric character: Classification of Characters. (line 64) * alphanumeric character <1>: Classification of Wide Characters. (line 77) * alternative malloc implementations: Replacing malloc. (line 6) * 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 list too long: Error Codes. (line 52) * 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 153) * 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) * Attempting to link in too many shared libraries: Error Codes. (line 758) * attributes of a file: Attribute Meanings. (line 6) * Authentication error: Error Codes. (line 508) * 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) * Bad address: Error Codes. (line 95) * Bad file descriptor: Error Codes. (line 65) * Bad font file format: Error Codes. (line 706) * Bad message: Error Codes. (line 580) * 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 117) * blank character <1>: Classification of Wide Characters. (line 275) * Block device required: Error Codes. (line 100) * 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 112) * break condition, detecting: Input Modes. (line 63) * break condition, generating: Line Control. (line 14) * breaking a string into tokens: Finding Tokens in a String. (line 6) * Broken pipe: Error Codes. (line 202) * broken pipe signal: Operation Error Signals. (line 14) * 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 138) * butterfly: Misc FP Arithmetic. (line 92) * byte order conversion, for socket: Byte Order. (line 6) * byte stream: Socket Concepts. (line 12) * C threads: ISO C Threads. (line 6) * 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) * call once: Call Once. (line 6) * calling variadic functions: Calling Variadics. (line 6) * Can not access a needed shared library: Error Codes. (line 746) * Cannot allocate memory: Error Codes. (line 85) * Cannot assign requested address: Error Codes. (line 335) * Cannot exec a shared library directly: Error Codes. (line 762) * Cannot send after transport endpoint shutdown: Error Codes. (line 394) * canonical input processing: Canonical or Not. (line 9) * capacity limits, POSIX: General Limits. (line 6) * carrier detect: Control Modes. (line 22) * 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 20) * changing the size of a block (malloc): Changing Block Size. (line 6) * changing the size of a block (obstacks): Growing Objects. (line 6) * Channel number out of range: Error Codes. (line 646) * 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 33) * child process <1>: Processes. (line 13) * child process <2>: Process Creation Concepts. (line 15) * child process signal: Job Control Signals. (line 15) * 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 67) * 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 54) * 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 error on send: Error Codes. (line 726) * 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 264) * complex logarithm functions: Exponents and Logarithms. (line 264) * complex numbers: Complex Numbers. (line 6) * complex trigonometric functions: Trig Functions. (line 82) * Computer bought the farm: Error Codes. (line 571) * concatenating strings: Copying Strings and Arrays. (line 9) * concatenating strings <1>: Concatenating Strings. (line 6) * condition variables: ISO C Condition Variables. (line 6) * Conditionally Safe Features: Conditionally Safe Features. (line 6) * condvar: ISO C Condition Variables. (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) * Connection refused: Error Codes. (line 408) * Connection reset by peer: Error Codes. (line 361) * Connection timed out: Error Codes. (line 403) * 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 31) * control character: Classification of Characters. (line 145) * control character <1>: Classification of Wide Characters. (line 113) * 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 85) * 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 86) * 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 files: Copying File Data. (line 6) * 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 23) * 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) * CRNG: Unpredictable Bytes. (line 6) * cryptographic random number generator: Unpredictable Bytes. (line 6) * CSPRNG: Unpredictable Bytes. (line 6) * cube root function: Exponents and Logarithms. (line 210) * 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 malloc: Replacing malloc. (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) * data_cache_size tunables: Hardware Capability Tunables. (line 6) * date: Time Basics. (line 16) * Daylight Saving Time: Broken-down Time. (line 63) * decimal digit character: Classification of Characters. (line 57) * 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 39) * 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 57) * deleting a directory: Deleting Files. (line 59) * deleting a file: Deleting Files. (line 6) * delivery of signals: Delivery of Signal. (line 6) * descriptors and streams: Stream/Descriptor Precautions. (line 6) * Destination address required: Error Codes. (line 387) * deterministic random bit generator: Unpredictable Bytes. (line 6) * Device not a stream: Error Codes. (line 608) * Device or resource busy: Error Codes. (line 106) * digit character: Classification of Characters. (line 57) * digit character <1>: Classification of Wide Characters. (line 127) * directories, accessing: Accessing Directories. (line 6) * directories, creating: Creating Directories. (line 6) * directories, deleting: Deleting Files. (line 59) * directory: Directories. (line 9) * directory entry: Directories. (line 9) * directory hierarchy: Working with Directory Trees. (line 6) * Directory not empty: Error Codes. (line 436) * directory stream: Accessing Directories. (line 10) * disadvantages of alloca: Disadvantages of Alloca. (line 6) * DISCARD character: Other Special. (line 26) * Disk quota exceeded: Error Codes. (line 453) * 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 30) * 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) * DRBG: Unpredictable Bytes. (line 6) * DSUSP character: Signal Characters. (line 57) * 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 167) * echo of terminal input: Local Modes. (line 26) * effective group ID: Process Persona. (line 6) * effective user ID: Process Persona. (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 47) * elapsed time: Time Basics. (line 24) * elapsed time <1>: Elapsed Time. (line 6) * elision tunables: Elision Tunables. (line 6) * end of file, on a stream: EOF and Errors. (line 6) * end-of-file, on a file descriptor: I/O Primitives. (line 26) * 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 11) * EOL character: Editing Characters. (line 24) * EOL2 character: Editing Characters. (line 38) * epoch: Simple Calendar Time. (line 10) * ERASE character: Editing Characters. (line 51) * errno: System Calls. (line 59) * error codes: Error Reporting. (line 6) * error messages, in argp: Argp Helper Functions. (line 33) * 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 199) * EUC-JP: glibc iconv Implementation. (line 56) * exception: FP Exceptions. (line 6) * exception <1>: Program Error Signals. (line 49) * Exchange full: Error Codes. (line 686) * exclusive lock: File Locks. (line 15) * Exec format error: Error Codes. (line 59) * 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 copy: Copying File Data. (line 6) * file creation mask: Setting Permissions. (line 6) * file descriptor flags: Descriptor Flags. (line 6) * File descriptor in bad state: Error Codes. (line 738) * file descriptor sets, for select: Waiting for I/O. (line 30) * file descriptors, standard: Descriptors and Streams. (line 61) * File exists: Error Codes. (line 112) * file fragmentation: Storage Allocation. (line 6) * File locking deadlock error: Error Codes. (line 702) * 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 too long: Error Codes. (line 420) * 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) * File too large: Error Codes. (line 177) * files, accessing: Memory Concepts. (line 83) * files, sparse: Storage Allocation. (line 6) * filtering i/o through subprocess: Pipe to a Subprocess. (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 49) * flow control, terminal: Line Control. (line 108) * flushing a stream: Flushing Buffers. (line 6) * flushing terminal output queue: Line Control. (line 38) * 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 not implemented: Error Codes. (line 516) * function prototypes (variadic): Variadic Prototypes. (line 6) * gamma function: Special Functions. (line 6) * gcvt_r: System V Number Conversion. (line 107) * 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) * gnu allocator: The GNU Allocator. (line 6) * graphic character: Classification of Characters. (line 128) * graphic character <1>: Classification of Wide Characters. (line 151) * Gratuitous error: Error Codes. (line 576) * 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 77) * hard limit: Limits on Resources. (line 24) * hard link: Hard Links. (line 6) * hardware capability tunables: Hardware Capability Tunables. (line 6) * hashing, passphrase: Passphrase Storage. (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 73) * hexadecimal digit character <1>: Classification of Wide Characters. (line 255) * 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 63) * 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 is down: Error Codes. (line 426) * 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) * hwcap tunables: Hardware Capability Tunables. (line 6) * hwcaps tunables: Hardware Capability Tunables. (line 6) * hyperbolic functions: Hyperbolic Functions. (line 6) * hyperbolic functions <1>: Hyperbolic Functions. (line 51) * i18n: Unsafe Features. (line 79) * iconv: Unsafe Features. (line 67) * Identifier removed: Error Codes. (line 584) * 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 44) * illegal instruction: Program Error Signals. (line 109) * Illegal seek: Error Codes. (line 187) * impossible events: Consistency Checking. (line 6) * Inappropriate file type or format: Error Codes. (line 500) * Inappropriate ioctl for device: Error Codes. (line 162) * Inappropriate operation for background process: Error Codes. (line 546) * 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 195) * input available signal: Asynchronous I/O Signals. (line 14) * input conversions, for scanf: Table of Input Conversions. (line 6) * input from multiple files: Waiting for I/O. (line 6) * Input/output error: Error Codes. (line 39) * 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 103) * interactive stop signal: Job Control Signals. (line 62) * 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) * interposing malloc: Replacing malloc. (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 12) * interrupt signal: Termination Signals. (line 32) * interrupt-driven input: Interrupt Input. (line 6) * Interrupted system call: Error Codes. (line 29) * Interrupted system call should be restarted: Error Codes. (line 642) * interrupting primitives: Interrupted Primitives. (line 47) * interval: Time Basics. (line 20) * interval timer, setting: Setting an Alarm. (line 10) * INTR character: Signal Characters. (line 12) * Invalid argument: Error Codes. (line 139) * Invalid cross-device link: Error Codes. (line 117) * invalid exception: FP Exceptions. (line 6) * Invalid exchange: Error Codes. (line 678) * Invalid or incomplete multibyte or wide character: Error Codes. (line 539) * Invalid request code: Error Codes. (line 694) * Invalid request descriptor: Error Codes. (line 682) * Invalid slot: Error Codes. (line 698) * inverse complex hyperbolic functions: Hyperbolic Functions. (line 132) * inverse complex trigonometric functions: Inverse Trig Functions. (line 82) * inverse hyperbolic functions: Hyperbolic Functions. (line 93) * 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) * Is a directory: Error Codes. (line 134) * Is a named type file: Error Codes. (line 782) * ISO 10646: Extended Char Intro. (line 38) * ISO 2022: Extended Char Intro. (line 190) * ISO 6937: Extended Char Intro. (line 213) * ISO C: ISO C. (line 6) * ISO C threads: ISO C Threads. (line 6) * ISO-2022-JP: glibc iconv Implementation. (line 56) * 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) * Key has been revoked: Error Codes. (line 806) * Key has expired: Error Codes. (line 802) * Key was rejected by service: Error Codes. (line 810) * KILL character: Editing Characters. (line 91) * kill signal: Termination Signals. (line 74) * killing a process: Signaling Another Process. (line 6) * Korn Shell: Wildcard Matching. (line 79) * LANG environment variable: The catgets Functions. (line 101) * LANG environment variable <1>: Standard Environment. (line 73) * launching jobs: Launching Jobs. (line 6) * LC_ALL environment variable: The catgets Functions. (line 101) * LC_ALL environment variable <1>: 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 101) * LC_MESSAGES environment variable <1>: 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) * LD_PRELOAD and malloc: Replacing malloc. (line 6) * leap second: Broken-down Time. (line 29) * length of string: Representation of Strings. (line 61) * Level 2 halted: Error Codes. (line 674) * Level 2 not synchronized: Error Codes. (line 650) * Level 3 halted: Error Codes. (line 654) * Level 3 reset: Error Codes. (line 658) * 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 39) * 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 36) * limits, number of processes: General Limits. (line 29) * limits, number of supplementary group IDs: General Limits. (line 55) * limits, pipe buffer size: Limits for Files. (line 56) * limits, POSIX: General Limits. (line 6) * limits, program argument size: General Limits. (line 24) * limits, terminal input queue: Limits for Files. (line 29) * limits, time zone name length: General Limits. (line 48) * 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 has been severed: Error Codes. (line 596) * Link number out of range: Error Codes. (line 662) * 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 8) * load average: Processor Resources. (line 48) * 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 20) * 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 29) * lower-case character: Classification of Characters. (line 27) * lower-case character <1>: Classification of Wide Characters. (line 166) * Machine is not on the network: Error Codes. (line 710) * macros: Obstack Functions. (line 6) * main function: Program Arguments. (line 6) * malloc debugger: Allocation Debugging. (line 6) * malloc function: Unconstrained Allocation. (line 6) * malloc replacement: Replacing malloc. (line 6) * malloc tunables: Memory Allocation Tunables. (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 82) * measurements of floating types: Floating Type Macros. (line 6) * mem: Other Safety Remarks. (line 103) * memory allocation: Memory. (line 6) * memory allocation tunables: Memory Allocation Tunables. (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) * Memory page has hardware error: Error Codes. (line 818) * memory protection: Memory Protection. (line 6) * memory protection key: Memory Protection. (line 123) * merging of signals: Merged Signals. (line 6) * Message too long: Error Codes. (line 283) * MIN termios slot: Noncanonical Input. (line 27) * minimum: Misc FP Arithmetic. (line 6) * minimum field width (printf): Output Conversion Syntax. (line 67) * minimum possible integer: Integers. (line 82) * mixing descriptors and streams: Stream/Descriptor Precautions. (line 6) * modem disconnect: Control Modes. (line 34) * modem status lines: Control Modes. (line 22) * monetary value formatting: The Lame Way to Locale Data. (line 13) * MPK: Memory Protection. (line 123) * 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 167) * multibyte string: Representation of Strings. (line 22) * multibyte string <1>: Representation of Strings. (line 71) * Multihop attempted: Error Codes. (line 588) * multiple names for one file: Hard Links. (line 6) * multiplexing input: Waiting for I/O. (line 6) * multiply-add: Misc FP Arithmetic. (line 6) * mutex: ISO C Mutexes. (line 6) * mutual exclusion: ISO C Mutexes. (line 6) * Name not unique on network: Error Codes. (line 734) * name of running program: Error Messages. (line 81) * name of socket: Socket Addresses. (line 6) * Name Service Switch: Name Service Switch. (line 6) * name space: Reserved Names. (line 6) * names of signals: Standard Signals. (line 6) * namespace (of socket): Socket Concepts. (line 33) * NaN: Infinity and NaN. (line 6) * NaN <1>: FP Bit Twiddling. (line 113) * Need authenticator: Error Codes. (line 512) * netgroup: NSS Basics. (line 24) * Netgroup: Netgroup Data. (line 6) * network byte order: Byte Order. (line 11) * Network dropped connection on reset: Error Codes. (line 351) * Network is down: Error Codes. (line 341) * Network is unreachable: Error Codes. (line 346) * 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 110) * NIS domain name <2>: Host Identification. (line 122) * nisplus, and booting: Actions in the NSS configuration. (line 112) * nisplus, and completeness: Actions in the NSS configuration. (line 105) * NLSPATH environment variable: The catgets Functions. (line 33) * NLSPATH environment variable <1>: Standard Environment. (line 113) * No anode: Error Codes. (line 690) * No buffer space available: Error Codes. (line 367) * No child processes: Error Codes. (line 71) * No CSI structure available: Error Codes. (line 670) * No data available: Error Codes. (line 592) * No locks available: Error Codes. (line 493) * No medium found: Error Codes. (line 790) * No message of desired type: Error Codes. (line 600) * No route to host: Error Codes. (line 431) * No space left on device: Error Codes. (line 182) * No such device: Error Codes. (line 124) * No such device or address: Error Codes. (line 44) * No such file or directory: Error Codes. (line 19) * No such process: Error Codes. (line 25) * No XENIX semaphores available: Error Codes. (line 778) * non-blocking open: Open-time Flags. (line 60) * 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) * non_temporal_threshold tunables: Hardware Capability Tunables. (line 6) * normalization functions (floating-point): Normalization Functions. (line 6) * normalized floating point number: Floating Point Concepts. (line 58) * Not a directory: Error Codes. (line 129) * not a number: Infinity and NaN. (line 6) * Not a XENIX named type file: Error Codes. (line 774) * Not supported: Error Codes. (line 524) * 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) * Numerical argument out of domain: Error Codes. (line 210) * Numerical result out of range: Error Codes. (line 216) * Object is remote: Error Codes. (line 465) * obstack status: Status of an Obstack. (line 6) * obstacks: Obstacks. (line 6) * one-way hashing: Passphrase Storage. (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) * Operation already in progress: Error Codes. (line 273) * Operation canceled: Error Codes. (line 624) * Operation not permitted: Error Codes. (line 13) * Operation not possible due to RF-kill: Error Codes. (line 814) * Operation not supported: Error Codes. (line 309) * Operation now in progress: Error Codes. (line 261) * Operation would block: Error Codes. (line 252) * Optimization: FP Function Optimizations. (line 6) * optimizing NSS: Notes on NSS Configuration File. (line 31) * 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 99) * 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 streams resources: Error Codes. (line 604) * 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 14) * overflow exception: FP Exceptions. (line 6) * Owner died: Error Codes. (line 631) * owner of a file: File Owner. (line 6) * Package not installed: Error Codes. (line 714) * 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 protection: Memory Protection. (line 6) * 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 18) * 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) * passphrase hashing: Passphrase Storage. (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 denied: Error Codes. (line 90) * 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 14) * 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) * preempting malloc: Replacing malloc. (line 6) * preemptive scheduling: Absolute Priority. (line 17) * Preliminary: POSIX Safety Concepts. (line 75) * primitives, interrupting: Interrupted Primitives. (line 47) * printing character: Classification of Characters. (line 137) * printing character <1>: Classification of Wide Characters. (line 180) * 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 32) * profiling timer: Setting an Alarm. (line 22) * program: Program Basics. (line 6) * program argument syntax: Argument Syntax. (line 6) * program arguments: Program Arguments. (line 6) * program arguments, parsing: Parsing Program Arguments. (line 6) * program error signals: Program Error Signals. (line 6) * program name: Error Messages. (line 81) * program startup: Program Arguments. (line 6) * program termination: Program Termination. (line 6) * program termination signals: Termination Signals. (line 6) * programming your own streams: Custom Streams. (line 6) * project complex numbers: Operations on Complex. (line 6) * protection flags: Memory Protection. (line 6) * protection key: Memory Protection. (line 123) * protocol (of socket): Socket Concepts. (line 42) * Protocol driver not attached: Error Codes. (line 666) * Protocol error: Error Codes. (line 616) * protocol family: Socket Concepts. (line 42) * Protocol family not supported: Error Codes. (line 319) * Protocol not available: Error Codes. (line 293) * Protocol not supported: Error Codes. (line 299) * Protocol wrong type for socket: Error Codes. (line 288) * 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-random numbers, cryptographic: Unpredictable Bytes. (line 6) * pseudo-terminals: Pseudo-Terminals. (line 6) * pthreads: POSIX Threads. (line 6) * punctuation character: Classification of Characters. (line 82) * punctuation character <1>: Classification of Wide Characters. (line 194) * pushing input back: Unreading. (line 6) * quick sort function (for arrays): Array Sort Function. (line 6) * QUIT character: Signal Characters. (line 24) * quit signal: Termination Signals. (line 39) * quit signal <1>: Termination Signals. (line 39) * 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 numbers, cryptographic: Unpredictable Bytes. (line 6) * random-access files: File Position. (line 22) * randomness source: Unpredictable Bytes. (line 6) * range error: Math Error Reporting. (line 6) * range of integer type: Range of Type. (line 6) * read lock: File Locks. (line 19) * Read-only file system: Error Codes. (line 191) * reading from a directory: Accessing Directories. (line 6) * reading from a file descriptor: I/O Primitives. (line 16) * 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) * Remote address changed: Error Codes. (line 742) * Remote I/O error: Error Codes. (line 786) * 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) * replacing malloc: Replacing malloc. (line 6) * reporting bugs: Reporting Bugs. (line 6) * reporting errors: Error Reporting. (line 6) * REPRINT character: Editing Characters. (line 103) * Required key not available: Error Codes. (line 798) * reserved names: Reserved Names. (line 6) * Resource deadlock avoided: Error Codes. (line 77) * resource limits: Limits on Resources. (line 6) * Resource temporarily unavailable: Error Codes. (line 222) * restarting interrupted primitives: Interrupted Primitives. (line 47) * restrictions on signal handler functions: Nonreentrancy. (line 6) * RFS specific error: Error Codes. (line 730) * root directory: File Name Resolution. (line 19) * Rot13: Obfuscating Data. (line 6) * rpc: NSS Basics. (line 24) * RPC bad procedure for program: Error Codes. (line 489) * RPC program not available: Error Codes. (line 481) * RPC program version wrong: Error Codes. (line 485) * RPC struct is bad: Error Codes. (line 473) * RPC version wrong: Error Codes. (line 477) * 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 112) * 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 86) * severity class <1>: Adding Severity Classes. (line 6) * sgettext: GUI program problems. (line 57) * sgettext <1>: GUI program problems. (line 82) * 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) * shared_cache_size tunables: Hardware Capability Tunables. (line 6) * shell: Concepts of Job Control. (line 6) * shift state: Keeping the state. (line 16) * Shift_JIS: Extended Char Intro. (line 199) * shrinking objects: Growing Objects. (line 121) * 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) * single-call functions: Call Once. (line 6) * size of string: Representation of Strings. (line 61) * SJIS: Extended Char Intro. (line 199) * 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 operation on non-socket: Error Codes. (line 278) * 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 type not supported: Error Codes. (line 305) * 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) * Software caused connection abort: Error Codes. (line 356) * sort function (for arrays): Array Sort Function. (line 6) * sparse files: File Position Primitive. (line 63) * 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 196) * Srmount error: Error Codes. (line 722) * stable sorting: Array Sort Function. (line 24) * Stale file handle: Error Codes. (line 457) * 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 78) * standard error stream: Standard Streams. (line 27) * standard file descriptors: Descriptors and Streams. (line 61) * standard input file descriptor: Descriptors and Streams. (line 68) * standard input stream: Standard Streams. (line 17) * standard output file descriptor: Descriptors and Streams. (line 73) * standard output stream: Standard Streams. (line 22) * standard streams: Standard Streams. (line 6) * standards: Standards and Portability. (line 6) * START character: Start/Stop Characters. (line 12) * startup of program: Program Arguments. (line 6) * State not recoverable: Error Codes. (line 635) * stateful: Keeping the state. (line 6) * stateful <1>: Converting a Character. (line 94) * stateful <2>: Converting Strings. (line 71) * stateful <3>: Generic Conversion Interface. (line 121) * stateful <4>: iconv Examples. (line 96) * stateful <5>: glibc iconv Implementation. (line 600) * static memory allocation: Memory Allocation and C. (line 13) * static storage class: Memory Allocation and C. (line 13) * STATUS character: Other Special. (line 41) * 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 85) * STOP character: Start/Stop Characters. (line 30) * stop signal: Job Control Signals. (line 48) * 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 99) * 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 pipe error: Error Codes. (line 766) * 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) * Structure needs cleaning: Error Codes. (line 770) * 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 63) * SunOS: Berkeley Unix. (line 6) * supplementary group IDs: Process Persona. (line 6) * SUSP character: Signal Characters. (line 36) * suspend character: Signal Characters. (line 36) * SVID: SVID. (line 6) * swap space: Memory Concepts. (line 18) * symbolic link: Symbolic Links. (line 6) * symbolic link, opening: Open-time Flags. (line 101) * synchronizing: Synchronizing I/O. (line 6) * synchronizing <1>: Synchronizing AIO Operations. (line 17) * syntax error messages, in argp: Argp Helper Functions. (line 21) * syntax, for program arguments: Argument Syntax. (line 6) * syntax, for reading numbers: Parsing of Numbers. (line 6) * sysconf: Query Memory Parameters. (line 47) * sysconf <1>: Query Memory Parameters. (line 53) * sysconf <2>: Processor Resources. (line 13) * sysconf <3>: Processor Resources. (line 19) * system call: System Calls. (line 6) * system call number: System Calls. (line 46) * 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 108) * terminal identification: Is It a Terminal. (line 6) * terminal input queue: I/O Queues. (line 11) * terminal input queue, clearing: Line Control. (line 67) * terminal input signal: Job Control Signals. (line 71) * 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 38) * terminal output signal: Job Control Signals. (line 79) * terminated jobs, detecting: Stopped and Terminated Jobs. (line 6) * termination signal: Termination Signals. (line 23) * testing access permission: Testing File Access. (line 6) * testing exit status of child process: Process Completion. (line 6) * Text file busy: Error Codes. (line 168) * text stream: Binary Streams. (line 14) * thrashing: Memory Subsystem. (line 31) * thread control: ISO C Thread Management. (line 6) * thread creation: ISO C Thread Management. (line 6) * thread management: ISO C Thread Management. (line 6) * thread of control: Program Basics. (line 6) * thread-local storage: ISO C Thread-local Storage. (line 6) * Thread-Safe: POSIX Safety Concepts. (line 16) * Thread-Unsafe: POSIX Safety Concepts. (line 68) * threads: Streams and Threads. (line 6) * threads <1>: 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 36) * 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 expired: Error Codes. (line 620) * 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 45) * timeval: Elapsed Time. (line 32) * timing error in signal handling: Remembering a Signal. (line 72) * TMPDIR environment variable: Temporary Files. (line 147) * tokenizing strings: Finding Tokens in a String. (line 6) * Too many levels of symbolic links: Error Codes. (line 414) * Too many links: Error Codes. (line 196) * Too many open files: Error Codes. (line 144) * Too many open files in system: Error Codes. (line 155) * Too many processes: Error Codes. (line 442) * Too many references: cannot splice: Error Codes. (line 399) * Too many users: Error Codes. (line 448) * tools, for installing library: Tools for Compilation. (line 6) * Translator died: Error Codes. (line 556) * transmitting datagrams: Sending Datagrams. (line 6) * Transport endpoint is already connected: Error Codes. (line 374) * Transport endpoint is not connected: Error Codes. (line 379) * 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) * Tunable names: Tunable names. (line 6) * Tunable namespaces: Tunable names. (line 6) * tunables: Tunables. (line 6) * tunables, data_cache_size: Hardware Capability Tunables. (line 6) * tunables, elision: Elision Tunables. (line 6) * tunables, hwcap: Hardware Capability Tunables. (line 6) * tunables, hwcaps: Hardware Capability Tunables. (line 6) * tunables, malloc: Memory Allocation Tunables. (line 6) * tunables, non_temporal_threshold: Hardware Capability Tunables. (line 6) * tunables, shared_cache_size: Hardware Capability Tunables. (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 35) * upper-case character <1>: Classification of Wide Characters. (line 241) * urgent data signal: Asynchronous I/O Signals. (line 26) * 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 13) * usual file name errors: File Name Errors. (line 6) * UTF-16: Extended Char Intro. (line 53) * UTF-7: Extended Char Intro. (line 234) * UTF-8: Extended Char Intro. (line 53) * UTF-8 <1>: Extended Char Intro. (line 226) * Value too large for defined data type: Error Codes. (line 612) * 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 72) * virtual time alarm signal: Alarm Signals. (line 26) * 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 66) * whitespace character: Classification of Characters. (line 90) * whitespace character <1>: Classification of Wide Characters. (line 208) * 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 168) * 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) * Wrong medium type: Error Codes. (line 794) * You really blew it this time: Error Codes. (line 567) * YP: Host Identification. (line 37) * YP domain name: Host Identification. (line 37) * YP domain name <1>: Host Identification. (line 110) * YP domain name <2>: Host Identification. (line 122) * zero divide: FP Exceptions. (line 6)