3551 lines
138 KiB
Plaintext
3551 lines
138 KiB
Plaintext
|
This is
|
|||
|
/tmp/dgboter/bbs/rhev-vm7--rhe6x86_64/buildbot/rhe6x86_64--arm-none-linux-gnueabihf/build/build-arm-none-linux-gnueabihf/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:
|