| This is |
| /tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/obj/glibc/manual/libc.info, |
| produced by makeinfo version 4.13 from libc.texinfo. |
| |
| 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_DIRECTORY: (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. |
| * getcpu: (libc)CPU Affinity. |
| * getcwd: (libc)Working Directory. |
| * getdate: (libc)General Time String Parsing. |
| * getdate_r: (libc)General Time String Parsing. |
| * getdelim: (libc)Line Input. |
| * getdents64: (libc)Low-level Directory Access. |
| * 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. |
| * gettid: (libc)Process Identification. |
| * 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_cond_clockwait: (libc)Default Thread Attributes. |
| * 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_rwlock_clockrdlock: (libc)Default Thread Attributes. |
| * pthread_rwlock_clockwrlock: (libc)Default Thread Attributes. |
| * 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_clockwait: (libc)Default Thread Attributes. |
| * 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. |
| * tgkill: (libc)Signaling Another Process. |
| * 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. |
| * twalk_r: (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 |
| |
| This file documents the GNU C Library. |
| |
| This is `The GNU C Library Reference Manual', for version 2.30 |
| (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)). |
| |
| Copyright (C) 1993-2019 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." |
| |
| |
| File: libc.info, Node: Memory Allocation Tunables, Next: Elision Tunables, Prev: Tunable names, Up: Tunables |
| |
| 37.2 Memory Allocation Tunables |
| =============================== |
| |
| -- Tunable namespace: glibc.malloc |
| Memory allocation behavior can be modified by setting any of the |
| following tunables in the `malloc' namespace: |
| |
| -- Tunable: glibc.malloc.check |
| This tunable supersedes the `MALLOC_CHECK_' environment variable |
| and is identical in features. |
| |
| Setting this tunable to a non-zero value enables a special (less |
| efficient) memory allocator for the malloc family of functions |
| that is designed to be tolerant against simple errors such as |
| double calls of free with the same argument, or overruns of a |
| single byte (off-by-one bugs). Not all such errors can be |
| protected against, however, and memory leaks can result. Any |
| detected heap corruption results in immediate termination of the |
| process. |
| |
| Like `MALLOC_CHECK_', `glibc.malloc.check' has a problem in that it |
| diverges from normal program behavior by writing to `stderr', |
| which could by exploited in SUID and SGID binaries. Therefore, |
| `glibc.malloc.check' is disabled by default for SUID and SGID |
| binaries. This can be enabled again by the system administrator |
| by adding a file `/etc/suid-debug'; the content of the file could |
| be anything or even empty. |
| |
| -- Tunable: glibc.malloc.top_pad |
| This tunable supersedes the `MALLOC_TOP_PAD_' environment variable |
| and is identical in features. |
| |
| This tunable determines the amount of extra memory in bytes to |
| obtain from the system when any of the arenas need to be extended. |
| It also specifies the number of bytes to retain when shrinking any |
| of the arenas. This provides the necessary hysteresis in heap |
| size such that excessive amounts of system calls can be avoided. |
| |
| The default value of this tunable is `0'. |
| |
| -- Tunable: glibc.malloc.perturb |
| This tunable supersedes the `MALLOC_PERTURB_' environment variable |
| and is identical in features. |
| |
| If set to a non-zero value, memory blocks are initialized with |
| values depending on some low order bits of this tunable when they |
| are allocated (except when allocated by calloc) and freed. This |
| can be used to debug the use of uninitialized or freed heap |
| memory. Note that this option does not guarantee that the freed |
| block will have any specific values. It only guarantees that the |
| content the block had before it was freed will be overwritten. |
| |
| The default value of this tunable is `0'. |
| |
| -- Tunable: glibc.malloc.mmap_threshold |
| This tunable supersedes the `MALLOC_MMAP_THRESHOLD_' environment |
| variable and is identical in features. |
| |
| When this tunable is set, all chunks larger than this value in |
| bytes are allocated outside the normal heap, using the `mmap' |
| system call. This way it is guaranteed that the memory for these |
| chunks can be returned to the system on `free'. Note that requests |
| smaller than this threshold might still be allocated via `mmap'. |
| |
| If this tunable is not set, the default value is set to `131072' |
| bytes and the threshold is adjusted dynamically to suit the |
| allocation patterns of the program. If the tunable is set, the |
| dynamic adjustment is disabled and the value is set as static. |
| |
| -- Tunable: glibc.malloc.trim_threshold |
| This tunable supersedes the `MALLOC_TRIM_THRESHOLD_' environment |
| variable and is identical in features. |
| |
| The value of this tunable is the minimum size (in bytes) of the |
| top-most, releasable chunk in an arena that will trigger a system |
| call in order to return memory to the system from that arena. |
| |
| If this tunable is not set, the default value is set as 128 KB and |
| the threshold is adjusted dynamically to suit the allocation |
| patterns of the program. If the tunable is set, the dynamic |
| adjustment is disabled and the value is set as static. |
| |
| -- Tunable: glibc.malloc.mmap_max |
| This tunable supersedes the `MALLOC_MMAP_MAX_' environment |
| variable and is identical in features. |
| |
| The value of this tunable is maximum number of chunks to allocate |
| with `mmap'. Setting this to zero disables all use of `mmap'. |
| |
| The default value of this tunable is `65536'. |
| |
| -- Tunable: glibc.malloc.arena_test |
| This tunable supersedes the `MALLOC_ARENA_TEST' environment |
| variable and is identical in features. |
| |
| The `glibc.malloc.arena_test' tunable specifies the number of |
| arenas that can be created before the test on the limit to the |
| number of arenas is conducted. The value is ignored if |
| `glibc.malloc.arena_max' is set. |
| |
| The default value of this tunable is 2 for 32-bit systems and 8 |
| for 64-bit systems. |
| |
| -- Tunable: glibc.malloc.arena_max |
| This tunable supersedes the `MALLOC_ARENA_MAX' environment |
| variable and is identical in features. |
| |
| This tunable sets the number of arenas to use in a process |
| regardless of the number of cores in the system. |
| |
| The default value of this tunable is `0', meaning that the limit |
| on the number of arenas is determined by the number of CPU cores |
| online. For 32-bit systems the limit is twice the number of cores |
| online and on 64-bit systems, it is 8 times the number of cores |
| online. |
| |
| -- Tunable: glibc.malloc.tcache_max |
| The maximum size of a request (in bytes) which may be met via the |
| per-thread cache. The default (and maximum) value is 1032 bytes on |
| 64-bit systems and 516 bytes on 32-bit systems. |
| |
| -- Tunable: glibc.malloc.tcache_count |
| The maximum number of chunks of each size to cache. The default is |
| 7. The upper limit is 65535. If set to zero, the per-thread |
| cache is effectively disabled. |
| |
| The approximate maximum overhead of the per-thread cache is thus |
| equal to the number of bins times the chunk count in each bin |
| times the size of each chunk. With defaults, the approximate |
| maximum overhead of the per-thread cache is approximately 236 KB |
| on 64-bit systems and 118 KB on 32-bit systems. |
| |
| -- Tunable: glibc.malloc.tcache_unsorted_limit |
| When the user requests memory and the request cannot be met via the |
| per-thread cache, the arenas are used to meet the request. At this |
| time, additional chunks will be moved from existing arena lists to |
| pre-fill the corresponding cache. While copies from the fastbins, |
| smallbins, and regular bins are bounded and predictable due to the |
| bin sizes, copies from the unsorted bin are not bounded, and incur |
| additional time penalties as they need to be sorted as they're |
| scanned. To make scanning the unsorted list more predictable and |
| bounded, the user may set this tunable to limit the number of |
| chunks that are scanned from the unsorted list while searching for |
| chunks to pre-fill the per-thread cache with. The default, or |
| when set to zero, is no limit. |
| |
| -- Tunable: glibc.malloc.mxfast |
| One of the optimizations malloc uses is to maintain a series of |
| "fast bins" that hold chunks up to a specific size. The default |
| and maximum size which may be held this way is 80 bytes on 32-bit |
| systems or 160 bytes on 64-bit systems. Applications which value |
| size over speed may choose to reduce the size of requests which |
| are serviced from fast bins with this tunable. Note that the |
| value specified includes malloc's internal overhead, which is |
| normally the size of one pointer, so add 4 on 32-bit systems or 8 |
| on 64-bit systems to the size passed to `malloc' for the largest |
| bin size to enable. |
| |
| |
| File: libc.info, Node: Elision Tunables, Next: POSIX Thread Tunables, Prev: Memory Allocation Tunables, Up: Tunables |
| |
| 37.3 Elision Tunables |
| ===================== |
| |
| -- Tunable namespace: glibc.elision |
| Contended locks are usually slow and can lead to performance and |
| scalability issues in multithread code. Lock elision will use |
| memory transactions to under certain conditions, to elide locks |
| and improve performance. Elision behavior can be modified by |
| setting the following tunables in the `elision' namespace: |
| |
| -- Tunable: glibc.elision.enable |
| The `glibc.elision.enable' tunable enables lock elision if the |
| feature is supported by the hardware. If elision is not supported |
| by the hardware this tunable has no effect. |
| |
| Elision tunables are supported for 64-bit Intel, IBM POWER, and z |
| System architectures. |
| |
| -- Tunable: glibc.elision.skip_lock_busy |
| The `glibc.elision.skip_lock_busy' tunable sets how many times to |
| use a non-transactional lock after a transactional failure has |
| occurred because the lock is already acquired. Expressed in |
| number of lock acquisition attempts. |
| |
| The default value of this tunable is `3'. |
| |
| -- Tunable: glibc.elision.skip_lock_internal_abort |
| The `glibc.elision.skip_lock_internal_abort' tunable sets how many |
| times the thread should avoid using elision if a transaction |
| aborted for any reason other than a different thread's memory |
| accesses. Expressed in number of lock acquisition attempts. |
| |
| The default value of this tunable is `3'. |
| |
| -- Tunable: glibc.elision.skip_lock_after_retries |
| The `glibc.elision.skip_lock_after_retries' tunable sets how many |
| times to try to elide a lock with transactions, that only failed |
| due to a different thread's memory accesses, before falling back |
| to regular lock. Expressed in number of lock elision attempts. |
| |
| This tunable is supported only on IBM POWER, and z System |
| architectures. |
| |
| The default value of this tunable is `3'. |
| |
| -- Tunable: glibc.elision.tries |
| The `glibc.elision.tries' sets how many times to retry elision if |
| there is chance for the transaction to finish execution e.g., it |
| wasn't aborted due to the lock being already acquired. If elision |
| is not supported by the hardware this tunable is set to `0' to |
| avoid retries. |
| |
| The default value of this tunable is `3'. |
| |
| -- Tunable: glibc.elision.skip_trylock_internal_abort |
| The `glibc.elision.skip_trylock_internal_abort' tunable sets how |
| many times the thread should avoid trying the lock if a |
| transaction aborted due to reasons other than a different thread's |
| memory accesses. Expressed in number of try lock attempts. |
| |
| The default value of this tunable is `3'. |
| |
| |
| File: libc.info, Node: POSIX Thread Tunables, Next: Hardware Capability Tunables, Prev: Elision Tunables, Up: Tunables |
| |
| 37.4 POSIX Thread Tunables |
| ========================== |
| |
| -- Tunable namespace: glibc.pthread |
| The behavior of POSIX threads can be tuned to gain performance |
| improvements according to specific hardware capabilities and |
| workload characteristics by setting the following tunables in the |
| `pthread' namespace: |
| |
| -- Tunable: glibc.pthread.mutex_spin_count |
| The `glibc.pthread.mutex_spin_count' tunable sets the maximum |
| number of times a thread should spin on the lock before calling |
| into the kernel to block. Adaptive spin is used for mutexes |
| initialized with the `PTHREAD_MUTEX_ADAPTIVE_NP' GNU extension. |
| It affects both `pthread_mutex_lock' and `pthread_mutex_timedlock'. |
| |
| The thread spins until either the maximum spin count is reached or |
| the lock is acquired. |
| |
| The default value of this tunable is `100'. |
| |
| |
| File: libc.info, Node: Hardware Capability Tunables, Prev: POSIX Thread Tunables, Up: Tunables |
| |
| 37.5 Hardware Capability Tunables |
| ================================= |
| |
| -- Tunable namespace: glibc.cpu |
| Behavior of the GNU C Library can be tuned to assume specific |
| hardware capabilities by setting the following tunables in the |
| `cpu' namespace: |
| |
| -- Tunable: glibc.cpu.hwcap_mask |
| This tunable supersedes the `LD_HWCAP_MASK' environment variable |
| and is identical in features. |
| |
| The `AT_HWCAP' key in the Auxiliary Vector specifies instruction |
| set extensions available in the processor at runtime for some |
| architectures. The `glibc.cpu.hwcap_mask' tunable allows the user |
| to mask out those capabilities at runtime, thus disabling use of |
| those extensions. |
| |
| -- Tunable: glibc.cpu.hwcaps |
| The `glibc.cpu.hwcaps=-xxx,yyy,-zzz...' tunable allows the user to |
| enable CPU/ARCH feature `yyy', disable CPU/ARCH feature `xxx' and |
| `zzz' where the feature name is case-sensitive and has to match |
| the ones in `sysdeps/x86/cpu-features.h'. |
| |
| This tunable is specific to i386 and x86-64. |
| |
| -- Tunable: glibc.cpu.cached_memopt |
| The `glibc.cpu.cached_memopt=[0|1]' tunable allows the user to |
| enable optimizations recommended for cacheable memory. If set to |
| `1', the GNU C Library assumes that the process memory image |
| consists of cacheable (non-device) memory only. The default, `0', |
| indicates that the process may use device memory. |
| |
| This tunable is specific to powerpc, powerpc64 and powerpc64le. |
| |
| -- Tunable: glibc.cpu.name |
| The `glibc.cpu.name=xxx' tunable allows the user to tell the GNU C |
| Library to assume that the CPU is `xxx' where xxx may have one of |
| these values: `generic', `falkor', `thunderxt88', `thunderx2t99', |
| `thunderx2t99p1', `ares', `emag'. |
| |
| This tunable is specific to aarch64. |
| |
| -- Tunable: glibc.cpu.x86_data_cache_size |
| The `glibc.cpu.x86_data_cache_size' tunable allows the user to set |
| data cache size in bytes for use in memory and string routines. |
| |
| This tunable is specific to i386 and x86-64. |
| |
| -- Tunable: glibc.cpu.x86_shared_cache_size |
| The `glibc.cpu.x86_shared_cache_size' tunable allows the user to |
| set shared cache size in bytes for use in memory and string |
| routines. |
| |
| -- Tunable: glibc.cpu.x86_non_temporal_threshold |
| The `glibc.cpu.x86_non_temporal_threshold' tunable allows the user |
| to set threshold in bytes for non temporal store. |
| |
| This tunable is specific to i386 and x86-64. |
| |
| -- Tunable: glibc.cpu.x86_ibt |
| The `glibc.cpu.x86_ibt' tunable allows the user to control how |
| indirect branch tracking (IBT) should be enabled. Accepted values |
| are `on', `off', and `permissive'. `on' always turns on IBT |
| regardless of whether IBT is enabled in the executable and its |
| dependent shared libraries. `off' always turns off IBT regardless |
| of whether IBT is enabled in the executable and its dependent |
| shared libraries. `permissive' is the same as the default which |
| disables IBT on non-CET executables and shared libraries. |
| |
| This tunable is specific to i386 and x86-64. |
| |
| -- Tunable: glibc.cpu.x86_shstk |
| The `glibc.cpu.x86_shstk' tunable allows the user to control how |
| the shadow stack (SHSTK) should be enabled. Accepted values are |
| `on', `off', and `permissive'. `on' always turns on SHSTK |
| regardless of whether SHSTK is enabled in the executable and its |
| dependent shared libraries. `off' always turns off SHSTK |
| regardless of whether SHSTK is enabled in the executable and its |
| dependent shared libraries. `permissive' changes how dlopen works |
| on non-CET shared libraries. By default, when SHSTK is enabled, |
| dlopening a non-CET shared library returns an error. With |
| `permissive', it turns off SHSTK instead. |
| |
| This tunable is specific to i386 and x86-64. |
| |
| |
| File: libc.info, Node: Language Features, Next: Library Summary, Prev: Tunables, Up: Top |
| |
| Appendix A C Language Facilities in the Library |
| *********************************************** |
| |
| Some of the facilities implemented by the C library really should be |
| thought of as parts of the C language itself. These facilities ought to |
| be documented in the C Language Manual, not in the library manual; but |
| since we don't have the language manual yet, and documentation for these |
| features has been written, we are publishing it here. |
| |
| * Menu: |
| |
| * Consistency Checking:: Using `assert' to abort if |
| something ``impossible'' happens. |
| * Variadic Functions:: Defining functions with varying numbers |
| of args. |
| * Null Pointer Constant:: The macro `NULL'. |
| * Important Data Types:: Data types for object sizes. |
| * Data Type Measurements:: Parameters of data type representations. |
| |
| |
| File: libc.info, Node: Consistency Checking, Next: Variadic Functions, Up: Language Features |
| |
| A.1 Explicitly Checking Internal Consistency |
| ============================================ |
| |
| When you're writing a program, it's often a good idea to put in checks |
| at strategic places for "impossible" errors or violations of basic |
| assumptions. These kinds of checks are helpful in debugging problems |
| with the interfaces between different parts of the program, for example. |
| |
| The `assert' macro, defined in the header file `assert.h', provides |
| a convenient way to abort the program while printing a message about |
| where in the program the error was detected. |
| |
| Once you think your program is debugged, you can disable the error |
| checks performed by the `assert' macro by recompiling with the macro |
| `NDEBUG' defined. This means you don't actually have to change the |
| program source code to disable these checks. |
| |
| But disabling these consistency checks is undesirable unless they |
| make the program significantly slower. All else being equal, more error |
| checking is good no matter who is running the program. A wise user |
| would rather have a program crash, visibly, than have it return nonsense |
| without indicating anything might be wrong. |
| |
| -- Macro: void assert (int EXPRESSION) |
| Preliminary: | MT-Safe | AS-Unsafe heap corrupt | AC-Unsafe mem |
| lock corrupt | *Note POSIX Safety Concepts::. |
| |
| Verify the programmer's belief that EXPRESSION is nonzero at this |
| point in the program. |
| |
| If `NDEBUG' is not defined, `assert' tests the value of |
| EXPRESSION. If it is false (zero), `assert' aborts the program |
| (*note Aborting a Program::) after printing a message of the form: |
| |
| `FILE':LINENUM: FUNCTION: Assertion `EXPRESSION' failed. |
| |
| on the standard error stream `stderr' (*note Standard Streams::). |
| The filename and line number are taken from the C preprocessor |
| macros `__FILE__' and `__LINE__' and specify where the call to |
| `assert' was made. When using the GNU C compiler, the name of the |
| function which calls `assert' is taken from the built-in variable |
| `__PRETTY_FUNCTION__'; with older compilers, the function name and |
| following colon are omitted. |
| |
| If the preprocessor macro `NDEBUG' is defined before `assert.h' is |
| included, the `assert' macro is defined to do absolutely nothing. |
| |
| *Warning:* Even the argument expression EXPRESSION is not |
| evaluated if `NDEBUG' is in effect. So never use `assert' with |
| arguments that involve side effects. For example, `assert (++i > |
| 0);' is a bad idea, because `i' will not be incremented if |
| `NDEBUG' is defined. |
| |
| Sometimes the "impossible" condition you want to check for is an |
| error return from an operating system function. Then it is useful to |
| display not only where the program crashes, but also what error was |
| returned. The `assert_perror' macro makes this easy. |
| |
| -- Macro: void assert_perror (int ERRNUM) |
| Preliminary: | MT-Safe | AS-Unsafe heap corrupt | AC-Unsafe mem |
| lock corrupt | *Note POSIX Safety Concepts::. |
| |
| Similar to `assert', but verifies that ERRNUM is zero. |
| |
| If `NDEBUG' is not defined, `assert_perror' tests the value of |
| ERRNUM. If it is nonzero, `assert_perror' aborts the program |
| after printing a message of the form: |
| |
| `FILE':LINENUM: FUNCTION: ERROR TEXT |
| |
| on the standard error stream. The file name, line number, and |
| function name are as for `assert'. The error text is the result of |
| `strerror (ERRNUM)'. *Note Error Messages::. |
| |
| Like `assert', if `NDEBUG' is defined before `assert.h' is |
| included, the `assert_perror' macro does absolutely nothing. It |
| does not evaluate the argument, so ERRNUM should not have any side |
| effects. It is best for ERRNUM to be just a simple variable |
| reference; often it will be `errno'. |
| |
| This macro is a GNU extension. |
| |
| *Usage note:* The `assert' facility is designed for detecting |
| _internal inconsistency_; it is not suitable for reporting invalid |
| input or improper usage by the _user_ of the program. |
| |
| The information in the diagnostic messages printed by the `assert' |
| and `assert_perror' macro is intended to help you, the programmer, |
| track down the cause of a bug, but is not really useful for telling a |
| user of your program why his or her input was invalid or why a command |
| could not be carried out. What's more, your program should not abort |
| when given invalid input, as `assert' would do--it should exit with |
| nonzero status (*note Exit Status::) after printing its error messages, |
| or perhaps read another command or move on to the next input file. |
| |
| *Note Error Messages::, for information on printing error messages |
| for problems that _do not_ represent bugs in the program. |
| |
| |
| File: libc.info, Node: Variadic Functions, Next: Null Pointer Constant, Prev: Consistency Checking, Up: Language Features |
| |
| A.2 Variadic Functions |
| ====================== |
| |
| ISO C defines a syntax for declaring a function to take a variable |
| number or type of arguments. (Such functions are referred to as |
| "varargs functions" or "variadic functions".) However, the language |
| itself provides no mechanism for such functions to access their |
| non-required arguments; instead, you use the variable arguments macros |
| defined in `stdarg.h'. |
| |
| This section describes how to declare variadic functions, how to |
| write them, and how to call them properly. |
| |
| *Compatibility Note:* Many older C dialects provide a similar, but |
| incompatible, mechanism for defining functions with variable numbers of |
| arguments, using `varargs.h'. |
| |
| * Menu: |
| |
| * Why Variadic:: Reasons for making functions take |
| variable arguments. |
| * How Variadic:: How to define and call variadic functions. |
| * Variadic Example:: A complete example. |
| |
| |
| File: libc.info, Node: Why Variadic, Next: How Variadic, Up: Variadic Functions |
| |
| A.2.1 Why Variadic Functions are Used |
| ------------------------------------- |
| |
| Ordinary C functions take a fixed number of arguments. When you define |
| a function, you specify the data type for each argument. Every call to |
| the function should supply the expected number of arguments, with types |
| that can be converted to the specified ones. Thus, if the function |
| `foo' is declared with `int foo (int, char *);' then you must call it |
| with two arguments, a number (any kind will do) and a string pointer. |
| |
| But some functions perform operations that can meaningfully accept an |
| unlimited number of arguments. |
| |
| In some cases a function can handle any number of values by |
| operating on all of them as a block. For example, consider a function |
| that allocates a one-dimensional array with `malloc' to hold a |
| specified set of values. This operation makes sense for any number of |
| values, as long as the length of the array corresponds to that number. |
| Without facilities for variable arguments, you would have to define a |
| separate function for each possible array size. |
| |
| The library function `printf' (*note Formatted Output::) is an |
| example of another class of function where variable arguments are |
| useful. This function prints its arguments (which can vary in type as |
| well as number) under the control of a format template string. |
| |
| These are good reasons to define a "variadic" function which can |
| handle as many arguments as the caller chooses to pass. |
| |
| Some functions such as `open' take a fixed set of arguments, but |
| occasionally ignore the last few. Strict adherence to ISO C requires |
| these functions to be defined as variadic; in practice, however, the GNU |
| C compiler and most other C compilers let you define such a function to |
| take a fixed set of arguments--the most it can ever use--and then only |
| _declare_ the function as variadic (or not declare its arguments at |
| all!). |
| |
| |
| File: libc.info, Node: How Variadic, Next: Variadic Example, Prev: Why Variadic, Up: Variadic Functions |
| |
| A.2.2 How Variadic Functions are Defined and Used |
| ------------------------------------------------- |
| |
| Defining and using a variadic function involves three steps: |
| |
| * _Define_ the function as variadic, using an ellipsis (`...') in |
| the argument list, and using special macros to access the variable |
| arguments. *Note Receiving Arguments::. |
| |
| * _Declare_ the function as variadic, using a prototype with an |
| ellipsis (`...'), in all the files which call it. *Note Variadic |
| Prototypes::. |
| |
| * _Call_ the function by writing the fixed arguments followed by the |
| additional variable arguments. *Note Calling Variadics::. |
| |
| * Menu: |
| |
| * Variadic Prototypes:: How to make a prototype for a function |
| with variable arguments. |
| * Receiving Arguments:: Steps you must follow to access the |
| optional argument values. |
| * How Many Arguments:: How to decide whether there are more arguments. |
| * Calling Variadics:: Things you need to know about calling |
| variable arguments functions. |
| * Argument Macros:: Detailed specification of the macros |
| for accessing variable arguments. |
| |
| |
| File: libc.info, Node: Variadic Prototypes, Next: Receiving Arguments, Up: How Variadic |
| |
| A.2.2.1 Syntax for Variable Arguments |
| ..................................... |
| |
| A function that accepts a variable number of arguments must be declared |
| with a prototype that says so. You write the fixed arguments as usual, |
| and then tack on `...' to indicate the possibility of additional |
| arguments. The syntax of ISO C requires at least one fixed argument |
| before the `...'. For example, |
| |
| int |
| func (const char *a, int b, ...) |
| { |
| ... |
| } |
| |
| defines a function `func' which returns an `int' and takes two required |
| arguments, a `const char *' and an `int'. These are followed by any |
| number of anonymous arguments. |
| |
| *Portability note:* For some C compilers, the last required argument |
| must not be declared `register' in the function definition. |
| Furthermore, this argument's type must be "self-promoting": that is, |
| the default promotions must not change its type. This rules out array |
| and function types, as well as `float', `char' (whether signed or not) |
| and `short int' (whether signed or not). This is actually an ISO C |
| requirement. |
| |
| |
| File: libc.info, Node: Receiving Arguments, Next: How Many Arguments, Prev: Variadic Prototypes, Up: How Variadic |
| |
| A.2.2.2 Receiving the Argument Values |
| ..................................... |
| |
| Ordinary fixed arguments have individual names, and you can use these |
| names to access their values. But optional arguments have no |
| names--nothing but `...'. How can you access them? |
| |
| The only way to access them is sequentially, in the order they were |
| written, and you must use special macros from `stdarg.h' in the |
| following three step process: |
| |
| 1. You initialize an argument pointer variable of type `va_list' using |
| `va_start'. The argument pointer when initialized points to the |
| first optional argument. |
| |
| 2. You access the optional arguments by successive calls to `va_arg'. |
| The first call to `va_arg' gives you the first optional argument, |
| the next call gives you the second, and so on. |
| |
| You can stop at any time if you wish to ignore any remaining |
| optional arguments. It is perfectly all right for a function to |
| access fewer arguments than were supplied in the call, but you |
| will get garbage values if you try to access too many arguments. |
| |
| 3. You indicate that you are finished with the argument pointer |
| variable by calling `va_end'. |
| |
| (In practice, with most C compilers, calling `va_end' does nothing. |
| This is always true in the GNU C compiler. But you might as well |
| call `va_end' just in case your program is someday compiled with a |
| peculiar compiler.) |
| |
| *Note Argument Macros::, for the full definitions of `va_start', |
| `va_arg' and `va_end'. |
| |
| Steps 1 and 3 must be performed in the function that accepts the |
| optional arguments. However, you can pass the `va_list' variable as an |
| argument to another function and perform all or part of step 2 there. |
| |
| You can perform the entire sequence of three steps multiple times |
| within a single function invocation. If you want to ignore the optional |
| arguments, you can do these steps zero times. |
| |
| You can have more than one argument pointer variable if you like. |
| You can initialize each variable with `va_start' when you wish, and |
| then you can fetch arguments with each argument pointer as you wish. |
| Each argument pointer variable will sequence through the same set of |
| argument values, but at its own pace. |
| |
| *Portability note:* With some compilers, once you pass an argument |
| pointer value to a subroutine, you must not keep using the same |
| argument pointer value after that subroutine returns. For full |
| portability, you should just pass it to `va_end'. This is actually an |
| ISO C requirement, but most ANSI C compilers work happily regardless. |
| |
| |
| File: libc.info, Node: How Many Arguments, Next: Calling Variadics, Prev: Receiving Arguments, Up: How Variadic |
| |
| A.2.2.3 How Many Arguments Were Supplied |
| ........................................ |
| |
| There is no general way for a function to determine the number and type |
| of the optional arguments it was called with. So whoever designs the |
| function typically designs a convention for the caller to specify the |
| number and type of arguments. It is up to you to define an appropriate |
| calling convention for each variadic function, and write all calls |
| accordingly. |
| |
| One kind of calling convention is to pass the number of optional |
| arguments as one of the fixed arguments. This convention works provided |
| all of the optional arguments are of the same type. |
| |
| A similar alternative is to have one of the required arguments be a |
| bit mask, with a bit for each possible purpose for which an optional |
| argument might be supplied. You would test the bits in a predefined |
| sequence; if the bit is set, fetch the value of the next argument, |
| otherwise use a default value. |
| |
| A required argument can be used as a pattern to specify both the |
| number and types of the optional arguments. The format string argument |
| to `printf' is one example of this (*note Formatted Output Functions::). |
| |
| Another possibility is to pass an "end marker" value as the last |
| optional argument. For example, for a function that manipulates an |
| arbitrary number of pointer arguments, a null pointer might indicate the |
| end of the argument list. (This assumes that a null pointer isn't |
| otherwise meaningful to the function.) The `execl' function works in |
| just this way; see *note Executing a File::. |
| |
| |
| File: libc.info, Node: Calling Variadics, Next: Argument Macros, Prev: How Many Arguments, Up: How Variadic |
| |
| A.2.2.4 Calling Variadic Functions |
| .................................. |
| |
| You don't have to do anything special to call a variadic function. |
| Just put the arguments (required arguments, followed by optional ones) |
| inside parentheses, separated by commas, as usual. But you must declare |
| the function with a prototype and know how the argument values are |
| converted. |
| |
| In principle, functions that are _defined_ to be variadic must also |
| be _declared_ to be variadic using a function prototype whenever you |
| call them. (*Note Variadic Prototypes::, for how.) This is because |
| some C compilers use a different calling convention to pass the same set |
| of argument values to a function depending on whether that function |
| takes variable arguments or fixed arguments. |
| |
| In practice, the GNU C compiler always passes a given set of argument |
| types in the same way regardless of whether they are optional or |
| required. So, as long as the argument types are self-promoting, you can |
| safely omit declaring them. Usually it is a good idea to declare the |
| argument types for variadic functions, and indeed for all functions. |
| But there are a few functions which it is extremely convenient not to |
| have to declare as variadic--for example, `open' and `printf'. |
| |
| Since the prototype doesn't specify types for optional arguments, in |
| a call to a variadic function the "default argument promotions" are |
| performed on the optional argument values. This means the objects of |
| type `char' or `short int' (whether signed or not) are promoted to |
| either `int' or `unsigned int', as appropriate; and that objects of |
| type `float' are promoted to type `double'. So, if the caller passes a |
| `char' as an optional argument, it is promoted to an `int', and the |
| function can access it with `va_arg (AP, int)'. |
| |
| Conversion of the required arguments is controlled by the function |
| prototype in the usual way: the argument expression is converted to the |
| declared argument type as if it were being assigned to a variable of |
| that type. |
| |
| |
| File: libc.info, Node: Argument Macros, Prev: Calling Variadics, Up: How Variadic |
| |
| A.2.2.5 Argument Access Macros |
| .............................. |
| |
| Here are descriptions of the macros used to retrieve variable arguments. |
| These macros are defined in the header file `stdarg.h'. |
| |
| -- Data Type: va_list |
| The type `va_list' is used for argument pointer variables. |
| |
| -- Macro: void va_start (va_list AP, LAST-REQUIRED) |
| Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety |
| Concepts::. |
| |
| This macro initializes the argument pointer variable AP to point |
| to the first of the optional arguments of the current function; |
| LAST-REQUIRED must be the last required argument to the function. |
| |
| -- Macro: TYPE va_arg (va_list AP, TYPE) |
| Preliminary: | MT-Safe race:ap | AS-Safe | AC-Unsafe corrupt | |
| *Note POSIX Safety Concepts::. |
| |
| The `va_arg' macro returns the value of the next optional argument, |
| and modifies the value of AP to point to the subsequent argument. |
| Thus, successive uses of `va_arg' return successive optional |
| arguments. |
| |
| The type of the value returned by `va_arg' is TYPE as specified in |
| the call. TYPE must be a self-promoting type (not `char' or |
| `short int' or `float') that matches the type of the actual |
| argument. |
| |
| -- Macro: void va_end (va_list AP) |
| Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety |
| Concepts::. |
| |
| This ends the use of AP. After a `va_end' call, further `va_arg' |
| calls with the same AP may not work. You should invoke `va_end' |
| before returning from the function in which `va_start' was invoked |
| with the same AP argument. |
| |
| In the GNU C Library, `va_end' does nothing, and you need not ever |
| use it except for reasons of portability. |
| |
| |
| Sometimes it is necessary to parse the list of parameters more than |
| once or one wants to remember a certain position in the parameter list. |
| To do this, one will have to make a copy of the current value of the |
| argument. But `va_list' is an opaque type and one cannot necessarily |
| assign the value of one variable of type `va_list' to another variable |
| of the same type. |
| |
| -- Macro: void va_copy (va_list DEST, va_list SRC) |
| -- Macro: void __va_copy (va_list DEST, va_list SRC) |
| Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety |
| Concepts::. |
| |
| The `va_copy' macro allows copying of objects of type `va_list' |
| even if this is not an integral type. The argument pointer in |
| DEST is initialized to point to the same argument as the pointer |
| in SRC. |
| |
| `va_copy' was added in ISO C99. When building for strict |
| conformance to ISO C90 (`gcc -std=c90'), it is not available. GCC |
| provides `__va_copy', as an extension, in any standards mode; |
| before GCC 3.0, it was the only macro for this functionality. |
| |
| These macros are no longer provided by the GNU C Library, but |
| rather by the compiler. |
| |
| If you want to use `va_copy' and be portable to pre-C99 systems, you |
| should always be prepared for the possibility that this macro will not |
| be available. On architectures where a simple assignment is invalid, |
| hopefully `va_copy' _will_ be available, so one should always write |
| something like this if concerned about pre-C99 portability: |
| |
| { |
| va_list ap, save; |
| ... |
| #ifdef va_copy |
| va_copy (save, ap); |
| #else |
| save = ap; |
| #endif |
| ... |
| } |
| |
| |
| File: libc.info, Node: Variadic Example, Prev: How Variadic, Up: Variadic Functions |
| |
| A.2.3 Example of a Variadic Function |
| ------------------------------------ |
| |
| Here is a complete sample function that accepts a variable number of |
| arguments. The first argument to the function is the count of remaining |
| arguments, which are added up and the result returned. While trivial, |
| this function is sufficient to illustrate how to use the variable |
| arguments facility. |
| |
| |
| #include <stdarg.h> |
| #include <stdio.h> |
| |
| int |
| add_em_up (int count,...) |
| { |
| va_list ap; |
| int i, sum; |
| |
| va_start (ap, count); /* Initialize the argument list. */ |
| |
| sum = 0; |
| for (i = 0; i < count; i++) |
| sum += va_arg (ap, int); /* Get the next argument value. */ |
| |
| va_end (ap); /* Clean up. */ |
| return sum; |
| } |
| |
| int |
| main (void) |
| { |
| /* This call prints 16. */ |
| printf ("%d\n", add_em_up (3, 5, 5, 6)); |
| |
| /* This call prints 55. */ |
| printf ("%d\n", add_em_up (10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)); |
| |
| return 0; |
| } |
| |
| |
| File: libc.info, Node: Null Pointer Constant, Next: Important Data Types, Prev: Variadic Functions, Up: Language Features |
| |
| A.3 Null Pointer Constant |
| ========================= |
| |
| The null pointer constant is guaranteed not to point to any real object. |
| You can assign it to any pointer variable since it has type `void *'. |
| The preferred way to write a null pointer constant is with `NULL'. |
| |
| -- Macro: void * NULL |
| This is a null pointer constant. |
| |
| You can also use `0' or `(void *)0' as a null pointer constant, but |
| using `NULL' is cleaner because it makes the purpose of the constant |
| more evident. |
| |
| If you use the null pointer constant as a function argument, then for |
| complete portability you should make sure that the function has a |
| prototype declaration. Otherwise, if the target machine has two |
| different pointer representations, the compiler won't know which |
| representation to use for that argument. You can avoid the problem by |
| explicitly casting the constant to the proper pointer type, but we |
| recommend instead adding a prototype for the function you are calling. |
| |
| |
| File: libc.info, Node: Important Data Types, Next: Data Type Measurements, Prev: Null Pointer Constant, Up: Language Features |
| |
| A.4 Important Data Types |
| ======================== |
| |
| The result of subtracting two pointers in C is always an integer, but |
| the precise data type varies from C compiler to C compiler. Likewise, |
| the data type of the result of `sizeof' also varies between compilers. |
| ISO C defines standard aliases for these two types, so you can refer to |
| them in a portable fashion. They are defined in the header file |
| `stddef.h'. |
| |
| -- Data Type: ptrdiff_t |
| This is the signed integer type of the result of subtracting two |
| pointers. For example, with the declaration `char *p1, *p2;', the |
| expression `p2 - p1' is of type `ptrdiff_t'. This will probably |
| be one of the standard signed integer types (`short int', `int' or |
| `long int'), but might be a nonstandard type that exists only for |
| this purpose. |
| |
| -- Data Type: size_t |
| This is an unsigned integer type used to represent the sizes of |
| objects. The result of the `sizeof' operator is of this type, and |
| functions such as `malloc' (*note Unconstrained Allocation::) and |
| `memcpy' (*note Copying Strings and Arrays::) accept arguments of |
| this type to specify object sizes. On systems using the GNU C |
| Library, this will be `unsigned int' or `unsigned long int'. |
| |
| *Usage Note:* `size_t' is the preferred way to declare any |
| arguments or variables that hold the size of an object. |
| |
| *Compatibility Note:* Implementations of C before the advent of |
| ISO C generally used `unsigned int' for representing object sizes and |
| `int' for pointer subtraction results. They did not necessarily define |
| either `size_t' or `ptrdiff_t'. Unix systems did define `size_t', in |
| `sys/types.h', but the definition was usually a signed type. |
| |
| |
| File: libc.info, Node: Data Type Measurements, Prev: Important Data Types, Up: Language Features |
| |
| A.5 Data Type Measurements |
| ========================== |
| |
| Most of the time, if you choose the proper C data type for each object |
| in your program, you need not be concerned with just how it is |
| represented or how many bits it uses. When you do need such |
| information, the C language itself does not provide a way to get it. |
| The header files `limits.h' and `float.h' contain macros which give you |
| this information in full detail. |
| |
| * Menu: |
| |
| * Width of Type:: How many bits does an integer type hold? |
| * Range of Type:: What are the largest and smallest values |
| that an integer type can hold? |
| * Floating Type Macros:: Parameters that measure the floating point types. |
| * Structure Measurement:: Getting measurements on structure types. |
| |
| |
| File: libc.info, Node: Width of Type, Next: Range of Type, Up: Data Type Measurements |
| |
| A.5.1 Width of an Integer Type |
| ------------------------------ |
| |
| TS 18661-1:2014 defines macros for the width of integer types (the |
| number of value and sign bits). One benefit of these macros is they |
| can be used in `#if' preprocessor directives, whereas `sizeof' cannot. |
| The following macros are defined in `limits.h'. |
| |
| `CHAR_WIDTH' |
| `SCHAR_WIDTH' |
| `UCHAR_WIDTH' |
| `SHRT_WIDTH' |
| `USHRT_WIDTH' |
| `INT_WIDTH' |
| `UINT_WIDTH' |
| `LONG_WIDTH' |
| `ULONG_WIDTH' |
| `LLONG_WIDTH' |
| `ULLONG_WIDTH' |
| These are the widths of the types `char', `signed char', `unsigned |
| char', `short int', `unsigned short int', `int', `unsigned int', |
| `long int', `unsigned long int', `long long int' and `unsigned |
| long long int', respectively. |
| |
| Further such macros are defined in `stdint.h'. Apart from those for |
| types specified by width (*note Integers::), the following are defined: |
| |
| `INTPTR_WIDTH' |
| `UINTPTR_WIDTH' |
| `PTRDIFF_WIDTH' |
| `SIG_ATOMIC_WIDTH' |
| `SIZE_WIDTH' |
| `WCHAR_WIDTH' |
| `WINT_WIDTH' |
| These are the widths of the types `intptr_t', `uintptr_t', |
| `ptrdiff_t', `sig_atomic_t', `size_t', `wchar_t' and `wint_t', |
| respectively. |
| |
| A common reason that a program needs to know how many bits are in an |
| integer type is for using an array of `unsigned long int' as a bit |
| vector. You can access the bit at index N with: |
| |
| vector[N / ULONG_WIDTH] & (1UL << (N % ULONG_WIDTH)) |
| |
| Before `ULONG_WIDTH' was a part of the C language, `CHAR_BIT' was |
| used to compute the number of bits in an integer data type. |
| |
| -- Macro: int CHAR_BIT |
| This is the number of bits in a `char'. POSIX.1-2001 requires |
| this to be 8. |
| |
| The number of bits in any data type TYPE can be computed like this: |
| |
| sizeof (TYPE) * CHAR_BIT |
| |
| That expression includes padding bits as well as value and sign bits. |
| On all systems supported by the GNU C Library, standard integer types |
| other than `_Bool' do not have any padding bits. |
| |
| *Portability Note:* One cannot actually easily compute the number of |
| usable bits in a portable manner. |
| |
| |
| File: libc.info, Node: Range of Type, Next: Floating Type Macros, Prev: Width of Type, Up: Data Type Measurements |
| |
| A.5.2 Range of an Integer Type |
| ------------------------------ |
| |
| Suppose you need to store an integer value which can range from zero to |
| one million. Which is the smallest type you can use? There is no |
| general rule; it depends on the C compiler and target machine. You can |
| use the `MIN' and `MAX' macros in `limits.h' to determine which type |
| will work. |
| |
| Each signed integer type has a pair of macros which give the smallest |
| and largest values that it can hold. Each unsigned integer type has one |
| such macro, for the maximum value; the minimum value is, of course, |
| zero. |
| |
| The values of these macros are all integer constant expressions. The |
| `MAX' and `MIN' macros for `char' and `short int' types have values of |
| type `int'. The `MAX' and `MIN' macros for the other types have values |
| of the same type described by the macro--thus, `ULONG_MAX' has type |
| `unsigned long int'. |
| |
| `SCHAR_MIN' |
| This is the minimum value that can be represented by a |
| `signed char'. |
| |
| `SCHAR_MAX' |
| `UCHAR_MAX' |
| These are the maximum values that can be represented by a |
| `signed char' and `unsigned char', respectively. |
| |
| `CHAR_MIN' |
| This is the minimum value that can be represented by a `char'. |
| It's equal to `SCHAR_MIN' if `char' is signed, or zero otherwise. |
| |
| `CHAR_MAX' |
| This is the maximum value that can be represented by a `char'. |
| It's equal to `SCHAR_MAX' if `char' is signed, or `UCHAR_MAX' |
| otherwise. |
| |
| `SHRT_MIN' |
| This is the minimum value that can be represented by a |
| `signed short int'. On most machines that the GNU C Library runs |
| on, `short' integers are 16-bit quantities. |
| |
| `SHRT_MAX' |
| `USHRT_MAX' |
| These are the maximum values that can be represented by a |
| `signed short int' and `unsigned short int', respectively. |
| |
| `INT_MIN' |
| This is the minimum value that can be represented by a |
| `signed int'. On most machines that the GNU C Library runs on, an |
| `int' is a 32-bit quantity. |
| |
| `INT_MAX' |
| `UINT_MAX' |
| These are the maximum values that can be represented by, |
| respectively, the type `signed int' and the type `unsigned int'. |
| |
| `LONG_MIN' |
| This is the minimum value that can be represented by a |
| `signed long int'. On most machines that the GNU C Library runs |
| on, `long' integers are 32-bit quantities, the same size as `int'. |
| |
| `LONG_MAX' |
| `ULONG_MAX' |
| These are the maximum values that can be represented by a |
| `signed long int' and `unsigned long int', respectively. |
| |
| `LLONG_MIN' |
| This is the minimum value that can be represented by a |
| `signed long long int'. On most machines that the GNU C Library |
| runs on, `long long' integers are 64-bit quantities. |
| |
| `LLONG_MAX' |
| `ULLONG_MAX' |
| These are the maximum values that can be represented by a `signed |
| long long int' and `unsigned long long int', respectively. |
| |
| `LONG_LONG_MIN' |
| `LONG_LONG_MAX' |
| `ULONG_LONG_MAX' |
| These are obsolete names for `LLONG_MIN', `LLONG_MAX', and |
| `ULLONG_MAX'. They are only available if `_GNU_SOURCE' is defined |
| (*note Feature Test Macros::). In GCC versions prior to 3.0, |
| these were the only names available. |
| |
| `WCHAR_MAX' |
| This is the maximum value that can be represented by a `wchar_t'. |
| *Note Extended Char Intro::. |
| |
| The header file `limits.h' also defines some additional constants |
| that parameterize various operating system and file system limits. |
| These constants are described in *note System Configuration::. |
| |
| |
| File: libc.info, Node: Floating Type Macros, Next: Structure Measurement, Prev: Range of Type, Up: Data Type Measurements |
| |
| A.5.3 Floating Type Macros |
| -------------------------- |
| |
| The specific representation of floating point numbers varies from |
| machine to machine. Because floating point numbers are represented |
| internally as approximate quantities, algorithms for manipulating |
| floating point data often need to take account of the precise details of |
| the machine's floating point representation. |
| |
| Some of the functions in the C library itself need this information; |
| for example, the algorithms for printing and reading floating point |
| numbers (*note I/O on Streams::) and for calculating trigonometric and |
| irrational functions (*note Mathematics::) use it to avoid round-off |
| error and loss of accuracy. User programs that implement numerical |
| analysis techniques also often need this information in order to |
| minimize or compute error bounds. |
| |
| The header file `float.h' describes the format used by your machine. |
| |
| * Menu: |
| |
| * Floating Point Concepts:: Definitions of terminology. |
| * Floating Point Parameters:: Details of specific macros. |
| * IEEE Floating Point:: The measurements for one common |
| representation. |
| |
| |
| File: libc.info, Node: Floating Point Concepts, Next: Floating Point Parameters, Up: Floating Type Macros |
| |
| A.5.3.1 Floating Point Representation Concepts |
| .............................................. |
| |
| This section introduces the terminology for describing floating point |
| representations. |
| |
| You are probably already familiar with most of these concepts in |
| terms of scientific or exponential notation for floating point numbers. |
| For example, the number `123456.0' could be expressed in exponential |
| notation as `1.23456e+05', a shorthand notation indicating that the |
| mantissa `1.23456' is multiplied by the base `10' raised to power `5'. |
| |
| More formally, the internal representation of a floating point number |
| can be characterized in terms of the following parameters: |
| |
| * The "sign" is either `-1' or `1'. |
| |
| * The "base" or "radix" for exponentiation, an integer greater than |
| `1'. This is a constant for a particular representation. |
| |
| * The "exponent" to which the base is raised. The upper and lower |
| bounds of the exponent value are constants for a particular |
| representation. |
| |
| Sometimes, in the actual bits representing the floating point |
| number, the exponent is "biased" by adding a constant to it, to |
| make it always be represented as an unsigned quantity. This is |
| only important if you have some reason to pick apart the bit |
| fields making up the floating point number by hand, which is |
| something for which the GNU C Library provides no support. So |
| this is ignored in the discussion that follows. |
| |
| * The "mantissa" or "significand" is an unsigned integer which is a |
| part of each floating point number. |
| |
| * The "precision" of the mantissa. If the base of the representation |
| is B, then the precision is the number of base-B digits in the |
| mantissa. This is a constant for a particular representation. |
| |
| Many floating point representations have an implicit "hidden bit" |
| in the mantissa. This is a bit which is present virtually in the |
| mantissa, but not stored in memory because its value is always 1 |
| in a normalized number. The precision figure (see above) includes |
| any hidden bits. |
| |
| Again, the GNU C Library provides no facilities for dealing with |
| such low-level aspects of the representation. |
| |
| The mantissa of a floating point number represents an implicit |
| fraction whose denominator is the base raised to the power of the |
| precision. Since the largest representable mantissa is one less than |
| this denominator, the value of the fraction is always strictly less |
| than `1'. The mathematical value of a floating point number is then |
| the product of this fraction, the sign, and the base raised to the |
| exponent. |
| |
| We say that the floating point number is "normalized" if the |
| fraction is at least `1/B', where B is the base. In other words, the |
| mantissa would be too large to fit if it were multiplied by the base. |
| Non-normalized numbers are sometimes called "denormal"; they contain |
| less precision than the representation normally can hold. |
| |
| If the number is not normalized, then you can subtract `1' from the |
| exponent while multiplying the mantissa by the base, and get another |
| floating point number with the same value. "Normalization" consists of |
| doing this repeatedly until the number is normalized. Two distinct |
| normalized floating point numbers cannot be equal in value. |
| |
| (There is an exception to this rule: if the mantissa is zero, it is |
| considered normalized. Another exception happens on certain machines |
| where the exponent is as small as the representation can hold. Then it |
| is impossible to subtract `1' from the exponent, so a number may be |
| normalized even if its fraction is less than `1/B'.) |
| |
| |
| File: libc.info, Node: Floating Point Parameters, Next: IEEE Floating Point, Prev: Floating Point Concepts, Up: Floating Type Macros |
| |
| A.5.3.2 Floating Point Parameters |
| ................................. |
| |
| These macro definitions can be accessed by including the header file |
| `float.h' in your program. |
| |
| Macro names starting with `FLT_' refer to the `float' type, while |
| names beginning with `DBL_' refer to the `double' type and names |
| beginning with `LDBL_' refer to the `long double' type. (If GCC does |
| not support `long double' as a distinct data type on a target machine |
| then the values for the `LDBL_' constants are equal to the |
| corresponding constants for the `double' type.) |
| |
| Of these macros, only `FLT_RADIX' is guaranteed to be a constant |
| expression. The other macros listed here cannot be reliably used in |
| places that require constant expressions, such as `#if' preprocessing |
| directives or in the dimensions of static arrays. |
| |
| Although the ISO C standard specifies minimum and maximum values for |
| most of these parameters, the GNU C implementation uses whatever values |
| describe the floating point representation of the target machine. So in |
| principle GNU C actually satisfies the ISO C requirements only if the |
| target machine is suitable. In practice, all the machines currently |
| supported are suitable. |
| |
| `FLT_ROUNDS' |
| This value characterizes the rounding mode for floating point |
| addition. The following values indicate standard rounding modes: |
| |
| `-1' |
| The mode is indeterminable. |
| |
| `0' |
| Rounding is towards zero. |
| |
| `1' |
| Rounding is to the nearest number. |
| |
| `2' |
| Rounding is towards positive infinity. |
| |
| `3' |
| Rounding is towards negative infinity. |
| |
| Any other value represents a machine-dependent nonstandard rounding |
| mode. |
| |
| On most machines, the value is `1', in accordance with the IEEE |
| standard for floating point. |
| |
| Here is a table showing how certain values round for each possible |
| value of `FLT_ROUNDS', if the other aspects of the representation |
| match the IEEE single-precision standard. |
| |
| 0 1 2 3 |
| 1.00000003 1.0 1.0 1.00000012 1.0 |
| 1.00000007 1.0 1.00000012 1.00000012 1.0 |
| -1.00000003 -1.0 -1.0 -1.0 -1.00000012 |
| -1.00000007 -1.0 -1.00000012 -1.0 -1.00000012 |
| |
| `FLT_RADIX' |
| This is the value of the base, or radix, of the exponent |
| representation. This is guaranteed to be a constant expression, |
| unlike the other macros described in this section. The value is 2 |
| on all machines we know of except the IBM 360 and derivatives. |
| |
| `FLT_MANT_DIG' |
| This is the number of base-`FLT_RADIX' digits in the floating point |
| mantissa for the `float' data type. The following expression |
| yields `1.0' (even though mathematically it should not) due to the |
| limited number of mantissa digits: |
| |
| float radix = FLT_RADIX; |
| |
| 1.0f + 1.0f / radix / radix / ... / radix |
| |
| where `radix' appears `FLT_MANT_DIG' times. |
| |
| `DBL_MANT_DIG' |
| `LDBL_MANT_DIG' |
| This is the number of base-`FLT_RADIX' digits in the floating point |
| mantissa for the data types `double' and `long double', |
| respectively. |
| |
| `FLT_DIG' |
| This is the number of decimal digits of precision for the `float' |
| data type. Technically, if P and B are the precision and base |
| (respectively) for the representation, then the decimal precision |
| Q is the maximum number of decimal digits such that any floating |
| point number with Q base 10 digits can be rounded to a floating |
| point number with P base B digits and back again, without change |
| to the Q decimal digits. |
| |
| The value of this macro is supposed to be at least `6', to satisfy |
| ISO C. |
| |
| `DBL_DIG' |
| `LDBL_DIG' |
| These are similar to `FLT_DIG', but for the data types `double' |
| and `long double', respectively. The values of these macros are |
| supposed to be at least `10'. |
| |
| `FLT_MIN_EXP' |
| This is the smallest possible exponent value for type `float'. |
| More precisely, it is the minimum negative integer such that the |
| value `FLT_RADIX' raised to this power minus 1 can be represented |
| as a normalized floating point number of type `float'. |
| |
| `DBL_MIN_EXP' |
| `LDBL_MIN_EXP' |
| These are similar to `FLT_MIN_EXP', but for the data types |
| `double' and `long double', respectively. |
| |
| `FLT_MIN_10_EXP' |
| This is the minimum negative integer such that `10' raised to this |
| power minus 1 can be represented as a normalized floating point |
| number of type `float'. This is supposed to be `-37' or even less. |
| |
| `DBL_MIN_10_EXP' |
| `LDBL_MIN_10_EXP' |
| These are similar to `FLT_MIN_10_EXP', but for the data types |
| `double' and `long double', respectively. |
| |
| `FLT_MAX_EXP' |
| This is the largest possible exponent value for type `float'. More |
| precisely, this is the maximum positive integer such that value |
| `FLT_RADIX' raised to this power minus 1 can be represented as a |
| floating point number of type `float'. |
| |
| `DBL_MAX_EXP' |
| `LDBL_MAX_EXP' |
| These are similar to `FLT_MAX_EXP', but for the data types |
| `double' and `long double', respectively. |
| |
| `FLT_MAX_10_EXP' |
| This is the maximum positive integer such that `10' raised to this |
| power minus 1 can be represented as a normalized floating point |
| number of type `float'. This is supposed to be at least `37'. |
| |
| `DBL_MAX_10_EXP' |
| `LDBL_MAX_10_EXP' |
| These are similar to `FLT_MAX_10_EXP', but for the data types |
| `double' and `long double', respectively. |
| |
| `FLT_MAX' |
| The value of this macro is the maximum number representable in type |
| `float'. It is supposed to be at least `1E+37'. The value has |
| type `float'. |
| |
| The smallest representable number is `- FLT_MAX'. |
| |
| `DBL_MAX' |
| `LDBL_MAX' |
| These are similar to `FLT_MAX', but for the data types `double' |
| and `long double', respectively. The type of the macro's value is |
| the same as the type it describes. |
| |
| `FLT_MIN' |
| The value of this macro is the minimum normalized positive floating |
| point number that is representable in type `float'. It is supposed |
| to be no more than `1E-37'. |
| |
| `DBL_MIN' |
| `LDBL_MIN' |
| These are similar to `FLT_MIN', but for the data types `double' |
| and `long double', respectively. The type of the macro's value is |
| the same as the type it describes. |
| |
| `FLT_EPSILON' |
| This is the difference between 1 and the smallest floating point |
| number of type `float' that is greater than 1. It's supposed to |
| be no greater than `1E-5'. |
| |
| `DBL_EPSILON' |
| `LDBL_EPSILON' |
| These are similar to `FLT_EPSILON', but for the data types |
| `double' and `long double', respectively. The type of the macro's |
| value is the same as the type it describes. The values are not |
| supposed to be greater than `1E-9'. |
| |
| |
| File: libc.info, Node: IEEE Floating Point, Prev: Floating Point Parameters, Up: Floating Type Macros |
| |
| A.5.3.3 IEEE Floating Point |
| ........................... |
| |
| Here is an example showing how the floating type measurements come out |
| for the most common floating point representation, specified by the |
| `IEEE Standard for Binary Floating Point Arithmetic (ANSI/IEEE Std |
| 754-1985)'. Nearly all computers designed since the 1980s use this |
| format. |
| |
| The IEEE single-precision float representation uses a base of 2. |
| There is a sign bit, a mantissa with 23 bits plus one hidden bit (so |
| the total precision is 24 base-2 digits), and an 8-bit exponent that |
| can represent values in the range -125 to 128, inclusive. |
| |
| So, for an implementation that uses this representation for the |
| `float' data type, appropriate values for the corresponding parameters |
| are: |
| |
| FLT_RADIX 2 |
| FLT_MANT_DIG 24 |
| FLT_DIG 6 |
| FLT_MIN_EXP -125 |
| FLT_MIN_10_EXP -37 |
| FLT_MAX_EXP 128 |
| FLT_MAX_10_EXP +38 |
| FLT_MIN 1.17549435E-38F |
| FLT_MAX 3.40282347E+38F |
| FLT_EPSILON 1.19209290E-07F |
| |
| Here are the values for the `double' data type: |
| |
| DBL_MANT_DIG 53 |
| DBL_DIG 15 |
| DBL_MIN_EXP -1021 |
| DBL_MIN_10_EXP -307 |
| DBL_MAX_EXP 1024 |
| DBL_MAX_10_EXP 308 |
| DBL_MAX 1.7976931348623157E+308 |
| DBL_MIN 2.2250738585072014E-308 |
| DBL_EPSILON 2.2204460492503131E-016 |
| |
| |
| File: libc.info, Node: Structure Measurement, Prev: Floating Type Macros, Up: Data Type Measurements |
| |
| A.5.4 Structure Field Offset Measurement |
| ---------------------------------------- |
| |
| You can use `offsetof' to measure the location within a structure type |
| of a particular structure member. |
| |
| -- Macro: size_t offsetof (TYPE, MEMBER) |
| Preliminary: | MT-Safe | AS-Safe | AC-Safe | *Note POSIX Safety |
| Concepts::. |
| |
| This expands to an integer constant expression that is the offset |
| of the structure member named MEMBER in the structure type TYPE. |
| For example, `offsetof (struct s, elem)' is the offset, in bytes, |
| of the member `elem' in a `struct s'. |
| |
| This macro won't work if MEMBER is a bit field; you get an error |
| from the C compiler in that case. |
| |
| |
| |
| Local Variables: |
| coding: utf-8 |
| End: |