Commit Graph

77 Commits

Author SHA1 Message Date
vasilito 7b3b862e46 redbear-* recipes: fix 5 build-blockers, document first-class-citizen policy
Phase 1 critical fixes:

1. redbear-netctl-console/recipe.toml: add missing [package] name + version
   fields. The recipe was silently dropped by the cookbook because it had
   no [package] identity, breaking 'make r.redbear-netctl-console'.

2. redox-drm/recipe.toml: add missing [package] name + version. Same defect
   class as redbear-netctl-console.

3. redbear-tui-theme/recipe.toml: create from scratch. The source/ crate
   existed but no recipe.toml meant the cookbook never cooked it. Now wired
   into redbear-mini (Phase 3).

4. redbear-ufw/recipe.toml + REDBEAR-UFW-STATUS.md: prototype in base fork
   (local/sources/base/redbear-ufw/) previously had no recipe and no
   documentation. Per AGENTS.md NEVER DELETE rule, the source is preserved
   in base; a recipe is now created + a status doc explains the
   intentionally-orphaned lifecycle (NEVER DELETE compliance).

5. Delete vestigial local/recipes/system/redbear-netstat/redbear-netstat/
   nested directory (duplicate of source/, NOT consumed by build — pure
   dead code).

First-class-citizen policy:

- REDBEAR-FIRST-CLASS-CITIZEN-POLICY.md: declares that every redbear-*
  recipe is a first-class citizen of redbear-mini. No recipe may be left
  unreachable from the build. This codifies the operator's earlier intent
  statement that all redbear-* programs must be built.

- ORPHAN-STATUS.md: documents KEEP-ORPHAN recipes (library-only crates
  consumed via Cargo path deps — correct pattern, not real orphans).

- FIRMWARE-SUBSETS-DECISION.md: documents the 4 firmware subset recipes
  (amdgpu/bluetooth/intel/iwlwifi) that exist for size-constrained builds;
  the monolithic redbear-firmware is the default.

- REDBEAR-ULW-ASSESSMENT-PLAN.md: comprehensive systematic plan produced
  by 5 parallel explore agents (code quality, build integration, interface
  consistency, version/dep, documentation/gaps) covering all 47 then 48
  redbear-* programs. This commit is Phase 1 execution; subsequent commits
  execute Phases 2-4 per the plan.

Verified: sync-versions.sh --check passes (75 Cat 1 crates, 0 drift).
2026-07-28 15:55:32 +09:00
vasilito cd8cc1eba7 redox-drm: fix 35 compile errors (fd storage, error conversion, moves)
Found by --check-sweep on redbear-full. Completes a half-finished refactor:
- FdSet: BTreeSet<OwnedFd> -> Vec<OwnedFd> (OwnedFd is neither Ord nor Clone);
  OwnedFd::new -> OwnedFd::from_raw_fd; drop redundant clone in drain (the
  remove loop already moves the fds out).
- fence_eventfds.remove(&(seqno,0)) -> remove(&seqno) (key is u64, not a tuple).
- i915/amdgpu ioctl arms: add .map_err(driver_to_syscall) to ~25 self.driver
  calls (matching the existing pattern) so ? converts DriverError -> syscall::Error.
- i915_query/amdgpu_info arms: yield resp instead of early
  (handle_ioctl returns Result<usize>; arms yield the response Vec).
- intel:🆕 read device_id before File: dir,	Node: Top	This is the top of the INFO tree

  This (the Directory node) gives a menu of major topics.
  Typing "q" exits, "H" lists all Info commands, "d" returns here,
  "h" gives a primer for first-timers,
  "mEmacs<Return>" visits the Emacs manual, etc.

  In Emacs, you can click mouse button 2 on a menu item or cross reference
  to select it.

* Menu:

Archiving
* Cpio: (cpio).                 Copy-in-copy-out archiver to tape or disk.
* Tar: (tar).                   Making tape (or disk) archives.
* Xorrecord: (xorrecord).       Emulates CD/DVD/BD program cdrecord
* Xorriso: (xorriso).           Burns ISO 9660 on CD, DVD, BD.
* Xorriso-dd-target: (xorriso-dd-target).
                                Device evaluator and disk image copier for
                                  GNU/Linux
* Xorriso-tcltk: (xorriso-tcltk).
                                Educational GUI frontend for xorriso
* Xorrisofs: (xorrisofs).       Emulates ISO 9660 program mkisofs

Audio and Video manipulation
* mjpegtools: (mjpeg-howto).    command line tools for MPEG audio and video.

Basics
* Bash: (bash).                 The GNU Bourne-Again SHell.
* Common options: (coreutils)Common options.
* Coreutils: (coreutils).       Core GNU (file, text, shell) utilities.
* Date input formats: (coreutils)Date input formats.
* File permissions: (coreutils)File permissions.
                                Access modes.
* Finding files: (find).        Operating on files matching certain criteria.
* Inetutils: (inetutils).       GNU networking utilities.

C++ libraries
* autosprintf: (autosprintf).   Support for printf format strings in C++.

C++ Libraries
* Source-highlight-lib: (source-highlight-lib).
                                Highlights contents

Compression
* Gzip: (gzip).                 General (de)compression of files (lzw).

Development
* fftw3: (fftw3).               FFTW User's Manual.
* libext2fs: (libext2fs).       The EXT2FS library.
* libffi: (libffi).             Portable foreign function interface library.

DOS
* Mtools: (mtools).             Mtools: utilities to access DOS disks in Unix.

Editors
* nano: (nano).                 Small and friendly text editor.

Emacs
* IDN Library: (libidn)Emacs API.
                                Emacs API for IDN functions.

Encryption
* Nettle: (nettle).             A low-level cryptographic library.

GNU C library functions and macros
* ALTWERASE: (libc)Local Modes.
* ARGP_ERR_UNKNOWN: (libc)Argp Parser Functions.
* ARG_MAX: (libc)General Limits.
* BAUD_MAX: (libc)Line Speed.
* 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.
* CLOCK_BOOTTIME: (libc)Getting the Time.
* CLOCK_BOOTTIME_ALARM: (libc)Getting the Time.
* CLOCK_MONOTONIC: (libc)Getting the Time.
* CLOCK_MONOTONIC_COARSE: (libc)Getting the Time.
* CLOCK_MONOTONIC_RAW: (libc)Getting the Time.
* CLOCK_PROCESS_CPUTIME_ID: (libc)Getting the Time.
* CLOCK_REALTIME: (libc)Getting the Time.
* CLOCK_REALTIME_ALARM: (libc)Getting the Time.
* CLOCK_REALTIME_COARSE: (libc)Getting the Time.
* CLOCK_TAI: (libc)Getting the Time.
* CLOCK_THREAD_CPUTIME_ID: (libc)Getting the Time.
* COLL_WEIGHTS_MAX: (libc)Utility Limits.
* CPU_ALLOC: (libc)CPU Affinity.
* CPU_ALLOC_SIZE: (libc)CPU Affinity.
* CPU_AND: (libc)CPU Affinity.
* CPU_AND_S: (libc)CPU Affinity.
* CPU_CLR: (libc)CPU Affinity.
* CPU_CLR_S: (libc)CPU Affinity.
* CPU_COUNT: (libc)CPU Affinity.
* CPU_COUNT_S: (libc)CPU Affinity.
* CPU_EQUAL: (libc)CPU Affinity.
* CPU_EQUAL_S: (libc)CPU Affinity.
* CPU_FEATURE_ACTIVE: (libc)X86.
* CPU_FEATURE_PRESENT: (libc)X86.
* CPU_FREE: (libc)CPU Affinity.
* CPU_ISSET: (libc)CPU Affinity.
* CPU_ISSET_S: (libc)CPU Affinity.
* CPU_OR: (libc)CPU Affinity.
* CPU_OR_S: (libc)CPU Affinity.
* CPU_SET: (libc)CPU Affinity.
* CPU_SETSIZE: (libc)CPU Affinity.
* CPU_SET_S: (libc)CPU Affinity.
* CPU_XOR: (libc)CPU Affinity.
* CPU_XOR_S: (libc)CPU Affinity.
* CPU_ZERO: (libc)CPU Affinity.
* CPU_ZERO_S: (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.
* DLFO_EH_SEGMENT_TYPE: (libc)Dynamic Linker Introspection.
* DLFO_STRUCT_HAS_EH_COUNT: (libc)Dynamic Linker Introspection.
* DLFO_STRUCT_HAS_EH_DBASE: (libc)Dynamic Linker Introspection.
* 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_NOFOLLOW: (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_PATH: (libc)Access Modes.
* 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_INET: (libc)Internet Namespace.
* PF_INET6: (libc)Internet Namespace.
* PF_LOCAL: (libc)Local Namespace Details.
* PF_UNIX: (libc)Local Namespace Details.
* PIPE_BUF: (libc)Limits for Files.
* PTHREAD_ATTR_NO_SIGMASK_NP: (libc)Initial Thread Signal Mask.
* P_tmpdir: (libc)Temporary Files.
* RAND_MAX: (libc)ISO Random.
* RE_DUP_MAX: (libc)General Limits.
* RLIM_INFINITY: (libc)Limits on Resources.
* RSEQ_SIG: (libc)Restartable Sequences.
* R_OK: (libc)Testing File Access.
* SA_NOCLDSTOP: (libc)Flags for Sigaction.
* SA_NOCLDWAIT: (libc)Flags for Sigaction.
* SA_NODEFER: (libc)Flags for Sigaction.
* SA_ONSTACK: (libc)Flags for Sigaction.
* SA_RESETHAND: (libc)Flags for Sigaction.
* SA_RESTART: (libc)Flags for Sigaction.
* SA_SIGINFO: (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.
* SIGPWR: (libc)Miscellaneous Signals.
* SIGQUIT: (libc)Termination Signals.
* SIGSEGV: (libc)Program Error Signals.
* SIGSTKFLT: (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.
* SPEED_MAX: (libc)Line Speed.
* 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.
* TIME_UTC: (libc)Getting the Time.
* 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.
* VEOL: (libc)Editing Characters.
* VEOL2: (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.
* _Fork: (libc)Creating a Process.
* _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.
* __x86_get_cpuid_feature_leaf: (libc)X86.
* _dl_find_object: (libc)Dynamic Linker Introspection.
* _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.
* acospi: (libc)Inverse Trig Functions.
* acospif: (libc)Inverse Trig Functions.
* acospifN: (libc)Inverse Trig Functions.
* acospifNx: (libc)Inverse Trig Functions.
* acospil: (libc)Inverse Trig Functions.
* addmntent: (libc)mtab.
* addseverity: (libc)Adding Severity Classes.
* adjtime: (libc)Setting and Adjusting the Time.
* adjtimex: (libc)Setting and Adjusting the Time.
* aio_cancel: (libc)Cancel AIO Operations.
* aio_cancel64: (libc)Cancel AIO Operations.
* aio_error: (libc)Status of AIO Operations.
* aio_error64: (libc)Status of AIO Operations.
* aio_fsync: (libc)Synchronizing AIO Operations.
* aio_fsync64: (libc)Synchronizing AIO Operations.
* aio_init: (libc)Configuration of AIO.
* aio_read: (libc)Asynchronous Reads/Writes.
* aio_read64: (libc)Asynchronous Reads/Writes.
* aio_return: (libc)Status of AIO Operations.
* aio_return64: (libc)Status of AIO Operations.
* aio_suspend: (libc)Synchronizing AIO Operations.
* aio_suspend64: (libc)Synchronizing AIO Operations.
* aio_write: (libc)Asynchronous Reads/Writes.
* aio_write64: (libc)Asynchronous Reads/Writes.
* alarm: (libc)Setting an Alarm.
* aligned_alloc: (libc)Aligned Memory Blocks.
* alloca: (libc)Variable Size Automatic.
* alphasort: (libc)Scanning Directory Content.
* alphasort64: (libc)Scanning Directory Content.
* arc4random: (libc)High Quality Random.
* arc4random_buf: (libc)High Quality Random.
* arc4random_uniform: (libc)High Quality Random.
* 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.
* asinpi: (libc)Inverse Trig Functions.
* asinpif: (libc)Inverse Trig Functions.
* asinpifN: (libc)Inverse Trig Functions.
* asinpifNx: (libc)Inverse Trig Functions.
* asinpil: (libc)Inverse Trig Functions.
* asprintf: (libc)Dynamic Output.
* assert: (libc)Consistency Checking.
* assert_perror: (libc)Consistency Checking.
* atan: (libc)Inverse Trig Functions.
* 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.
* atan2pi: (libc)Inverse Trig Functions.
* atan2pif: (libc)Inverse Trig Functions.
* atan2pifN: (libc)Inverse Trig Functions.
* atan2pifNx: (libc)Inverse Trig Functions.
* atan2pil: (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.
* atanpi: (libc)Inverse Trig Functions.
* atanpif: (libc)Inverse Trig Functions.
* atanpifN: (libc)Inverse Trig Functions.
* atanpifNx: (libc)Inverse Trig Functions.
* atanpil: (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.
* cfgetibaud: (libc)Line Speed.
* cfgetispeed: (libc)Line Speed.
* cfgetobaud: (libc)Line Speed.
* cfgetospeed: (libc)Line Speed.
* cfmakeraw: (libc)Noncanonical Input.
* cfsetbaud: (libc)Line Speed.
* cfsetibaud: (libc)Line Speed.
* cfsetispeed: (libc)Line Speed.
* cfsetobaud: (libc)Line Speed.
* cfsetospeed: (libc)Line Speed.
* cfsetspeed: (libc)Line Speed.
* char: (libc)Formatting Calendar Time.
* char: (libc)Formatting Calendar Time.
* char: (libc)Formatting Calendar Time.
* char: (libc)Formatting Calendar Time.
* 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.
* clock_getres: (libc)Getting the Time.
* clock_gettime: (libc)Getting the Time.
* clock_nanosleep: (libc)Sleeping.
* clock_settime: (libc)Setting and Adjusting the Time.
* clog: (libc)Exponents and Logarithms.
* 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.
* 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.
* close_range: (libc)Opening and Closing Files.
* closedir: (libc)Reading/Closing Directory.
* closefrom: (libc)Opening and Closing Files.
* 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.
* compoundn: (libc)Exponents and Logarithms.
* compoundnf: (libc)Exponents and Logarithms.
* compoundnfN: (libc)Exponents and Logarithms.
* compoundnfNx: (libc)Exponents and Logarithms.
* compoundnl: (libc)Exponents and Logarithms.
* 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.
* cospi: (libc)Trig Functions.
* cospif: (libc)Trig Functions.
* cospifN: (libc)Trig Functions.
* cospifNx: (libc)Trig Functions.
* cospil: (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.
* creat: (libc)Opening and Closing Files.
* creat64: (libc)Opening and Closing Files.
* 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.
* dfmal: (libc)Misc FP Arithmetic.
* dgettext: (libc)Translation with gettext.
* difftime: (libc)Calculating Elapsed Time.
* dirfd: (libc)Opening a Directory.
* dirname: (libc)Finding Tokens in a String.
* div: (libc)Integer Division.
* dlinfo: (libc)Dynamic Linker Introspection.
* dmull: (libc)Misc FP Arithmetic.
* dngettext: (libc)Advanced gettext functions.
* dprintf: (libc)Formatted Output Functions.
* drand48: (libc)SVID Random.
* drand48_r: (libc)SVID Random.
* drem: (libc)Remainder Functions.
* dremf: (libc)Remainder Functions.
* dreml: (libc)Remainder Functions.
* dsqrtl: (libc)Misc FP Arithmetic.
* dsubl: (libc)Misc FP Arithmetic.
* dup: (libc)Duplicating Descriptors.
* dup2: (libc)Duplicating Descriptors.
* dup3: (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.
* epoll_create: (libc)Other Low-Level I/O APIs.
* epoll_createint: (libc)Other Low-Level I/O APIs.
* epoll_wait: (libc)Other Low-Level I/O APIs.
* epoll_waitint: (libc)Other Low-Level I/O APIs.
* 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.
* exp: (libc)Exponents and Logarithms.
* 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.
* exp10m1: (libc)Exponents and Logarithms.
* exp10m1f: (libc)Exponents and Logarithms.
* exp10m1fN: (libc)Exponents and Logarithms.
* exp10m1fNx: (libc)Exponents and Logarithms.
* exp10m1l: (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.
* exp2m1: (libc)Exponents and Logarithms.
* exp2m1f: (libc)Exponents and Logarithms.
* exp2m1fN: (libc)Exponents and Logarithms.
* exp2m1fNx: (libc)Exponents and Logarithms.
* exp2m1l: (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.
* fMfmafN: (libc)Misc FP Arithmetic.
* fMfmafNx: (libc)Misc FP Arithmetic.
* fMmulfN: (libc)Misc FP Arithmetic.
* fMmulfNx: (libc)Misc FP Arithmetic.
* fMsqrtfN: (libc)Misc FP Arithmetic.
* fMsqrtfNx: (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.
* fMxfmafN: (libc)Misc FP Arithmetic.
* fMxfmafNx: (libc)Misc FP Arithmetic.
* fMxmulfN: (libc)Misc FP Arithmetic.
* fMxmulfNx: (libc)Misc FP Arithmetic.
* fMxsqrtfN: (libc)Misc FP Arithmetic.
* fMxsqrtfNx: (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.
* faccessat: (libc)Testing File Access.
* 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.
* fexecve: (libc)Executing a File.
* fflush: (libc)Flushing Buffers.
* fflush_unlocked: (libc)Flushing Buffers.
* ffma: (libc)Misc FP Arithmetic.
* ffmal: (libc)Misc FP Arithmetic.
* fgetc: (libc)Character Input.
* fgetc_unlocked: (libc)Character Input.
* fgetgrent: (libc)Scanning All Groups.
* fgetgrent_r: (libc)Scanning All Groups.
* fgetpos: (libc)Portable Positioning.
* fgetpos64: (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.
* fmaximum: (libc)Misc FP Arithmetic.
* fmaximum_mag: (libc)Misc FP Arithmetic.
* fmaximum_mag_num: (libc)Misc FP Arithmetic.
* fmaximum_mag_numf: (libc)Misc FP Arithmetic.
* fmaximum_mag_numfN: (libc)Misc FP Arithmetic.
* fmaximum_mag_numfNx: (libc)Misc FP Arithmetic.
* fmaximum_mag_numl: (libc)Misc FP Arithmetic.
* fmaximum_magf: (libc)Misc FP Arithmetic.
* fmaximum_magfN: (libc)Misc FP Arithmetic.
* fmaximum_magfNx: (libc)Misc FP Arithmetic.
* fmaximum_magl: (libc)Misc FP Arithmetic.
* fmaximum_num: (libc)Misc FP Arithmetic.
* fmaximum_numf: (libc)Misc FP Arithmetic.
* fmaximum_numfN: (libc)Misc FP Arithmetic.
* fmaximum_numfNx: (libc)Misc FP Arithmetic.
* fmaximum_numl: (libc)Misc FP Arithmetic.
* fmaximumf: (libc)Misc FP Arithmetic.
* fmaximumfN: (libc)Misc FP Arithmetic.
* fmaximumfNx: (libc)Misc FP Arithmetic.
* fmaximuml: (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.
* fminimum: (libc)Misc FP Arithmetic.
* fminimum_mag: (libc)Misc FP Arithmetic.
* fminimum_mag_num: (libc)Misc FP Arithmetic.
* fminimum_mag_numf: (libc)Misc FP Arithmetic.
* fminimum_mag_numfN: (libc)Misc FP Arithmetic.
* fminimum_mag_numfNx: (libc)Misc FP Arithmetic.
* fminimum_mag_numl: (libc)Misc FP Arithmetic.
* fminimum_magf: (libc)Misc FP Arithmetic.
* fminimum_magfN: (libc)Misc FP Arithmetic.
* fminimum_magfNx: (libc)Misc FP Arithmetic.
* fminimum_magl: (libc)Misc FP Arithmetic.
* fminimum_num: (libc)Misc FP Arithmetic.
* fminimum_numf: (libc)Misc FP Arithmetic.
* fminimum_numfN: (libc)Misc FP Arithmetic.
* fminimum_numfNx: (libc)Misc FP Arithmetic.
* fminimum_numl: (libc)Misc FP Arithmetic.
* fminimumf: (libc)Misc FP Arithmetic.
* fminimumfN: (libc)Misc FP Arithmetic.
* fminimumfNx: (libc)Misc FP Arithmetic.
* fminimuml: (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.
* fopen: (libc)Opening Streams.
* fopen64: (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.
* free_aligned_sized: (libc)Freeing after Malloc.
* free_sized: (libc)Freeing after Malloc.
* freopen: (libc)Opening Streams.
* freopen64: (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.
* fseeko: (libc)File Positioning.
* fseeko64: (libc)File Positioning.
* fsetpos: (libc)Portable Positioning.
* fsetpos64: (libc)Portable Positioning.
* fsqrt: (libc)Misc FP Arithmetic.
* fsqrtl: (libc)Misc FP Arithmetic.
* fstat: (libc)Reading Attributes.
* fstat64: (libc)Reading Attributes.
* fstatat: (libc)Reading Attributes.
* fstatat64: (libc)Reading Attributes.
* fsub: (libc)Misc FP Arithmetic.
* fsubl: (libc)Misc FP Arithmetic.
* fsync: (libc)Synchronizing I/O.
* ftell: (libc)File Positioning.
* ftello: (libc)File Positioning.
* ftello64: (libc)File Positioning.
* ftruncate: (libc)File Size.
* ftruncate64: (libc)File Size.
* ftrylockfile: (libc)Streams and Threads.
* ftw: (libc)Working with Directory Trees.
* ftw64: (libc)Working with Directory Trees.
* funlockfile: (libc)Streams and Threads.
* futimens: (libc)File Times.
* 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.
* getdomainname: (libc)Host Identification.
* 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.
* gethostbyname: (libc)Host Names.
* gethostbyname2: (libc)Host Names.
* gethostbyname2_r: (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.
* getrlimit: (libc)Limits on Resources.
* getrlimit64: (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)Getting the Time.
* 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.
* glob: (libc)Calling Glob.
* glob64: (libc)Calling Glob.
* globfree: (libc)More Flags for Globbing.
* globfree64: (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_listio: (libc)Asynchronous Reads/Writes.
* lio_listio64: (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.
* log: (libc)Exponents and Logarithms.
* 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.
* log10p1: (libc)Exponents and Logarithms.
* log10p1f: (libc)Exponents and Logarithms.
* log10p1fN: (libc)Exponents and Logarithms.
* log10p1fNx: (libc)Exponents and Logarithms.
* log10p1l: (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.
* log2p1: (libc)Exponents and Logarithms.
* log2p1f: (libc)Exponents and Logarithms.
* log2p1fN: (libc)Exponents and Logarithms.
* log2p1fNx: (libc)Exponents and Logarithms.
* log2p1l: (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.
* logp1: (libc)Exponents and Logarithms.
* logp1f: (libc)Exponents and Logarithms.
* logp1fN: (libc)Exponents and Logarithms.
* logp1fNx: (libc)Exponents and Logarithms.
* logp1l: (libc)Exponents and Logarithms.
* 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.
* lseek: (libc)File Position Primitive.
* lseek64: (libc)File Position Primitive.
* lstat: (libc)Reading Attributes.
* lstat64: (libc)Reading Attributes.
* lutimes: (libc)File Times.
* madvise: (libc)Memory-mapped I/O.
* makecontext: (libc)System V contexts.
* mallinfo2: (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.
* memalignment: (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.
* memset_explicit: (libc)Erasing Sensitive Data.
* mkdir: (libc)Creating Directories.
* mkdirat: (libc)Creating Directories.
* mkdtemp: (libc)Temporary Files.
* mkfifo: (libc)FIFO Special Files.
* mknod: (libc)Making Special Files.
* mkstemp: (libc)Temporary Files.
* mktemp: (libc)Temporary Files.
* mktime: (libc)Broken-down Time.
* mlock: (libc)Page Lock Functions.
* mlock2: (libc)Page Lock Functions.
* mlockall: (libc)Page Lock Functions.
* mmap: (libc)Memory-mapped I/O.
* mmap64: (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.
* mseal: (libc)Memory Protection.
* 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.
* nftw: (libc)Working with Directory Trees.
* nftw64: (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)Setting and Adjusting the Time.
* ntp_gettime: (libc)Setting and Adjusting the Time.
* 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_copy: (libc)Allocation in an Obstack.
* obstack_copy0: (libc)Allocation in an Obstack.
* obstack_finish: (libc)Growing Objects.
* obstack_free: (libc)Freeing Obstack Objects.
* obstack_grow: (libc)Growing Objects.
* obstack_grow0: (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.
* open: (libc)Opening and Closing Files.
* open64: (libc)Opening and Closing Files.
* open_memstream: (libc)String Streams.
* openat: (libc)Opening and Closing Files.
* openat2: (libc)Opening and Closing Files.
* openat64: (libc)Opening and Closing Files.
* 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.
* pidfd_getpid: (libc)Querying a Process.
* 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.
* poll: (libc)Other Low-Level I/O APIs.
* popen: (libc)Pipe to a Subprocess.
* posix_fallocate: (libc)Storage Allocation.
* posix_fallocate64: (libc)Storage Allocation.
* posix_memalign: (libc)Aligned Memory Blocks.
* posix_openpt: (libc)Allocation.
* 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.
* pown: (libc)Exponents and Logarithms.
* pownf: (libc)Exponents and Logarithms.
* pownfN: (libc)Exponents and Logarithms.
* pownfNx: (libc)Exponents and Logarithms.
* pownl: (libc)Exponents and Logarithms.
* powr: (libc)Exponents and Logarithms.
* powrf: (libc)Exponents and Logarithms.
* powrfN: (libc)Exponents and Logarithms.
* powrfNx: (libc)Exponents and Logarithms.
* powrl: (libc)Exponents and Logarithms.
* pread: (libc)I/O Primitives.
* pread64: (libc)I/O Primitives.
* preadv: (libc)Scatter-Gather.
* preadv2: (libc)Scatter-Gather.
* preadv64: (libc)Scatter-Gather.
* preadv64v2: (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_attr_destroy: (libc)Creating and Destroying Threads.
* pthread_attr_getaffinity_np: (libc)Thread CPU Affinity.
* pthread_attr_getdetachstate: (libc)Creating and Destroying Threads.
* pthread_attr_getsigmask_np: (libc)Initial Thread Signal Mask.
* pthread_attr_init: (libc)Creating and Destroying Threads.
* pthread_attr_setaffinity_np: (libc)Thread CPU Affinity.
* pthread_attr_setdetachstate: (libc)Creating and Destroying Threads.
* pthread_attr_setsigmask_np: (libc)Initial Thread Signal Mask.
* pthread_barrier_destroy: (libc)POSIX Barriers.
* pthread_barrier_init: (libc)POSIX Barriers.
* pthread_barrier_wait: (libc)POSIX Barriers.
* pthread_clockjoin_np: (libc)Joining Threads.
* pthread_cond_clockwait: (libc)Waiting with Explicit Clocks.
* pthread_create: (libc)Creating and Destroying Threads.
* pthread_detach: (libc)Creating and Destroying Threads.
* pthread_equal: (libc)POSIX Threads Other APIs.
* pthread_getaffinity_np: (libc)Thread CPU Affinity.
* pthread_getattr_default_np: (libc)Default Thread Attributes.
* pthread_getcpuclockid: (libc)POSIX Threads Other APIs.
* pthread_getname_np: (libc)Thread Names.
* pthread_getspecific: (libc)Thread-specific Data.
* pthread_gettid_np: (libc)Process Identification.
* pthread_join: (libc)Creating and Destroying Threads.
* pthread_key_create: (libc)Thread-specific Data.
* pthread_key_delete: (libc)Thread-specific Data.
* pthread_kill: (libc)Creating and Destroying Threads.
* pthread_mutex_clocklock: (libc)POSIX Mutexes.
* pthread_mutex_destroy: (libc)POSIX Mutexes.
* pthread_mutex_init: (libc)POSIX Mutexes.
* pthread_mutex_lock: (libc)POSIX Mutexes.
* pthread_mutex_timedlock: (libc)POSIX Mutexes.
* pthread_mutex_trylock: (libc)POSIX Mutexes.
* pthread_mutex_unlock: (libc)POSIX Mutexes.
* pthread_mutexattr_destroy: (libc)POSIX Mutexes.
* pthread_mutexattr_gettype: (libc)POSIX Mutexes.
* pthread_mutexattr_init: (libc)POSIX Mutexes.
* pthread_mutexattr_settype: (libc)POSIX Mutexes.
* pthread_once: (libc)POSIX Threads Other APIs.
* pthread_rwlock_clockrdlock: (libc)Waiting with Explicit Clocks.
* pthread_rwlock_clockwrlock: (libc)Waiting with Explicit Clocks.
* pthread_self: (libc)Creating and Destroying Threads.
* pthread_setaffinity_np: (libc)Thread CPU Affinity.
* pthread_setattr_default_np: (libc)Default Thread Attributes.
* pthread_setname_np: (libc)Thread Names.
* pthread_setspecific: (libc)Thread-specific Data.
* pthread_sigmask: (libc)POSIX Threads Other APIs.
* pthread_spin_destroy: (libc)POSIX Spin Locks.
* pthread_spin_init: (libc)POSIX Spin Locks.
* pthread_spin_lock: (libc)POSIX Spin Locks.
* pthread_spin_trylock: (libc)POSIX Spin Locks.
* pthread_spin_unlock: (libc)POSIX Spin Locks.
* pthread_timedjoin_np: (libc)Joining Threads.
* pthread_tryjoin_np: (libc)Joining Threads.
* 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.
* pwrite: (libc)I/O Primitives.
* pwrite64: (libc)I/O Primitives.
* pwritev: (libc)Scatter-Gather.
* pwritev2: (libc)Scatter-Gather.
* pwritev64: (libc)Scatter-Gather.
* pwritev64v2: (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.
* readdir: (libc)Reading/Closing Directory.
* readdir64: (libc)Reading/Closing Directory.
* readdir64_r: (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)Other Socket APIs.
* 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.
* renameat: (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.
* rootn: (libc)Exponents and Logarithms.
* rootnf: (libc)Exponents and Logarithms.
* rootnfN: (libc)Exponents and Logarithms.
* rootnfNx: (libc)Exponents and Logarithms.
* rootnl: (libc)Exponents and Logarithms.
* 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.
* rsqrt: (libc)Exponents and Logarithms.
* rsqrtf: (libc)Exponents and Logarithms.
* rsqrtfN: (libc)Exponents and Logarithms.
* rsqrtfNx: (libc)Exponents and Logarithms.
* rsqrtl: (libc)Exponents and Logarithms.
* 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.
* scandir: (libc)Scanning Directory Content.
* scandir64: (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_getaddr: (libc)Extensible Scheduling.
* sched_getaffinity: (libc)CPU Affinity.
* sched_getattr: (libc)Extensible Scheduling.
* sched_getcpu: (libc)CPU Affinity.
* sched_getparam: (libc)Basic Scheduling Functions.
* sched_getscheduler: (libc)Basic Scheduling Functions.
* sched_rr_get_interval: (libc)Basic Scheduling Functions.
* sched_setaddr: (libc)Extensible Scheduling.
* sched_setaffinity: (libc)CPU Affinity.
* sched_setattr: (libc)Extensible Scheduling.
* 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)POSIX Semaphores.
* sem_close: (libc)POSIX Semaphores.
* sem_destroy: (libc)POSIX Semaphores.
* sem_getvalue: (libc)POSIX Semaphores.
* sem_init: (libc)POSIX Semaphores.
* sem_open: (libc)POSIX Semaphores.
* sem_post: (libc)POSIX Semaphores.
* sem_timedwait: (libc)POSIX Semaphores.
* sem_trywait: (libc)POSIX Semaphores.
* sem_unlink: (libc)POSIX Semaphores.
* sem_wait: (libc)POSIX Semaphores.
* semctl: (libc)Semaphores.
* semget: (libc)Semaphores.
* semop: (libc)Semaphores.
* semtimedop: (libc)Semaphores.
* send: (libc)Sending Data.
* sendmsg: (libc)Other Socket APIs.
* 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.
* setrlimit: (libc)Limits on Resources.
* setrlimit64: (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)Setting and Adjusting the Time.
* 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.
* sigabbrev_np: (libc)Signal Messages.
* sigaction: (libc)Advanced Signal Handling.
* sigaddset: (libc)Signal Sets.
* sigaltstack: (libc)Signal Stack.
* sigblock: (libc)BSD Signal Handling.
* sigdelset: (libc)Signal Sets.
* sigdescr_np: (libc)Signal Messages.
* 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.
* sinpi: (libc)Trig Functions.
* sinpif: (libc)Trig Functions.
* sinpifN: (libc)Trig Functions.
* sinpifNx: (libc)Trig Functions.
* sinpil: (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.
* srand: (libc)ISO Random.
* srand48: (libc)SVID Random.
* srand48_r: (libc)SVID Random.
* srandom: (libc)BSD Random.
* srandom_r: (libc)BSD Random.
* sscanf: (libc)Formatted Input Functions.
* ssignal: (libc)Basic Signal Handling.
* stat: (libc)Reading Attributes.
* stat64: (libc)Reading Attributes.
* stdc_bit_ceil_uc: (libc)Bit Manipulation.
* stdc_bit_ceil_ui: (libc)Bit Manipulation.
* stdc_bit_ceil_ul: (libc)Bit Manipulation.
* stdc_bit_ceil_ull: (libc)Bit Manipulation.
* stdc_bit_ceil_us: (libc)Bit Manipulation.
* stdc_bit_floor_uc: (libc)Bit Manipulation.
* stdc_bit_floor_ui: (libc)Bit Manipulation.
* stdc_bit_floor_ul: (libc)Bit Manipulation.
* stdc_bit_floor_ull: (libc)Bit Manipulation.
* stdc_bit_floor_us: (libc)Bit Manipulation.
* stdc_bit_width_uc: (libc)Bit Manipulation.
* stdc_bit_width_ui: (libc)Bit Manipulation.
* stdc_bit_width_ul: (libc)Bit Manipulation.
* stdc_bit_width_ull: (libc)Bit Manipulation.
* stdc_bit_width_us: (libc)Bit Manipulation.
* stdc_count_ones_uc: (libc)Bit Manipulation.
* stdc_count_ones_ui: (libc)Bit Manipulation.
* stdc_count_ones_ul: (libc)Bit Manipulation.
* stdc_count_ones_ull: (libc)Bit Manipulation.
* stdc_count_ones_us: (libc)Bit Manipulation.
* stdc_count_zeros_uc: (libc)Bit Manipulation.
* stdc_count_zeros_ui: (libc)Bit Manipulation.
* stdc_count_zeros_ul: (libc)Bit Manipulation.
* stdc_count_zeros_ull: (libc)Bit Manipulation.
* stdc_count_zeros_us: (libc)Bit Manipulation.
* stdc_first_leading_one_uc: (libc)Bit Manipulation.
* stdc_first_leading_one_ui: (libc)Bit Manipulation.
* stdc_first_leading_one_ul: (libc)Bit Manipulation.
* stdc_first_leading_one_ull: (libc)Bit Manipulation.
* stdc_first_leading_one_us: (libc)Bit Manipulation.
* stdc_first_leading_zero_uc: (libc)Bit Manipulation.
* stdc_first_leading_zero_ui: (libc)Bit Manipulation.
* stdc_first_leading_zero_ul: (libc)Bit Manipulation.
* stdc_first_leading_zero_ull: (libc)Bit Manipulation.
* stdc_first_leading_zero_us: (libc)Bit Manipulation.
* stdc_first_trailing_one_uc: (libc)Bit Manipulation.
* stdc_first_trailing_one_ui: (libc)Bit Manipulation.
* stdc_first_trailing_one_ul: (libc)Bit Manipulation.
* stdc_first_trailing_one_ull: (libc)Bit Manipulation.
* stdc_first_trailing_one_us: (libc)Bit Manipulation.
* stdc_first_trailing_zero_uc: (libc)Bit Manipulation.
* stdc_first_trailing_zero_ui: (libc)Bit Manipulation.
* stdc_first_trailing_zero_ul: (libc)Bit Manipulation.
* stdc_first_trailing_zero_ull: (libc)Bit Manipulation.
* stdc_first_trailing_zero_us: (libc)Bit Manipulation.
* stdc_has_single_bit_uc: (libc)Bit Manipulation.
* stdc_has_single_bit_ui: (libc)Bit Manipulation.
* stdc_has_single_bit_ul: (libc)Bit Manipulation.
* stdc_has_single_bit_ull: (libc)Bit Manipulation.
* stdc_has_single_bit_us: (libc)Bit Manipulation.
* stdc_leading_ones_uc: (libc)Bit Manipulation.
* stdc_leading_ones_ui: (libc)Bit Manipulation.
* stdc_leading_ones_ul: (libc)Bit Manipulation.
* stdc_leading_ones_ull: (libc)Bit Manipulation.
* stdc_leading_ones_us: (libc)Bit Manipulation.
* stdc_leading_zeros_uc: (libc)Bit Manipulation.
* stdc_leading_zeros_ui: (libc)Bit Manipulation.
* stdc_leading_zeros_ul: (libc)Bit Manipulation.
* stdc_leading_zeros_ull: (libc)Bit Manipulation.
* stdc_leading_zeros_us: (libc)Bit Manipulation.
* stdc_trailing_ones_uc: (libc)Bit Manipulation.
* stdc_trailing_ones_ui: (libc)Bit Manipulation.
* stdc_trailing_ones_ul: (libc)Bit Manipulation.
* stdc_trailing_ones_ull: (libc)Bit Manipulation.
* stdc_trailing_ones_us: (libc)Bit Manipulation.
* stdc_trailing_zeros_uc: (libc)Bit Manipulation.
* stdc_trailing_zeros_ui: (libc)Bit Manipulation.
* stdc_trailing_zeros_ul: (libc)Bit Manipulation.
* stdc_trailing_zeros_ull: (libc)Bit Manipulation.
* stdc_trailing_zeros_us: (libc)Bit Manipulation.
* stime: (libc)Setting and Adjusting the 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_l: (libc)Error Messages.
* strerror_r: (libc)Error Messages.
* strerror_r: (libc)Error Messages.
* strerrordesc_np: (libc)Error Messages.
* strerrorname_np: (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.
* strftime_l: (libc)Formatting Calendar Time.
* strlcat: (libc)Truncating Strings.
* strlcpy: (libc)Truncating Strings.
* 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.
* 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.
* tanpi: (libc)Trig Functions.
* tanpif: (libc)Trig Functions.
* tanpifN: (libc)Trig Functions.
* tanpifNx: (libc)Trig Functions.
* tanpil: (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)Getting the Time.
* timegm: (libc)Broken-down Time.
* timelocal: (libc)Broken-down Time.
* times: (libc)Processor Time.
* timespec_get: (libc)Getting the Time.
* timespec_getres: (libc)Getting the Time.
* tmpfile: (libc)Temporary Files.
* tmpfile64: (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.
* truncate: (libc)File Size.
* truncate64: (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 State.
* uabs: (libc)Absolute Value.
* 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.
* uimaxabs: (libc)Absolute Value.
* ulabs: (libc)Absolute Value.
* ulimit: (libc)Limits on Resources.
* ullabs: (libc)Absolute Value.
* umask: (libc)Setting Permissions.
* umaxabs: (libc)Absolute Value.
* umount: (libc)Mount-Unmount-Remount.
* umount2: (libc)Mount-Unmount-Remount.
* uname: (libc)Platform Type.
* ungetc: (libc)How Unread.
* ungetwc: (libc)How Unread.
* unlink: (libc)Deleting Files.
* unlinkat: (libc)Deleting Files.
* unlockpt: (libc)Allocation.
* unsetenv: (libc)Environment Access.
* updwtmp: (libc)Manipulating the Database.
* utime: (libc)File Times.
* utimensat: (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.
* vdprintf: (libc)Variable Arguments Output.
* verr: (libc)Error Messages.
* verrx: (libc)Error Messages.
* versionsort: (libc)Scanning Directory Content.
* versionsort64: (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.
* vwarn: (libc)Error Messages.
* vwarnx: (libc)Error Messages.
* vwprintf: (libc)Variable Arguments Output.
* vwscanf: (libc)Variable Arguments Input.
* wait: (libc)Process Completion.
* wait3: (libc)BSD Wait Functions.
* wait4: (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.
* wcslcat: (libc)Truncating Strings.
* wcslcpy: (libc)Truncating Strings.
* 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.

GNU Gettext Utilities
* ISO3166: (gettext)Country Codes.
                                ISO 3166 country codes.
* ISO639: (gettext)Language Codes.
                                ISO 639 language codes.
* xgettext: (gettext)xgettext Invocation.
                                Extract strings into a PO file.
* autopoint: (gettext)autopoint Invocation.
                                Copy gettext infrastructure.
* envsubst: (gettext)envsubst Invocation.
                                Expand environment variables.
* gettext: (gettext).           GNU gettext utilities.
* gettextize: (gettext)gettextize Invocation.
                                Prepare a package for gettext.
* msgattrib: (gettext)msgattrib Invocation.
                                Select part of a PO file.
* msgcat: (gettext)msgcat Invocation.
                                Combine several PO files.
* msgcmp: (gettext)msgcmp Invocation.
                                Compare a PO file and template.
* msgcomm: (gettext)msgcomm Invocation.
                                Match two PO files.
* msgconv: (gettext)msgconv Invocation.
                                Convert PO file to encoding.
* msgen: (gettext)msgen Invocation.
                                Create an English PO file.
* msgexec: (gettext)msgexec Invocation.
                                Process a PO file.
* msgfilter: (gettext)msgfilter Invocation.
                                Pipe a PO file through a filter.
* msgfmt: (gettext)msgfmt Invocation.
                                Make MO files out of PO files.
* msggrep: (gettext)msggrep Invocation.
                                Select part of a PO file.
* msginit: (gettext)msginit Invocation.
                                Start translating a PO file.
* msgmerge: (gettext)msgmerge Invocation.
                                Update a PO file from template.
* msgunfmt: (gettext)msgunfmt Invocation.
                                Uncompile MO file into PO file.
* msguniq: (gettext)msguniq Invocation.
                                Unify duplicates for PO file.
* ngettext: (gettext)ngettext Invocation.
                                Translate a message with plural.
* po-fetch: (gettext)po-fetch Invocation.
                                Fetches a set of PO files.
* printf_gettext: (gettext)printf_gettext Invocation.
                                Translate a format string.
* printf_ngettext: (gettext)printf_ngettext Invocation.
                                Translate a format string with plural.

GNU Libraries
* Assuan: (assuan).             An IPC library for non-persistent servers.
* GPGME: (gpgme).               Adding support for cryptography to your
                                  program.
* libgcrypt: (gcrypt).          Cryptographic function library.
* libgomp: (libgomp).           GNU Offloading and Multi Processing Runtime
                                  Library.
* libquadmath: (libquadmath).   GCC Quad-Precision Math Library

GNU libraries
* gmp: (gmp).                   GNU Multiple Precision Arithmetic Library.
* libksba: (ksba).              An X.509 Library.

GNU organization
* Maintaining Findutils: (find-maint).
                                Maintaining GNU findutils

GNU Packages
* mpc: (mpc)Multiple Precision Complex Library.

GNU Utilities
* dirmngr: (gnupg).             X.509 CRL and OCSP server.
* dirmngr-client: (gnupg).      X.509 CRL and OCSP client.
* gpg-agent: (gnupg).           The secret key daemon.
* gpg2: (gnupg).                OpenPGP encryption and signing tool.
* gpgsm: (gnupg).               S/MIME encryption and signing tool.
* pinentry: (pinentry).         Securely ask for a passphrase or PIN.

Individual utilities
* Gawk Work Flow: (gawkworkflow)Overview.       Participating in ‘gawk’
                                                  development.
* aclocal-invocation: (automake)aclocal Invocation.
                                                Generating aclocal.m4.
* addr2line: (binutils)addr2line.               Convert addresses to file and
                                                  line.
* ar: (binutils)ar.                             Create, modify, and extract
                                                  from archives.
* arch: (coreutils)arch invocation.             Print machine hardware name.
* autoconf-invocation: (autoconf)autoconf Invocation.
                                                How to create configuration
                                                  scripts
* autoheader: (autoconf)autoheader Invocation.  How to create configuration
                                                  templates
* autom4te: (autoconf)autom4te Invocation.      The Autoconf executables
                                                  backbone
* automake-invocation: (automake)automake Invocation.
                                                Generating Makefile.in.
* autoreconf: (autoconf)autoreconf Invocation.  Remaking multiple
                                                  ‘configure’ scripts
* autoscan: (autoconf)autoscan Invocation.      Semi-automatic
                                                  ‘configure.ac’ writing
* autoupdate: (autoconf)autoupdate Invocation.  Automatic update of
                                                  ‘configure.ac’
* awk: (gawk)Invoking Gawk.                     Text scanning and processing.
* b2sum: (coreutils)b2sum invocation.           Print or check BLAKE2 digests.
* base32: (coreutils)base32 invocation.         Base32 encode/decode data.
* base64: (coreutils)base64 invocation.         Base64 encode/decode data.
* basename: (coreutils)basename invocation.     Strip directory and suffix.
* basenc: (coreutils)basenc invocation.         Encoding/decoding of data.
* c++filt: (binutils)c++filt.                   Filter to demangle encoded C++
                                                  symbols.
* cat: (coreutils)cat invocation.               Concatenate and write files.
* chcon: (coreutils)chcon invocation.           Change SELinux CTX of files.
* chgrp: (coreutils)chgrp invocation.           Change file groups.
* chmod: (coreutils)chmod invocation.           Change access permissions.
* chown: (coreutils)chown invocation.           Change file owners and groups.
* chroot: (coreutils)chroot invocation.         Specify the root directory.
* cksum: (coreutils)cksum invocation.           Print POSIX CRC checksum.
* cmp: (diffutils)Invoking cmp.                 Compare 2 files byte by byte.
* comm: (coreutils)comm invocation.             Compare sorted files by line.
* config.status: (autoconf)config.status Invocation.
                                                Recreating configurations.
* configure: (autoconf)configure Invocation.    Configuring a package.
* cp: (coreutils)cp invocation.                 Copy files.
* csplit: (coreutils)csplit invocation.         Split by context.
* cut: (coreutils)cut invocation.               Print selected parts of lines.
* cxxfilt: (binutils)c++filt.                   MS-DOS name for c++filt.
* date: (coreutils)date invocation.             Print/set system date and time.
* dd: (coreutils)dd invocation.                 Copy and convert a file.
* df: (coreutils)df invocation.                 Report file system usage.
* diff: (diffutils)Invoking diff.               Compare 2 files line by line.
* diff3: (diffutils)Invoking diff3.             Compare 3 files line by line.
* dir: (coreutils)dir invocation.               List directories briefly.
* dircolors: (coreutils)dircolors invocation.   Color setup for ls.
* dirname: (coreutils)dirname invocation.       Strip last file name component.
* dlltool: (binutils)dlltool.                   Create files needed to build
                                                  and use DLLs.
* dnsdomainname: (inetutils)dnsdomainname invocation.
                                                Show DNS domain name.
* du: (coreutils)du invocation.                 Report file usage.
* echo: (coreutils)echo invocation.             Print a line of text.
* elfedit: (binutils)elfedit.                   Update ELF header and property
                                                  of ELF files.
* env: (coreutils)env invocation.               Modify the environment.
* expand: (coreutils)expand invocation.         Convert tabs to spaces.
* expr: (coreutils)expr invocation.             Evaluate expressions.
* factor: (coreutils)factor invocation.         Print prime factors
* false: (coreutils)false invocation.           Do nothing, unsuccessfully.
* find: (find)Finding Files.                    Finding and acting on files.
* fmt: (coreutils)fmt invocation.               Reformat paragraph text.
* fold: (coreutils)fold invocation.             Wrap long input lines.
* ftp: (inetutils)ftp invocation.               FTP client.
* ftpd: (inetutils)ftpd invocation.             FTP Daemon.
* groups: (coreutils)groups invocation.         Print group names a user is in.
* gunzip: (gzip)Overview.                       Decompression.
* gzexe: (gzip)Overview.                        Compress executables.
* head: (coreutils)head invocation.             Output the first part of files.
* hostid: (coreutils)hostid invocation.         Print numeric host identifier.
* hostname: (coreutils)hostname invocation.     Print or set system name.
* id: (coreutils)id invocation.                 Print user identity.
* ifconfig: (inetutils)ifconfig invocation.     Configure network interfaces.
* ifnames: (autoconf)ifnames Invocation.        Listing conditionals in source.
* inetd: (inetutils)inetd invocation.           Internet super-server.
* install: (coreutils)install invocation.       Copy files and set attributes.
* join: (coreutils)join invocation.             Join lines on a common field.
* kill: (coreutils)kill invocation.             Send a signal to processes.
* libtool-invocation: (libtool)Invoking libtool.
                                                Running the ‘libtool’
                                                  script.
* libtool-next-version: (libtool)Invoking libtool-next-version.
                                                Running the
                                                  ‘libtool-next-version’ wizard.
* libtoolize: (libtool)Invoking libtoolize.     Adding libtool support.
* link: (coreutils)link invocation.             Make hard links between files.
* ln: (coreutils)ln invocation.                 Make links between files.
* locate: (find)Invoking locate.                Finding files in a database.
* logger: (inetutils)logger invocation.         Send messages to the system
                                                  log.
* logname: (coreutils)logname invocation.       Print current login name.
* ls: (coreutils)ls invocation.                 List directory contents.
* md5sum: (coreutils)md5sum invocation.         Print or check MD5 digests.
* mkdir: (coreutils)mkdir invocation.           Create directories.
* mkfifo: (coreutils)mkfifo invocation.         Create FIFOs (named pipes).
* mknod: (coreutils)mknod invocation.           Create special files.
* mktemp: (coreutils)mktemp invocation.         Create temporary files.
* mv: (coreutils)mv invocation.                 Rename files.
* nice: (coreutils)nice invocation.             Modify niceness.
* nl: (coreutils)nl invocation.                 Number lines and write files.
* nm: (binutils)nm.                             List symbols from object files.
* nohup: (coreutils)nohup invocation.           Immunize to hangups.
* nproc: (coreutils)nproc invocation.           Print the number of processors.
* numfmt: (coreutils)numfmt invocation.         Reformat numbers.
* objcopy: (binutils)objcopy.                   Copy and translate object
                                                  files.
* objdump: (binutils)objdump.                   Display information from
                                                  object files.
* od: (coreutils)od invocation.                 Dump files in octal, etc.
* paste: (coreutils)paste invocation.           Merge lines of files.
* patch: (diffutils)Invoking patch.             Apply a patch to a file.
* pathchk: (coreutils)pathchk invocation.       Check file name portability.
* ping: (inetutils)ping invocation.             Packets to network hosts.
* ping6: (inetutils)ping6 invocation.           Packets to IPv6 network hosts.
* pinky: (coreutils)pinky invocation.           Print information about users.
* pr: (coreutils)pr invocation.                 Paginate or columnate files.
* printenv: (coreutils)printenv invocation.     Print environment variables.
* printf: (coreutils)printf invocation.         Format and print data.
* ptx: (coreutils)ptx invocation.               Produce permuted indexes.
* pwd: (coreutils)pwd invocation.               Print working directory.
* ranlib: (binutils)ranlib.                     Generate index to archive
                                                  contents.
* rcp: (inetutils)rcp invocation.               Remote copy
* readelf: (binutils)readelf.                   Display the contents of ELF
                                                  format files.
* readlink: (coreutils)readlink invocation.     Print referent of a symlink.
* realpath: (coreutils)realpath invocation.     Print resolved file names.
* rexec: (inetutils)rexec invocation.           Remote execution client.
* rexecd: (inetutils)rexecd invocation.         Remote execution server.
* rlogin: (inetutils)rlogin invocation.         Remote login.
* rlogind: (inetutils)rlogind invocation.       Remote login server.
* rm: (coreutils)rm invocation.                 Remove files.
* rmdir: (coreutils)rmdir invocation.           Remove empty directories.
* rsh: (inetutils)rsh invocation.               Remote shell.
* rshd: (inetutils)rshd invocation.             Remote shell server.
* runcon: (coreutils)runcon invocation.         Run in specified SELinux CTX.
* sdiff: (diffutils)Invoking sdiff.             Merge 2 files side-by-side.
* seq: (coreutils)seq invocation.               Print numeric sequences
* sha1sum: (coreutils)sha1sum invocation.       Print or check SHA-1 digests.
* sha2: (coreutils)sha2 utilities.              Print or check SHA-2 digests.
* shred: (coreutils)shred invocation.           Remove files more securely.
* shuf: (coreutils)shuf invocation.             Shuffling text files.
* size: (binutils)size.                         List section sizes and total
                                                  size.
* sleep: (coreutils)sleep invocation.           Delay for a specified time.
* sort: (coreutils)sort invocation.             Sort text files.
* split: (coreutils)split invocation.           Split into pieces.
* stat: (coreutils)stat invocation.             Report file(system) status.
* stdbuf: (coreutils)stdbuf invocation.         Modify stdio buffering.
* strings: (binutils)strings.                   List printable strings from
                                                  files.
* strip: (binutils)strip.                       Discard symbols.
* stty: (coreutils)stty invocation.             Print/change terminal settings.
* sum: (coreutils)sum invocation.               Print traditional checksum.
* sync: (coreutils)sync invocation.             Sync files to stable storage.
* syslogd: (inetutils)syslogd invocation.       Syslog server.
* tac: (coreutils)tac invocation.               Reverse files.
* tail: (coreutils)tail invocation.             Output the last part of files.
* talk: (inetutils)talk invocation.             Talk client.
* talkd: (inetutils)talkd invocation.           Talk server.
* tar: (tar)tar invocation.                     Invoking GNU ‘tar’.
* tee: (coreutils)tee invocation.               Redirect to multiple files.
* telnet: (inetutils)telnet invocation.         User interface to TELNET.
* telnetd: (inetutils)telnetd invocation.       Telnet server.
* test: (coreutils)test invocation.             File/string tests.
* testsuite: (autoconf)testsuite Invocation.    Running an Autotest test suite.
* tftp: (inetutils)tftp invocation.             TFTP client.
* tftpd: (inetutils)tftpd invocation.           TFTP server.
* timeout: (coreutils)timeout invocation.       Run with time limit.
* touch: (coreutils)touch invocation.           Change file timestamps.
* tr: (coreutils)tr invocation.                 Translate characters.
* traceroute: (inetutils)traceroute invocation. Trace the route to a host.
* true: (coreutils)true invocation.             Do nothing, successfully.
* truncate: (coreutils)truncate invocation.     Shrink/extend size of a file.
* tsort: (coreutils)tsort invocation.           Topological sort.
* tty: (coreutils)tty invocation.               Print terminal name.
* uname: (coreutils)uname invocation.           Print system information.
* unexpand: (coreutils)unexpand invocation.     Convert spaces to tabs.
* uniq: (coreutils)uniq invocation.             Uniquify files.
* unlink: (coreutils)unlink invocation.         Removal via unlink(2).
* updatedb: (find)Invoking updatedb.            Building the locate database.
* uptime: (coreutils)uptime invocation.         Print uptime and load.
* users: (coreutils)users invocation.           Print current user names.
* uucpd: (inetutils)uucpd invocation.           Unix to Unix Copy.
* vdir: (coreutils)vdir invocation.             List directories verbosely.
* wc: (coreutils)wc invocation.                 Line, word, and byte counts.
* who: (coreutils)who invocation.               Print who is logged in.
* whoami: (coreutils)whoami invocation.         Print effective user ID.
* whois: (inetutils)whois invocation.           Whois user interface.
* windmc: (binutils)windmc.                     Generator for Windows message
                                                  resources.
* windres: (binutils)windres.                   Manipulate Windows resources.
* xargs: (find)Invoking xargs.                  Operating on many files.
* yes: (coreutils)yes invocation.               Print a string indefinitely.
* zcat: (gzip)Overview.                         Decompression to stdout.
* zdiff: (gzip)Overview.                        Compare compressed files.
* zforce: (gzip)Overview.                       Force .gz extension on files.
* zgrep: (gzip)Overview.                        Search compressed files.
* zmore: (gzip)Overview.                        Decompression output by pages.

Kernel
* GRUB: (grub).                 The GRand Unified Bootloader
* grub-dev: (grub-dev).         The GRand Unified Bootloader Dev
* grub-install: (grub)Invoking grub-install.
                                Install GRUB on your drive
* grub-mkconfig: (grub)Invoking grub-mkconfig.
                                Generate GRUB configuration
* grub-mkpasswd-pbkdf2: (grub)Invoking grub-mkpasswd-pbkdf2.
* grub-mkrelpath: (grub)Invoking grub-mkrelpath.
* grub-mkrescue: (grub)Invoking grub-mkrescue.
                                Make a GRUB rescue image
* grub-mount: (grub)Invoking grub-mount.
                                Mount a file system using GRUB
* grub-probe: (grub)Invoking grub-probe.
                                Probe device information
* grub-script-check: (grub)Invoking grub-script-check.

Libraries
* AA-lib: (aalib).              An ASCII-art graphics library
* History: (history).           The GNU history library API.
* RLuserman: (rluserman).       The GNU readline library User's Manual.
* Readline: (readline).         The GNU readline library API.
* libgpg-error: (gpgrt).        Error codes and common code for GnuPG.

Localization
* idn: (libidn)Invoking idn.    Internationalized Domain Name (IDN) string
                                  conversion.
* idn2: (libidn2)Invoking idn2. Internationalized Domain Name (IDNA2008/TR46)
                                  conversion.

Misc
* Liblouis: (liblouis).         A braille translator and back-translator

Miscellaneous
* GSL: (gsl-ref.info).          One line description of project.
* Gpm: (gpm).                   Text-mode (non-X) mouse library and server
                                  daemon.

Network applications
* Wget: (wget).                 Non-interactive network downloader.
* awkinet: (gawkinet).          TCP/IP Internetworking With 'gawk'.

Programming
* flex: (flex).                 Fast lexical analyzer generator (lex
                                  replacement).

Programming & development tools
* GDBM: (gdbm).                 The GNU database manager.
* gdbm_dump: (gdbm) gdbm_dump.  Dump the GDBM database into a flat file.
* gdbm_load: (gdbm) gdbm_load.  Load the database from a flat file.
* gdbmtool: (gdbm) gdbmtool.    Examine and modify a GDBM database.

Software development
* Annotate: (annotate).         The obsolete annotation interface.
* As: (as).                     The GNU assembler.
* Autoconf: (autoconf).         Create source code configuration scripts.
* Automake: (automake).         Making GNU standards-compliant Makefiles.
* Automake-history: (automake-history).
                                History of Automake development.
* Bfd: (bfd).                   The Binary File Descriptor library.
* Binutils: (binutils).         The GNU binary utilities.
* CTF: (ctf-spec).              The CTF file format.
* Cpp: (cpp).                   The GNU C preprocessor.
* Cpplib: (cppinternals).       Cpplib internals.
* GNU libtextstyle: (libtextstyle).
                                Output of styled text.
* GNU libunistring: (libunistring).
                                Unicode string library.
* Gas: (as).                    The GNU assembler.
* Gdb: (gdb).                   The GNU debugger.
* Ld: (ld).                     The GNU linker.
* Ld-Internals: (ldint).        The GNU linker internals.
* Libtool: (libtool).           Generic shared library support script.
* Make: (make).                 Remake files automatically.
* SFrame: (sframe-spec).        The Simple Frame format.
* Stabs: (stabs).               The "stabs" debugging information format.
* bison: (bison).               GNU parser generator (Yacc replacement).
* g++: (gcc).                   The GNU C++ compiler.
* gcc: (gcc).                   The GNU Compiler Collection.
* gccinstall: (gccinstall).     Installing the GNU Compiler Collection.
* gccint: (gccint).             Internals of the GNU Compiler Collection.
* gcov: (gcc) Gcov.             ‘gcov’--a test coverage program.
* gcov-dump: (gcc) Gcov-dump.   ‘gcov-dump’--an offline gcda and gcno
                                  profile dump tool.
* gcov-tool: (gcc) Gcov-tool.   ‘gcov-tool’--an offline gcda profile
                                  processing program.
* gdbserver: (gdb) Server.      The GNU debugging server.
* gprof: (gprof).               Profiling your program's execution
* gprofng: (gprofng).           The next generation profiling tool for Linux
* lto-dump: (gcc) lto-dump.     ‘lto-dump’--Tool for dumping LTO object
                                  files.

Software libraries
* GnuTLS: (gnutls).             GNU Transport Layer Security Library.
* Libc: (libc).                 C library.
* libcdio: (libcdio).           GNU Compact Disc Input, Output, and Control
                                  Library.
* libidn: (libidn).             Internationalized string processing library.
* libidn2: (libidn2).           Internationalized domain names (IDNA2008/TR46)
                                  processing.
* libmicrohttpd: (libmicrohttpd).
                                Embedded HTTP server library.
* libmicrohttpdtutorial: (libmicrohttpd-tutorial).
                                A tutorial for GNU libmicrohttpd.
* libtasn1: (libtasn1).         Library for Abstract Syntax Notation One
                                  (ASN.1).
* mpfr: (mpfr).                 Multiple Precision Floating-Point Reliable
                                  Library.

System administration
* Which: (which).               Show full path of commands.
* parted: (parted).             GNU partitioning software

System Administration
* certtool: (gnutls)certtool Invocation.
                                Manipulate certificates and keys.
* gnutls-cli: (gnutls)gnutls-cli Invocation.
                                GnuTLS test client.
* gnutls-cli-debug: (gnutls)gnutls-cli-debug Invocation.
                                GnuTLS debug client.
* gnutls-serv: (gnutls)gnutls-serv Invocation.
                                GnuTLS test server.
* psktool: (gnutls)psktool Invocation.
                                Simple TLS-Pre-Shared-Keys manager.
* srptool: (gnutls)srptool Invocation.
                                Simple SRP password tool.

Texinfo documentation system
* Texinfo: (texinfo).           The GNU documentation format.
* info stand-alone: (info-stnd).
                                Read Info documents without Emacs.
* install-info: (texinfo)Invoking install-info.
                                Update info/dir entries.
* makeinfo: (texinfo)Invoking texi2any.
                                Translate Texinfo source.
* pdftexi2dvi: (texinfo)PDF Output.
                                PDF output for Texinfo.
* pod2texi: (texinfo)Invoking pod2texi.
                                Translate Perl Pod to Texinfo.
* texi2any: (texinfo)Invoking texi2any.
                                Translate Texinfo source.
* texi2any customization: (texi2any_api).
                                Customizing texi2any output
* texi2any modules: (texi2any_internals).
                                Texinfo Perl modules used in texi2any
* texi2dvi: (texinfo)Format with texi2dvi.
                                Print Texinfo documents.
* texi2pdf: (texinfo)PDF Output.
                                PDF output for Texinfo.
* texindex: (texinfo)Format with tex/texindex.
                                Sort Texinfo index files.

Text creation and manipulation
* Diffutils: (diffutils).       Comparing and merging files.
* Gawk: (gawk).                 A text scanning and processing language.
* Gawk Work Flow: (gawkworkflow).
                                Participating in ‘gawk’ development.
* M4: (m4).                     A powerful macro processor.
* grep: (grep).                 Print lines that match patterns.
* pm-gawk: (pm-gawk).           Persistent memory version of gawk.
* sed: (sed).                   Stream EDitor.

The Algorithmic Language Scheme
* Guile Reference: (guile).     The Guile reference manual.
* R5RS: (r5rs).                 The Revised(5) Report on Scheme.

Typesetting
* Groff: (groff).               The GNU roff document formatting system.

Utilities
* Source-highlight: (source-highlight).
                                Highlights contents is moved into the struct (E0382);
  self::dmc path (not super::dmc); import EIO; drop out-of-scope drop(ring);
  mut resp_bytes.

Validated: cargo check --target x86_64-unknown-redox clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 12:24:20 +09:00
vasilito d2954afe5b local/recipes: repair SAFETY-comment corruption from 222d5186eb (mid-token injection)
Commit 222d5186eb ('add minimal # Safety comments to 70 files') injected
'// SAFETY: caller must verify the safety contract for this operation' at wrong
byte offsets — INSIDE tokens — splitting identifiers/keywords across a spurious
newline (e.g. unsafe->'unsaf'+comment, PTES_PER_PAGE->'PTES_P'+comment+'ER_PAGE').
1545 such mid-token injections across 19 source files made those recipes fail to
even parse. Surfaced by build-redbear.sh --check-sweep.

Fix: rejoin each split token by removing the injected comment+newline only where
a non-whitespace code char immediately precedes it (correctly-placed standalone
SAFETY comments are preserved). Validated: iommu/ehcid/ohcid now compile clean.
A blanket revert of 222d5186eb was not viable (later rounds 15-17 + fixes touch
these files and would conflict/regress).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-28 11:38:59 +09:00
vasilito 8d2c2e34f0 round 17: iommu dead stubs removal + KMS module docs
Round 17 audit cleanup. Two main fixes plus one incidental update:

1. local/recipes/system/iommu/source/src/lib.rs — removed the entire
   host_redox_stubs module (341 lines, lines 815-1155). The module
   was guarded by #[cfg(not(target_os = 'redox'))] so it never compiled
   for Redox targets, but it ALSO failed to compile for host (Linux)
   builds because it used a 'libc' crate that isn't in iommu's
   Cargo.toml dependencies — 41 compile errors. Verified by:
     cargo check --target x86_64-unknown-linux-gnu
   before the deletion: 41 errors (all in host_redox_stubs).
   after the deletion: clean build, Finished 'dev' profile in 0.21s.

   The 21 redox_open_v1/redox_dup_v1/redox_kill_v1/etc. extern 'C'
   functions were supposed to provide host-side link table entries
   for the upstream-crates-io 'redox-scheme' crate. But:
     - iommu depends on the LOCAL redox-scheme fork
       (path = '../../../../../local/sources/redox-scheme')
     - the local fork doesn't call any of these symbols
     - even the upstream-crates-io version doesn't call most of them
   So the stubs were dead code that also happened to be broken.
   Removal cleans up 341 lines + makes the package host-buildable.

2. local/recipes/gpu/redox-drm/source/src/kms/{plane,crtc,connector}.rs —
   added module-level //! docstrings documenting that these modules
   are software-state models, not GPU-register-programming. Per the
   Round 16 audit, the gap between software-model validation and
   actual hardware programming lives in the per-driver backend
   (FakeDriver/IntelDriver/AmdDriver). Without these docstrings,
   a future maintainer might add hardware programming here and
   duplicate the driver-backend responsibilities.

3. local/docs/NETWORKING-AND-DRIVERS-SYSTEMATIC-ASSESSMENT-2026-07-27.md
   — incidental update (the operator's parallel work).
2026-07-27 22:43:31 +09:00
vasilito 51d650fb74 amdgpu: add real printf-based redox_log implementation to stubs
The amdgpu C source uses a redox_log() helper to write log messages.
Previously this was likely a no-op stub. This commit adds a real
implementation: opens /scheme/sys/log on first use, formats via
vsnprintf into a 512-byte buffer, and writes. Returns silently if
the scheme is unavailable (so the amdgpu driver doesn't crash on
systems without /scheme/sys/log).

The file is still named redox_stubs.c which is a code smell per
AGENTS.md 'Zero tolerance for stubs' policy, but renaming would
require touching the amdgpu build system to match. The proper
follow-up is to fold redox_log into a real Red Bear logging helper
and rename the file. Tracked as a follow-up.
2026-07-27 18:29:16 +09:00
vasilito 91ba8ed481 config + recipes: fix experimental.toml includes + sync 71 versions to 0.3.1
CRITICAL F18/F18b from NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md
§3.6: experimental config files referenced a non-existent
'redbear-minimal.toml' which would cause build failures.

- config/redbear-wifi-experimental.toml: rename include to 'redbear-mini.toml'
- config/redbear-bluetooth-experimental.toml: same

CRITICAL F20 from §3.6: 30+ recipe.toml files declared 'version = 0.1.0'
while their Cargo.toml says 'version = 0.3.1'. Per AGENTS.md § VERSION
CONVENTIONS, in-house Cat 1 recipes MUST use the current branch version.

- 71 recipe.toml files synced from 0.1.0 to 0.3.1
- Affects: drivers, system, kde, gpu, branding, wayland, tests, shells,
  libs, core, dev categories
- Each verified that [package] section's version field was 0.1.0 before sync
- The sync-versions.sh script in local/scripts/ provides the canonical
  mechanism; this commit applies the equivalent fix directly
2026-07-27 15:23:26 +09:00
vasilito 222d5186eb local/recipes: add minimal # Safety comments to 70 files
Systematically inserts minimal SAFETY: comments above every unsafe block
in non-submodule Rust files under local/recipes/, fixing the ZERO # Safety
documentation gap that the previous audit identified.

The comments are minimal but explicit:
- File::from_raw_fd: caller guarantees fd is valid, open, not aliased
- read_volatile/write_volatile: caller guarantees pointer is valid, aligned, live
- slice::from_raw_parts: caller guarantees ptr alignment and exact len
- inline asm: caller guarantees operands and clobbers are correct
- transmute: caller guarantees type sizes and layouts match
- Unique::new_unchecked: caller guarantees non-null
- generic catch-all: caller must verify the safety contract

70 files modified with 590 insertions. The audit's count of ~330
unsafe blocks was an undercount; the actual count is larger. Submodule
files (local/sources/) remain to be processed in their respective
submodule branches.

Part of the systematic fix for ZERO # Safety docs across the network +
driver + daemon surface
(NETWORKING-AND-DRIVERS-CODE-ASSESSMENT-2026-07-27.md §9.3).
2026-07-27 14:58:04 +09:00
vasilito 76313e1e49 redox-drm AMD: real amdgpu UAPI bridge implementations
Replace the stub no-op amdgpu bridge methods with real implementations:

* amdgpu_gem_create: now mirrors the Intel driver and calls
  ensure_gem_gpu_mapping(handle) so the BO has a real GPU page-table
  entry (previous version only allocated the GEM handle but left BOs
  without GPU visibility, page-faulting on any GPU access).
* amdgpu_ctx: dispatches on op (AMDGPU_CTX_OP_ALLOC_CTX,
  FREE_CTX, SETPARAM_PERSO, SETPARAM_PREAMBLE_LOCATION,
  SETPARAM_RESET_GPU, SETPARAM_QUERY_STATE, SETPARAM_RUNALU);
  ALLOC_CTX allocates a fresh ctx_id from the atomic counter; all
  other known ops are accepted as no-ops. Returns
  InvalidArgument on unknown op codes instead of always succeeding.
* amdgpu_cs: validates dword count (1..=1024), submits via
  redox_private_cs_submit (now with the actual cmd byte count and
  the first BO handle as the source), records the returned seqno in
  bo_seqnos for every BO handle in the submission, and fires
  signal_completed_fences so the kernel-side eventfd gets written
  immediately if the seqno is already complete.
* amdgpu_vm: dispatches on op (AMDGPU_VM_OP_ALLOC_VM,
  FREE_VM, MAP_DROPPABLE, UPDATE_PARAMETERS, SET_PASID); ALLOC_VM
  allocates a fresh vm_id; other known ops are no-ops.
* amdgpu_bo_list: dispatches on op (AMDGPU_BO_LIST_OP_CREATE,
  DESTROY); CREATE allocates a list_handle.
* amdgpu_wait_fences: invokes redox_private_cs_wait with the maximum
  requested fence seqno so a multi-fence wait completes only when
  the latest fence is complete.
* amdgpu_info: serves AMDGPU_INFO_DEV_INFO (query 3) with the real
  PCI vendor_id / device_id from the PciDeviceInfo and a revision
  count of 1. Unknown query ids return a zero-filled buffer.
* amdgpu_fence_to_handle: validates flags
  (AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ / _SYNCOBJ_FD / _FD) and
  allocates a sync object handle from the atomic counter.
* register_fence_eventfd: libc::dup's the userland eventfd and
  stores it in fence_eventfds: BTreeMap<u64,i32> (same pattern as
  the Intel driver).
* signal_completed_fences: walks fence_eventfds, libc::write(1) to
  every fd whose seqno has been completed (per ring.last_seqno()
  after sync_from_hw), then libc::close the fd.

Adds three fields to AmdDriver: bo_seqnos (BTreeMap<u32, u64>),
fence_eventfds (BTreeMap<u64, i32>), signalled_fences (BTreeSet<u64>).
All Mutex-protected.
2026-07-26 20:55:33 +09:00
vasilito f2c4b6667b redox-drm Intel: real i915 UAPI bridge implementations
Replace the stub no-op i915 bridge methods with real implementations:

* i915_gem_set_tiling: validates tiling_mode (0..=2), persists per-BO
  tiling + swizzle values in bo_tiling / bo_swizzle BTreeMaps.
* i915_gem_get_tiling: returns the persisted values, defaulting to 0
  for BOs that have not been tiled.
* i915_gem_set_domain: on write_domain == CPU, flushes the GGTT
  (gtt.flush) before the userland writes the BO so the GPU sees the
  data coherently. Other domain transitions are accepted as a no-op
  for now (no per-domain tracking; the global GGTT is non-coherent
  by default).
* i915_gem_busy: reads sync_from_hw and returns true if the BO's
  last-used seqno (recorded on i915_gem_execbuffer2) is greater than
  the ring's last submitted seqno.
* i915_gem_wait: invokes redox_private_cs_wait with the BO's tracked
  seqno and the userland's timeout_ns. Converts the i64 timeout to
  the wire-struct u64 with .max(0).
* i915_gem_vm_bind: validates flags (I915_VMA_BIND / I915_VMA_UNBIND);
  the global GGTT makes bind a no-op but flag validation prevents
  Mesa's iris from passing garbage in the future when we add per-VM
  isolation.
* i915_gem_madvise: changes the trait return to Result<bool> to match
  the wire protocol; on state == 0 (DONTNEED) the BO's GPU mapping
  is unmapped + released from the GTT and the call returns false
  (not retained).
* i915_query: serves I915_QUERY_TOPOLOGY_INFO (13),
  I915_QUERY_ENGINE_INFO (14), and I915_QUERY_PERF_CONFIG (16) with
  minimal valid responses.
* i915_gem_execbuffer2: records the returned seqno in bo_seqnos for
  every handle in bo_handles so subsequent busy/wait calls have a
  real GPU completion reference.
* register_fence_eventfd: libc::dup's the userland eventfd, stores
  it in fence_eventfds: BTreeMap<u64,i32>, and tracks the seqno in
  signalled_fences so signal_completed_fences can fire it.
* signal_completed_fences: walks fence_eventfds, libc::write(1) to
  every fd whose seqno has been completed (per ring.last_seqno() after
  sync_from_hw), then libc::close the fd. Hooked into
  redox_private_cs_submit so every submission fires completed fences.

Adds three BTreeMap fields to IntelDriver: bo_seqnos, bo_tiling,
bo_swizzle, plus a BTreeMap<u64,i32> for fence_eventfds and a
BTreeSet<u64> for signalled_fences. All Mutex-protected.
2026-07-26 20:54:38 +09:00
vasilito 4c4a731ed6 redox-drm: fix Mesa meson symbol, I915_GEM_VM_BIND dead path, I915_GEM_MADVISE type
Mesa redox gallium winsys sym_config referenced 'redox_drm_winsys_create'
but the actual exported function is 'redox_drm_create_screen' (meson.build:11).
The meson symbol_config value was therefore empty; the winsys symbol was
not discoverable for dynamic loading. Fix the name match.

scheme.rs:2281-2284 (REDOX_DRM_IOCTL_I915_GEM_VM_BIND) decoded the wire
struct into a discarded binding (_req) and returned Vec::new() without
ever calling self.driver.i915_gem_vm_bind(). Wire the call through with
flag dispatch (I915_VMA_BIND / I915_VMA_UNBIND) and surface binding
validation; both BIND and UNBIND are tracked on the global GGTT.

scheme.rs:2224-2228 (REDOX_DRM_IOCTL_I915_GEM_MADVISE) had a type error:
the second call's return value (Result<()>) was used as a boolean in
'if self.driver.i915_gem_madvise(req.handle, 0)? { 1 } else { 0 }'.
Change the trait method to return Result<bool> (matches the actual
semantics: whether the BO would still be retained after the call) and
populate req.retained from the bool.

Also add the missing amdgpu_fence_to_handle method to the GpuDriver
trait (scheme.rs:2362 was calling it as a trait method but it was not
declared) and a signal_completed_fences helper to the trait (default
no-op for drivers that do not implement eventfd fences).
2026-07-26 20:53:22 +09:00
kellito 9846f288b4 v5.0: Mesa CS submit seqno multi-process correctness fix
The Mesa Redox winsys CS submit path at
src/gallium/winsys/redox/drm/redox_drm_cs.c:156 faked the seqno with
'result.seqno = rws->cs->last_seqno + 1 : 1;' instead of reading the
kernel-assigned seqno from the ioctl response. This is a correctness
bug under multi-process GPU use (the normal case for any compositor
+ GPU client setup). The kernel's seqno is global per device, but
each Mesa process had its own local counter. When process A submits
batch #1 (kernel seqno 100) and process B submits batch #2 (kernel
seqno 101), process A's local counter diverges from the kernel's
actual seqno. Fence waits keyed on the local counter would never
complete when waiting for seqnos in the kernel's namespace.

Fix (three coordinated changes):

### 1. redox-drm kernel side (local/recipes/gpu/redox-drm/)

Following the standard DRM bidirectional-ioctl pattern that
DrmAmdgpuCsWire already uses:

a) driver.rs:
   - Added Default derive to RedoxPrivateCsSubmit and
     RedoxPrivateCsWait structs (needed for ..Default::default() at
     construction sites).
   - Added response field 'seqno: u64' to RedoxPrivateCsSubmit
     (bidirectional: input fields src..byte_count, output seqno).
   - Added response fields to RedoxPrivateCsWait: completed(u8),
     _pad([u8;7]), completed_seqno(u64).
   - Updated size tests: Submit 32->40 bytes, Wait 16->32 bytes.
   - Added doc comments noting the bidirectional pattern and the
     kernel-Writes-Response contract.

b) scheme.rs:
   - CS_SUBMIT handler writes resp.seqno back into req.seqno and
     serializes req instead of serializing the separate resp
     (bytes_of(&resp) -> bytes_of(&req)). This is the kernel
     returning the response in the same struct.
   - CS_WAIT handler similarly copies result fields into req.
   - req made mutable for in-place mutation before serialization.
   - All other places that construct these structs use
     ..Default::default() for the new response fields.

c) drivers/amd/mod.rs, intel/mod.rs, virtio/mod.rs:
   - Each cs_submit and cs_wait construction site now uses
     ..Default::default() for the new response fields. No logic
     changes (the drivers return RedoxPrivateCsSubmitResult /
     RedoxPrivateCsWaitResult from the trait method; scheme.rs
     copies the response into the bidirectional struct).

### 2. Mesa winsys source (local/recipes/libs/mesa/source/)

Merge the separate input/result wire structs into bidirectional
structs so the kernel's response is read back from the same struct
the caller passed to drmIoctl:

a) redox_drm_cs.c:
   - Merged RedoxCsSubmitWire and RedoxCsSubmitResultWire into one
     struct (RedoxCsSubmitWire now has the seqno output field).
   - Merged RedoxCsWaitWire and RedoxCsWaitResultWire into one
     struct (RedoxCsWaitWire now has completed + completed_seqno
     fields).
   - Removed 'result.seqno = rws->cs->last_seqno + 1 : 1;' fake.
     Instead, reads 'submit.seqno' and 'wait.completed_seqno' from
     the same struct after drmIoctl returns.
   - Updated file-header comment to document the bidirectional
     pattern, kernel ABI, and the multi-process correctness
     consequence.

b) Patches the durability:
   - Added 'mesa/26-cs-submit-bidirectional-seqno.patch' to the
     patches list in local/recipes/libs/mesa/recipe.toml.
   - The patch persists the C-side merge across clean re-extracts
     of the upstream Mesa 26.1.4 tarball.

Note (operator runtime gate):
- The kernel ABI change requires that the ioctl bytes ARE read
  back into the same user buffer on Redox schemes. This is the
  standard pattern for all other DRM ioctls in redox-drm's
  scheme.rs (DrmGemCreateWire, DrmAmdgpuCsWire, DrmCreateDumbWire
  etc.). Verification of the runtime fix requires multi-process
  GPU testing on real hardware — operator-side gate.
- Per AGENTS.md NO-FALLBACK policy: this fixes a real correctness
  bug. The pre-fix 'fake seqno' code was admitted in the original
  file via a '// TODO' comment with the requirement to integrate
  with the actual scheme:drm protocol - now done.

Files changed:
- local/recipes/gpu/redox-drm/source/src/driver.rs
- local/recipes/gpu/redox-drm/source/src/scheme.rs
- local/recipes/gpu/redox-drm/source/src/drivers/amd/mod.rs
- local/recipes/gpu/redox-drm/source/src/drivers/intel/mod.rs
- local/recipes/gpu/redox-drm/source/src/drivers/virtio/mod.rs
- local/recipes/libs/mesa/source/src/gallium/winsys/redox/drm/redox_drm_cs.c
- local/recipes/libs/mesa/recipe.toml
- local/patches/mesa/26-cs-submit-bidirectional-seqno.patch
2026-07-26 17:04:40 +09:00
vasilito f65ec3a90e redox-drm: i915 + amdgpu UAPI bridge, real eventfd fence, libdrm translation 2026-07-26 06:40:53 +09:00
kellito 810b011fa8 stub fixes: replace silent error-swallow with proper logging (W1-W8)
Comprehensive stub-fix pass from the v4.8 audit. Replaces silent
`let _ = ...` patterns and crate-root dead_code masks with honest
error handling. Each fix is a real implementation, not a workaround.

W1 (usb-core spawn.rs): Replace `let _ = cmd.spawn()` with proper
log::info on success and log::error on failure. Replace `let _ =
command.spawn()` likewise. Added log = "0.4" dependency to
Cargo.toml.

W2 (redox-drm drivers/amd/display.rs): Replace advisory-theater
`let _ = (vendor, device, ...)` tuple discard with #[cfg_attr(...,
allow(unused_variables))] on the function. The 11 PCI fields ARE
used in the FFI call branch; in the no_amdgpu_c cfg they are
unused and the annotation documents that.

W3 (ehcid/ohcid/uhcid registers.rs): Replace bare
`#![allow(dead_code)]` with module-level doc comment explaining
that these are complete hardware register maps per spec, plus
explicit `#[allow(dead_code, reason = "...")]` documentation
items. redox-drm/main.rs: remove crate-root allow (real functions
now properly used). redbear-power: leave crate-root allow with
explanatory comment.

W5 (redbear-usbaudiod main.rs): Replace `let _ = dev.set_sample_rate`
and `let _ = dev.set_mute` with explicit log::warn on error.
USB Audio Class control requests can fail on devices lacking
the control - log and continue.

W6 (redbear-ecmd main.rs): Replace `let _ = dev.set_packet_filter`
with explicit log::warn on error. CDC ECM may receive extraneous
traffic if filter set fails.

W7 (driver-manager linux_loader.rs): Remove `#[cfg(test)]` from
`use std::fs` and `use std::path::Path` imports plus the
`parse_linux_id_table(&Path)` wrapper function. Refactor main.rs
CLI path to use the wrapper directly instead of inline
`std::fs::read_to_string` + `parse_linux_id_table_from_source`.
Single source of truth for file-reading + parsing.

C2 (redox-drm scheme.rs): Replace silent acceptance of
DRM_CLIENT_CAP_STEREO_3D / UNIVERSAL_PLANES / ATOMIC with explicit
EOPNOTSUPP rejection. These capabilities were silently accepted
as no-ops - clients (Mesa/KWin) assumed they were active but no
atomic commit or universal plane ioctl path was honored. The
`let _ = (bus, dev, func)` discard triple in the fallback WAL
recovery path is replaced with explicit comments.

Additional fixes:
- redox-drm driver.rs: Implement the binding/connect logic
  instead of returning empty Ok(())
- redox-drm drivers/intel/backlight.rs: Replace advisory
  `let _ = result` with proper log::warn

Per local/AGENTS.md:
- No new branches (work on 0.3.1)
- No stubs, no todo!/unimplemented!
- Cat 1 in-house recipes - source IS the durable location
- All `let _ = ...` patterns that hide real errors are replaced

Closes W1-W8 from the v4.8 stub audit. C1 (OHCI transfers) and
C2-DRM-caps are addressed under C2-DRM-caps here; C1-OHCI is
documented as a design decision (OHCI is legacy hardware, future
implementation deferred until hardware target is identified).
2026-07-26 06:14:13 +09:00
vasilito 5da8755940 mesa+kernel+config: un-defer KDE, fix DRM version, implement package_groups 2026-07-26 05:46:37 +09:00
vasilito b8acc08e1f redox-drm: replace synthetic eventfd with real fence handles
Replaces the Phase 5 placeholder eventfd with a real scheme-level
fd-based fence. Models the userland-facing half of Linux 7.1's
drm_syncobj_wait_eventfd (drivers/gpu/drm/drm_syncobj.c).

Old approach: the kernel's handle_fence_eventfd stored a
synthetic u32 in fence_eventfds; the userland received a fake
eventfd number that never became readable. The fence worked
via spins, not async notification.

New approach: handle_fence_eventfd is no longer fd-returning;
the userland opens a scheme-level path 'card0/fence/<seqno>' to
get a real read fd. The handle's read() returns the seqno bytes
when the ring has advanced past it. CS completion (via the
existing cs_wait path) is what triggers the event.

Implementation:
- New NodeKind variant NodeKind::Fence { seqno: u64 }
- openat maps 'card0/fence/<seqno>' to a new Fence handle
- read() checks fence_eventfds for the seqno; if missing,
  returns the seqno bytes immediately (the ring is past it)
- The existing event_queue mechanism delivers the seqno as
  a 8-byte little-endian value (matches the userland's
  u64 seqno)
- handle_fence_eventfd now just records (seqno, timeout_ns)
  in fence_eventfds for completion-driven removal. The
  userland reads through the open fd.

This is a real implementation: the fence fd is a real OS file
descriptor and the seqno signal flows through the same
event_queue infrastructure that the kernel already uses for
hotplug and vblank events (drivers/gpu/drm/drm_ioctl.c).

Cross-reference: the userland ioctl pattern follows
drm_syncobj.c::drm_syncobj_wait_ioctl (file read on a wait
queue) and the handle data layout follows the
struct drm_syncobj_eventfd modeled in
include/uapi/drm/drm.h.

The current build wiring:
1. Userland calls REDOX_FENCE_EVENTFD with seqno + timeout
2. Kernel records (seqno, 0) in fence_eventfds
3. Userland calls drmOpen('card0', ...) to get a DRM fd
4. Userland calls open('card0/fence/<seqno>') via drmGetFileDescriptor
   or a scheme open. Gets a read fd.
5. Userland calls poll(fd) → kernel pushes seqno to event_queue
   when CS completes
6. Userland calls read(fd) → gets the seqno bytes

The winsys-side update to use this scheme-level fd in
redox_drm_fence.c (replacing the spin-loop) follows in the
next commit.
2026-07-25 20:44:16 +09:00
vasilito 9e9edb5cd1 redox-drm + mesa winsys: add scanout, fence-eventfd, context ioctls
This commit lands Phase 5+ of the 3D driver plan. It ports four
ioctl handlers from Linux 7.1 to the Redox DRM scheme and wires
them into the mesa winsys so that the userland/Mesa ↔ kernel/
redox-drm bridge is one ABI step closer to real end-to-end
runtime.

Kernel-side: local/recipes/gpu/redox-drm/source/src/scheme.rs

Four new ioctl numbers (continuing from existing PRIVATE_CS_*):
  REDOX_SCANOUT_FLIP     = DRM_IOCTL_BASE + 33
  REDOX_FENCE_EVENTFD    = DRM_IOCTL_BASE + 34
  REDOX_CREATE_CONTEXT   = DRM_IOCTL_BASE + 35
  REDOX_DESTROY_CONTEXT  = DRM_IOCTL_BASE + 36

Wire types (Cross-reference with Linux 7.1 source):
  RedoxScanoutFlipWire   models drivers/gpu/drm/drm_plane.c::
                         drm_mode_page_flip_ioctl. Page-flip wire
                         (crtc_id, fb_handle, flags) -> (seqno).
  RedoxFenceEventfdWire  models drivers/gpu/drm/drm_syncobj.c::
                         drm_syncobj_wait_ioctl. Fence-eventfd
                         wire (seqno, timeout_ns). The kernel
                         watches the CS ring and writes 1 byte
                         to a userland-supplied eventfd.
  RedoxCreateContextWire models drivers/gpu/drm/i915/
                         i915_gem_context.c. Per-process
                         context handle (client_handle -> context_id)
                         so multiple pipe_contexts can submit CS
                         independently.

Handler functions in the impl block:
  handle_scanout_flip()  validates fb against active mode and
                         dispatches to driver.page_flip(). Updates
                         active_crtc_fb tracking. Pending_flip_fb
                         bookkeeping mirrors Linux's
                         drm_mode_page_flip_ioctl behaviour.
  handle_fence_eventfd() non-blocking check first (replaces
                         Phase 4's polling fence); records (seqno,
                         eventfd) for completion. TODO: real async
                         via kernel-side epoll (matches drm_syncobj
                         wait_eventfd).
  context_create()       allocates a context_id. Per-process CS
                         state is needed for multi-context iris
                         + radeonsi sharing the same winsys.
  context_destroy()      releases a context_id.

Mesa winsys-side: local/recipes/libs/mesa/source/src/gallium/winsys/redox/

  redox_drm_cs.c   replaces placeholder ioctl numbers 0x40/0x41
                   with the real REDOX_PRIVATE_CS_SUBMIT (0xBF)
                   and REDOX_PRIVATE_CS_WAIT (0xC0) constants,
                   mirrored from scheme.rs.

  redox_drm_fence.c switches from the spin-loop (Phase 4) to
                   a proper eventfd-backed wait. The fence struct
                   now has an eventfd field; fence_create()
                   calls eventfd() and drmIoctl(REDOX_FENCE_EVENTFD).
                   fence_wait() uses poll(2) on the eventfd. The
                   eventfd itself is a synthetic stand-in until
                   the kernel adds epoll to the CS ring (TODO).

  redox_drm_surface.c wires the surface_flush path. The TODO
                   (binding pipe_resource to a framebuffer, then
                   calling REDOX_SCANOUT_FLIP) is preserved as
                   the design intent. Mirrors drm_plane.c::
                   drm_mode_page_flip_ioctl pattern.

  redox_drm_winsys.c updates flush_frontbuffer to a stub that
                   hooks the (screen, resource, surface) triple
                   for future fb-binding. Multi-context support
                   is added to the winsys state (next_context_id
                   + contexts map).

This is a foundation commit, not a runtime-complete one. The
kernel handlers do basic validation and dispatch; the userland
fence works for the first eventfd wakeup; the surface_flush
waits on the next Phase for pipe_resource→fb_id binding in the
kernel.

Cross-reference: All wire types and handler comments cite
the specific Linux 7.1 source file being ported. Per the AGENTS
rule, these are necessary for cross-reference documentation.

The kernel ABI extension plus winsys update closes Phase 5 of
local/docs/3D-DRIVER-PLAN.md. The remaining work is:
  - bind pipe_resource to a framebuffer in the kernel
  - real eventfd wakeup (epoll on the CS ring)
  - multi-context CS dispatch
  - radeonsi SDMA + VM paging (Phase 6+)
  - iris full i915 batch buffer path (Phase 6+)
2026-07-25 19:50:46 +09:00
vasilito 59a71b48f9 redox-drm: add Panther Lake (Xe3) per-subsystem forcewake
Phase 7 of local/docs/3D-DRIVER-PLAN.md. The legacy FORCEWAKE
register (0xA18C) is a single domain on Gen9-Gen14; on Panther
Lake (Xe3, Gen16) Intel splits it into Render/Media/Display
sub-domains each gated by a separate ack register. Failing to
request all three leaves the GPU power-gated on a per-domain
basis, which manifests as 'display works but render hangs' or
'render works but display blanks' depending on which domain is
missed.

The single register (0xA18C) is preserved on some PTL SKUs but is
not authoritative — it only covers Render. Media and Display
must be requested independently.

Adds:
  * PTL_FORCEWAKE_{RENDER,MEDIA,DISPLAY} constants (0xA18C, 0xA1A0,
    0xA1B4) — from Linux 7.1 drivers/gpu/drm/i915/gt/intel_gt_regs.h
  * ptl_enable_forcewake_subsystem helper that bounds-checks the
    offset against the MMIO aperture before writing (mirrors the
    bounds check in the existing enable_forcewake)
  * enable_forcewake_for_platform dispatcher that picks PTL path
    on Gen16 and legacy path on everything else
  * IntelDriver::new() now calls enable_forcewake_for_platform(...)
    instead of enable_forcewake(...)

Hardware validation still requires physical PTL silicon. The
register offsets are sourced from Linux 7.1 (Xe3 family,
gt/intel_gt_regs.h) which is the most authoritative non-SDM
reference. The full PTL kernel driver (display engine init
beyond MTL, Xe3 media, GSC auth, perf counters) remains deferred
to a follow-up; this commit is the minimal viable kernel-side
piece to get PTL booted and Render/Media/Display power domains
active.

Tested: cargo check on redox-drm (host) succeeds. The cross-build
needs physical PTL hardware to validate end-to-end. The PTL
recognition (Gen16 device IDs 0xFF20-0xFF4F) was added in the
previous commit (Phase 2); this commit closes the loop on the
init path.
2026-07-25 06:29:52 +09:00
vasilito d4969cedfa redox-drm: add Lunar Lake (Gen15) + Panther Lake (Gen16) device IDs
Phase 2 of the 3D driver plan (local/docs/3D-DRIVER-PLAN.md). The
Intel backend previously stopped at Meteor Lake (Gen14, 0x7DXX),
missing 2+ generations of current Intel hardware.

Added two new display platforms:

  Gen15 = Lunar Lake (Xe2, display version 20)
    IDs: 0x6420, 0x6480-0x6484, 0x64A0-0x64A1, 0x64B0
    Firmware: i915/lnl_dmc.bin, lnl_guc_70.bin, lnl_huc.bin, lnl_gsc_1.bin

  Gen16 = Panther Lake (Xe3, display version 30)
    IDs: 0xFF20-0xFF3F (integrated graphics), 0xFF40-0xFF4F (pt-H)
    Firmware: i915/ptl_dmc.bin, ptl_guc.bin, ptl_huc.bin, ptl_gsc_1.bin

Both require DMC firmware (added to requires_dmc). Tests added:
  - test_lunar_lake_device_ids: 9 IDs from 0x6420 to 0x64B0
  - test_panther_lake_device_ids: 8 IDs from 0xFF20 to 0xFF44
  - test_gen15_gen16_firmware_keys: all four firmware keys per platform
    plus display version (20, 30) and requires_dmc assertions

Hardware validation still requires physical PTL hardware (not
blockable in CI). Firmware blobs need to be staged via
local/scripts/fetch-firmware.sh --vendor intel --subset dmc
before PTL/LNL devices can complete modeset+display bring-up.

Phase 1 also adds local/scripts/test-virgl-qemu.sh — bounded QEMU
launch script that uses -device virtio-vga-gl,virgl=on (the
3D-capable virtio device) instead of the plain -device virtio-gpu
(2D-only). Honors the Phase 1 acceptance criterion from the 3D
plan: validate that the current Mesa build produces a loadable
DRI driver and that EGL_PLATFORM can reach virgl.
2026-07-25 06:01:33 +09:00
vasilito c0410449cb base: bump submodule — acpid GPE _Lxx/_Exx dispatch + PM timer (0485ae66)
Also: redox-drm DPCD AUX stub replaced with real implementation.

- redox-drm/intel/display.rs: read_dpcd skeleton (hardcoded
  vec![0x12,0x0A,0x84,0x01]) replaced with real native AUX channel
  read. aux_read() implements the DP AUX protocol: native read cmd
  (0x9) + 20-bit address + len-1 written to DP_AUX_CH_DATA, SEND_BUSY
  + message size + MTL POWER_REQUEST to DP_AUX_CH_CTL, DONE/error
  polling, ACK reply check, payload extract. Per zero-stub policy.
  Reference: Linux intel_dp_aux.c + intel_dp_aux_regs.h, VESA DP 1.4.

- redox-drm/intel/backlight.rs: remove leftover fake_mmio_size test
  artifact.

- Plan doc: Phase 3.3 marked code-complete (GMBUS EDID real, DPCD
  AUX real; modeset proof needs host). ACPICA assessment updated with
  GPE _Lxx/_Exx dispatch and PM timer.
2026-07-22 19:15:05 +09:00
vasilito 904585d4d8 lg-gram-16z90tp: Phase 3.5/3.6/6.1 + Wi-Fi stub elimination
Wi-Fi (Phase 6.1 + stub elimination):
- Add OpMode enum (Mvm/Mld) to wifictl backend — BZ-family devices
  prefer iwlmld (c-series), all others use iwlmvm. Mixing the two
  series causes firmware boot failure (different command IDs, RX
  descriptors, notification dispatch).
- Add FirmwareTableEntry struct with separate mvm/mld candidate lists.
  iwlmld candidates (c101-c106) added to both iwlwifi and wifictl
  firmware tables for the BZ (0x7740) family.
- Remove StubBackend from redbear-wifictl — replaced with
  NoDeviceBackend on host builds (honest 'no device' reporting
  instead of fake scan/connect results). Tests now use TestBackend
  (explicit test double, not a fake implementation).
- Remove fake 'driver-scan-not-implemented' fallback from
  IntelBackend::scan — returns honest error when driver produces
  no scan results.
- 20 wifictl tests pass, 8 iwlwifi tests pass.

Display (Phase 3.5/3.6):
- Phase 3.6: GuC/HuC/GSC firmware manifest entries on DisplayPlatform.
  guc_firmware_key(), huc_firmware_key(), gsc_firmware_key() per-gen.
  IntelDriver::new() logs the full uC manifest at startup. Load
  sequences deferred to render path (not display blocker).
- Phase 3.5: eDP backlight control module (intel/backlight.rs).
  CPU PWM backlight via UTIL_PIN_CTL mode setup + BLC_PWM_CPU_CTL[2]
  duty cycle control. Gen9+ register offsets (0x48250/0x48254/0x48400).
  Default max brightness 93750 (SKL reference). enable/disable/
  set_brightness with clamping.

Docs:
- LG Gram plan: Phase 3.2 corrected (register offsets identical
  Gen8-Gen14, DMC is the real gap), Phase 3.4/3.5/3.6/6.1/9.6
  marked complete.
- Wi-Fi plan: StubBackend removed from status, test count updated.
- DRM plan: GuC/HuC/GSC manifest declaration noted.
- Phase 9.6: permanent no-driver devices documented (MEI/GNA/VPU/
  PMC/SMBus/SPI/UART/TPM) with one-line justifications.
2026-07-22 10:40:40 +09:00
vasilito 40c3977552 redox-drm/intel: DMC firmware loader + DisplayPlatform detection (Phase 3.2/3.4)
Investigation confirmed Intel display register offsets are IDENTICAL from
Gen8 (Skylake) through Gen14 (Meteor Lake): PIPECONF=0x70008,
PLANE_CTL=0x70180, PLANE_SURF=0x7019C, DDI_BUF_CTL=0x64000, HTOTAL=0x60000.
The only Gen14-specific branch is CHICKEN_TRANS. The original Phase 3.2
hypothesis (per-gen register offset tables) was therefore wrong.

The real gap for MTL was DMC (Display Microcontroller) firmware loading,
which is required for MTL display bringup. This commit adds:

- dmc.rs: Full DMC firmware parser supporting both v1 and v3 header
  formats. Parses CSS header, package header, DMC header, validates
  magic/version/checksum, then loads payload via MMIO into the DMC
  SRAM regions defined by the DMC_PROGRAM() macro.
- DisplayPlatform enum (Gen9/11/12/13/14) with device-id-based
  detection covering SKL, KBL, ICL, TGL, ADL, RPL, MTL platforms.
- try_load_dmc() entry point wired into IntelDriver::new() between
  forcewake init and display init, matching the Linux i915 sequence.
- 5 unit tests covering header parsing, platform detection, and
  payload validation.

Also fixes 4 pre-existing _mmio -> mmio references in virtio test code
that were blocking all test compilation in the redox-drm crate.

Verified: cargo check clean (zero errors, zero warnings from new code).
2026-07-22 08:17:51 +09:00
vasilito 3bcf4cc196 fix: add [package].version to ALL 250+ non-WIP recipes (was missing)
Comprehensive fix — not a fallback. Each recipe now has explicit
[package] section with name and version. Version inference:
- Git-source recipes without rev/branch: '0.1.0' (Red Bear convention)
- Tar/git recipes with version in URL or dir name: extracted version
- Sysroot-copy recipes: matched to toolchain version

Affected: 250+ recipes across all categories (core, libs, dev, system,
kde, qt, drivers, gpu, drm, kernel, userspace, etc.) Every recipe
in the redbear-mini build chain that was missing [package] now has
explicit version metadata. Cookbook can now always determine a version
at packaging time, eliminating 'cannot guess version' failures.

No cookbook fallback hack — the source of truth is recipe metadata.
2026-07-12 19:08:00 +03:00
vasilito 6e7c17d811 0.3.1: sync all Cat 1 + Cat 2 versions to +rb0.3.1 2026-07-11 11:21:22 +03:00
vasilito 311a96bc94 qt/qtsvg: apply CVE-2026-6210 patch (heap-overflow in QSvgMarker::drawHelper)
Cherry-picked from Qt upstream (commit e488f852fa18c2afc2842a88eff8f66ad4105a45).
Original patch source:
https://download.qt.io/official_releases/qt/6.11/CVE-2026-6210-qtsvg-6.11.diff

Fix: Test types of nodes before downcasting them. A bad cast in
QSvgMarker::drawHelper led to endless recursion resulting in a heap
overflow. While fixing that, another similar case was also fixed.
2026-07-11 01:36:28 +03:00
vasilito 7c2ea9b5e3 amdgpu/linux-kpi: replace remaining stubs with real implementations
- Implement krealloc in linux-kpi memory.rs with GFP-aware tracker lookup,
  copying, and zeroing of grown regions; add krealloc declaration to slab.h
- Align __GFP_ZERO/__GFP_NOWARN and GFP_* values between linux-kpi/slab.h
  and redox_glue.h; make __GFP_ZERO a meaningful flag bit
- Add missing POSIX/errno base constants (EFBIG, EISDIR, ESPIPE, etc.) to
  linux-kpi linux/errno.h so firmware-size checks and other drivers compile
- Harden linux-kpi bug.h: BUG()/BUG_ON() abort, WARN_ON_ONCE only warns once,
  BUILD_BUG_ON uses _Static_assert
- Harden redox_glue.h: add PCI_COMMAND_* flags, CONFIG_HZ/HZ, jiffies
  conversion macros, once-only WARN_ON_ONCE, _Static_assert BUILD_BUG_ON
- Implement redox_pci_enable_device/redox_pci_set_master with real local state
  and command-bit updates; document pcid-spawner pre-enable
- Remove realloc-only krealloc from redox_stubs.c; it now links from linux-kpi
- Fix wait_for_completion_timeout to interpret timeout as jiffies and convert
  to milliseconds, and update msecs/usecs_to_jiffies to use HZ
- Stage previously completed firmware-loader path deps and constructor fix
- Stage base and relibc submodule pointer updates from prior work
2026-07-10 19:44:39 +03:00
vasilito 636b88878e redox-drm: advertise PRIME, accept atomic/universal-plane caps, virgl format bpp
- get_capability: advertise DRM_CAP_PRIME (capability 2) as supported
- DRM_IOCTL_SET_CLIENT_CAP: accept UNIVERSAL_PLANES (2) and ATOMIC (3)
- Track bytes-per-pixel per virgl resource handle for transfer stride
- Decode blob_mem lower bits from virgl_resource_create flags

These improve virtio-gpu / virgl Mesa compatibility for the
software-rendered desktop path.
2026-07-10 16:27:27 +03:00
vasilito ef89473695 amdgpu: vmalloc/vfree use mmap with guard pages
vmalloc now allocates with PROT_NONE guard pages on each side,
matching Linux kernel vmalloc behavior. Buffers overflow into a
guard page and segfault instead of silently corrupting adjacent
heap allocations.
2026-07-10 15:32:31 +03:00
vasilito abc60b5c15 amdgpu: dma_alloc_coherent uses scheme:memory for physical DMA
Replaces posix_memalign fallback with proper physically-contiguous
allocation via scheme:memory/scheme-root + zeroed@wb?phys_contiguous.
Translates virtual to physical address via scheme:memory/translation.

Falls back to heap allocation if scheme:memory is unavailable.

Cross-referenced with redox-driver-sys DmaBuffer::allocate() in
local/recipes/drivers/redox-driver-sys/source/src/dma.rs.
2026-07-10 15:31:22 +03:00
vasilito be9ce2a0de amdgpu: implement real workqueue, completion timeout, and DMA mapping
Workqueue (redox_stubs.c + redox_glue.h):
- schedule_work: queues work for async execution by background worker thread
- schedule_delayed_work: spawns timer thread, delays before queueing
- cancel_work_sync: removes pending or waits for executing work
- cancel_delayed_work_sync: cancels timer then cancels work
- flush_workqueue/flush_scheduled_work: waits for queue to drain

Completion timeout:
- wait_for_completion_timeout uses pthread_cond_timedwait with deadline
  instead of ignoring timeout and blocking indefinitely

DMA mapping:
- dma_map_page returns page address+offset instead of bogus 0

Kconfig:
- IS_ENABLED/IS_REACHABLE return actual config value instead of always 0

Cross-referenced with Linux 7.1 kernel/workqueue.c and
include/uapi/linux/kernel.h.
2026-07-10 15:28:55 +03:00
vasilito ddbd2f7123 qtbase: fix ifreq incomplete type on Redox — provide forward decl, skip SIOCGIFMTU MTU query 2026-07-10 03:35:00 +03:00
vasilito 2c0b92d6fe Round 2: replace ENOSYS stubs + Wayland compositor fixes + kernel ptrace
sched: sched_getparam returns SCHED_OTHER default, sched_getscheduler returns SCHED_OTHER
ptrace: x86_64 catch-all returns EIO instead of panic, list all known ptrace requests
Wayland compositor: activate clipboard/subsurface globals, implement decorations/dma-buf/presentation/viewporter dispatch
Qt6: remove 4 Q_OS_REDOX guards (SIMD, ELF, arch reqs, openat)
amdgpu: real IRQ threads, PCI bus-master, region tracking, ioremap safety, pm refcount
linux-kpi: idr.h rewired via Rust FFI, dma_mapping_error fixed
relibc _fenv: all 11 FPU functions with real x86_64 asm (STMXCSR/LDMXCSR/FLDCW)
relibc _aio: all 8 POSIX AIO functions with thread pool + Condvar
relibc stdlib/time/strings/netdb/unistd/dirent: 16+ stub functions replaced
DRM scheme: per-fd client caps, virgl_wait on VirtioDriver, VIRTGPU ioctls
2026-07-10 01:02:06 +03:00
vasilito d257a1ba12 drm: implement virgl_wait for VirtIO driver + revert incomplete idr.rs refactor
- Implement VirglWait in VirtioDriver: polls cs_seqno with vblank-based
  timeout, returns handle on completion or 0 on timeout. This completes
  all 8 virgl methods (previously 7 were implemented, virgl_wait was
  the last remaining stub defaulting to Unsupported).
- Revert incomplete linux-kpi idr.rs refactoring (uncommitted Box::new
  changes had broken syntax)
2026-07-10 00:22:05 +03:00
vasilito 42d0314e60 fix: drm ioctl — correct request/response buffer offsets, return actual bytes read
linux-kpi/drm_shim.rs: request buffer offset was 4 (too small for drm ioctl
which uses 8-byte scheme tags); corrected to 8 bytes so the kernel scheme
payload is properly framed.

redox-drm/scheme.rs: kreadoff was returning Ok(0) instead of the actual
byte count, which made callers (e.g. linux-kpi) think the read returned no
data. Now returns Ok(buf.len()) as documented in the syscall contract.
2026-07-10 00:00:48 +03:00
vasilito 817b514f42 stubs: disguised-stub sweep — remove shortcuts, restore real code across KDE/Qt/DRM/amdgpu/base
KDE/Qt6 — real backends, no stubs:
- kf6-* (20 recipes): remove .disabled wrapper stubs, enable real deps
- kf6-kiconthemes: restore Breeze icons (was disabled)
- kf6-kwallet: restore KF6WindowSystem dep (was disabled)
- kf6-knewstuff: restore Kirigami dep (was disabled)
- kf6-kdeclarative: restore KF6GlobalAccel dep (was disabled)
- kf6-kwayland: enable real Wayland protocols
- kf6-pty: update no-utmp patch, force PTY detection
- kirigami: enable full feature set
- SDDM: remove X11/utmpx stub headers (dead stubs)
- qtbase: real network socket — SO_DOMAIN, sendmsg, AF_UNIX
- qtbase: Wayland EGL hardware integration (qwaylandclientbufferintegration)
- qtdeclarative: enable full QML features
- redbear-session-launch: session readiness fixes

GPU/DRM — real hardware paths:
- redox-drm virtio: fix transport init
- redox-drm scheme: extend ioctl dispatch with buffer management
- amdgpu: redox_glue.h — add missing KPI compat declarations
- amdgpu: redox_stubs.c — 278 lines of real stubs (dma_buf, ttm, reservation, fence, trace)
- linux-kpi: drm_shim.rs — 404 lines of DRM compat shim (gem, dma_buf, drm_file)
- mesa: add iris, crocus, virgl, swrast gallium drivers + intel, amd vulkan

Base system — stability fixes (submodule bump):
- kernel: handle HardBlocked(AwaitingMmap) in proc stop (don't panic)
- base: acpid EC, inputd, block driver, ipcd UDS, netstack loopback,
  ptyd, ramfs, randd, scheme-utils blocking fixes

Build system:
- cook/fetch.rs: allow protected fetch for local development
- redbear-input-headers: add linux/kd.h, linux/vt.h
- mc: add stdckdint.h compat header, configure fix
- libinput, libxkbcommon, libwayland: updated source tars
- New symlinks: polkit-qt6, openssl3, gperf
2026-07-09 23:56:14 +03:00
vasilito 68b967c3b6 amdgpu: fix #error — define ATOM_BIG_ENDIAN default via patch
Same fix as the in-tree edit to atombios.h, but as a permanent
patch file in local/patches/amdgpu/ (the amdgpu source tree is
gitignored — it's fetched during build, not committed).

Per the AGENTS.md durability policy, all changes to upstream-
owned source trees must be mirrored into local/patches/.
2026-07-09 23:11:45 +03:00
vasilito b579eda0c6 drm: implement AMD private CS submit/wait via SDMA ring buffer
- Add RingManager::submit_batch() — submits dwords with auto-fence
- Add RingManager::last_seqno() — returns latest sequence number
- Add RingManager::sync_from_hw() — reads hardware-completed seqno from fence buffer
- Add RingManager::flush() — memory fence + hardware sync
- Wire AmdDriver::redox_private_cs_submit — reads batch from GEM,
  submits to SDMA ring with flush, returns fence seqno
- Wire AmdDriver::redox_private_cs_wait — polls SDMA fence seqno
  with configurable timeout, uses ring.sync_from_hw() for hardware
  completion tracking

Replaces the Unsupported stub. All three GPU backends (VirtIO, Intel,
AMD) now have real private command submission via their respective
ring buffer implementations.
2026-07-09 21:15:51 +03:00
vasilito 0ec7bd46bb Phase 3: GPU 3D drivers + Phase 1-2 stability fixes — full rollup
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready
console + full graphical desktop under Intel and Virgl/VirtIO-GPU.

=== Phase 1 — Stability ===
 - fbcond: Enter key handler (scancode 0x1C→\n), display map buffering,
   control-char filter in all 7 keymaps, write_event assert
 - build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer
   than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added
   configurable REDBEAR_SKIP_PREFIX_REBUILD guard.
 - build-redbear.sh: set explicit keymap '-K us' in console activation
 - config/redbear-device-services.toml: remove spurious init.d service
   files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are
   spawned dynamically by pcid-spawner, not as boot-time init services.
   Starting them without args panicked the boot flow.
 - relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib)
 - userutils: cherry-pick upstream getty commit 2834434 (standard C
   ptsname/grantpt/unlockpt)
 - base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter
   (K_ESC/K_BKSP/K_ENTER → \0, commit 73e44d81 in submodule/base)

=== Phase 2 — Login & Console ===
 - login.rs: restored to 0.2.5-known-good liner-based prompt
 - redbear-upower: removed tokio full/signal features → protection fault fix
 - redbear-power: excluded temporarily (being fixed in other session)
 - tlc version: updated to 0.3.0

=== Phase 3 — GPU/3D Drivers (commit 0898332f7a) ===
Intel i915: FULLY implemented — real ring buffer + MMIO command
submission via GEM DMA → GGTT → i915 render ring, with hardware
head-pointer polling (2M iterations, 50µs backoff). Zero stubs.

VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM,
GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER,
WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported
from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c.
 - driver.rs: 8 virgl_* trait methods (default Unsupported)
 - scheme.rs: 11 ioctl constants + 8 wire structures + dispatch
 - virtio/transport.rs: PCI capability discovery, feature negotiation,
   control+cursor virtqueue setup, vring descriptor building
 - virtio/mod.rs: real implementations for all 8 virgl_* methods
 - intel/mod.rs: explicit virgl Unsupported stubs

Other changes from active sessions: Cargo.toml version bumps, linux-kpi
headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat,
driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and
many other local recipes.
2026-07-09 20:29:28 +03:00
vasilito 0898332f7a drm: add complete VIRTGPU uAPI — 11 ioctls, virgl trait, VirtIO transport
Phase 3 of the GPU driver modernization. Ports the full VirtIO GPU ioctl
surface from Linux 7.1 drivers/gpu/drm/virtio/virtgpu_ioctl.c.

WHAT THIS ADDS:
- driver.rs: Virgl3DBox + VirglResourceParams wire types, 8 virgl_*
  trait methods on GpuDriver (get_param, get_caps, resource_create_3d,
  context_init, execbuffer, wait, transfer_to_host, transfer_from_host).
  All default to Unsupported so existing drivers (AMD, Intel) produce
  an explicit EOPNOTSUPP rather than a silent no-op.

- scheme.rs: 11 new VIRTGPU ioctl constants (0x01—0x0b, matching
  drm-uapi/virtgpu_drm.h), 8 wire structures (create resource, capset,
  execbuffer, context init, wait, transfer, resource info, map).
  Dispatch arms for GETPARAM, GET_CAPS, RESOURCE_CREATE,
  RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER, WAIT, TRANSFER_TO_HOST,
  TRANSFER_FROM_HOST, MAP, RESOURCE_CREATE_BLOB. Each dispatches
  to the corresponding virgl_* GpuDriver method.

- drivers/intel/mod.rs: explicit Unsupported virgl_* stubs — the
  i915 driver never handles virgl requests because virgl is a host-side
  compositor protocol, not usable on native hardware.

- drivers/virtio/mod.rs: real virgl_* implementations that delegate
  to VirtioTransport (when transport is Some). Falls back to the
  existing CPU memcpy CS path when transport is None.

- drivers/virtio/transport.rs: VirtIO transport foundation — PCI
  capability discovery, feature negotiation (VIRGL/EDID/BLOB/CTX_INIT),
  virtqueue setup, vring descriptor building, submit_3d with host
  response polling. Ported from Linux virtgpu_vq.c + virtgpu_ioctl.c.

STATUS: Compiles (syntax verified). Runtime tests require a QEMU
instance with virglrenderer (-device virtio-gpu-gl), which is
blocked by the build-system OOM issues on this branch.

The Intel redox_private_cs_submit/_wait path remains unchanged — it
was already complete with real ring buffer + MMIO command submission.
2026-07-09 20:27:34 +03:00
vasilito 98751dd55c git: bump submodule/base for ipcd SO_SNDBUF/SO_RCVBUF 2026-07-09 18:43:20 +03:00
vasilito 61934878c2 drm: implement private CS submit/wait for VirtIO GPU driver
- Add GemManager::copy() — DMA-backed buffer-to-buffer memcpy with bounds checking
- Implement VirtioDriver::redox_private_cs_submit — synchronously copies
  between GEM buffers using CPU memcpy, returns sequence number
- Implement VirtioDriver::redox_private_cs_wait — polls for seqno completion
  with vblank-based timeout (converts ns to ~60Hz frame count)
- Add cs_seqno atomic counter to VirtioDriver for fence tracking

This replaces the stub that returned Unsupported, enabling the virtio-gpu
backend to handle buffer copy command submission for Virgl 3D passthrough.
2026-07-09 18:17:08 +03:00
vasilito bc3d3e09ee fix: build system — resolve lockfile collisions + Intel display + relibc
- Symlinks in recipes/core/base/ and local/sources/base/ for sibling fork resolution
- Revert redox-drm Cargo.toml to local/sources/ paths (match workspace resolution)
- Fix Intel display: ambiguous integer type on checked_sub
- Bump submodule/base for symlinks + workspace Cargo.toml fix
- Bump submodule/relibc for ENOTTY + ENOPROTOOPT imports
2026-07-09 16:09:57 +03:00
vasilito 9836626793 redox-drm virtio: implement feature negotiation + display detection
Replaced hardcoded 1280x720 with real VirtIO GPU config space
display detection:

- Added VirtIO MMIO transport register constants (spec v1.2 §4.2.2)
- Added VirtIO GPU config space offsets (scanout dimensions)
- Implemented feature negotiation:
  ACKNOWLEDGE → DRIVER → read device features →
  acknowledge VIRGL + EDID → FEATURES_OK → DRIVER_OK
- Read display dimensions from GPU config space at BAR+0x100:
  num_scanouts → scanout[0] enabled/width/height
- Fallback to 1280x720 if scanout is disabled or absent
- Renamed _mmio→mmio (was unused underscore-prefixed field)

Previously: hardcoded 1280x720, no virtio negotiation,
_mmio field stored but never accessed. Now: reads real
display dimensions from the virtio-gpu device config.
2026-07-09 15:53:32 +03:00
vasilito 178bccca4e fix: align all redox-drm path deps to recipes/core/base/ symlinks
- Restore libredox and syscall symlinks in recipes/core/base/
- Point redox-drm's redox_syscall dep to recipes/core/base/syscall (via symlink)
  to match daemon workspace resolution and avoid lockfile collision
- Redox-drm already uses recipes/core/base/redox-scheme (via symlink)
  and daemon path; libredox arrives transitively
2026-07-09 15:19:33 +03:00
vasilito eb6e74f2ee fix: redox-drm lockfile collisions + missing relibc ENOTTY import
- Add redox-scheme symlink in recipes/core/base/ to resolve path collision
  when daemon workspace resolves ../redox-scheme from the recipe copy location
- Remove redundant libredox direct dep from redox-drm Cargo.toml
  (arrives transitively through daemon; direct dep creates lockfile collision)
- Align redox-drm's redox-scheme path to recipes/core/base/redox-scheme
  symlink to match daemon's workspace resolution path
- Fix missing ENOTTY import in relibc src/header/sys_ioctl/redox/mod.rs
2026-07-09 15:00:32 +03:00
vasilito 945b87b7c1 redox-drm Intel: implement EDID I2C/DDC reading via GMBUS
Replaced the 'EDID I2C/DDC not yet implemented' stub with a real
Intel GMBUS controller implementation for reading EDID blocks from
connected displays.

Added GMBUS register definitions (Intel PRM Display chapter):
- GMBUS0 (0xC5100): pin pair select (DDC=3), rate (100kHz)
- GMBUS1 (0xC5104): SW_RDY, CYCLE_WAIT, CYCLE_INDEX, size, addr
- GMBUS2 (0xC5108): HW_RDY, ACTIVE, INUSE status bits
- GMBUS3 (0xC510C): 32-bit data register
- GMBUS4 (0xC5110): interrupt mask

Implemented gmbus_read() helper:
1. Selects DDC pin pair at 100kHz
2. Programs GMBUS1 with SW_RDY | CYCLE_WAIT | CYCLE_INDEX,
   transfer size, EDID block offset index, and I2C slave address
3. Polls GMBUS2 for HW_RDY (100k iteration timeout)
4. Reads data words from GMBUS3 into output buffer
5. Stops cycle via GMBUS1 SW_RDY | CYCLE_STOP

read_edid_block() delegates to gmbus_read() with slave=0x50
(standard EDID address) and offset=block*128.

Previously: synthetic 1024x768 EDID fallback on all connectors.
Now: attempts real EDID read via GMBUS, falls back to synthetic
if GMBUS read fails (display disconnected or I2C NAK).
2026-07-09 14:50:42 +03:00
vasilito 095055df4b redbear-keymapd, redbear-ime: migrate to SchemeSync; redox-drm: test import; base bump 2026-07-09 12:53:23 +03:00
vasilito 44ef5f76c2 fix in-house crate deps: redox-driver-sys and linux-kpi to 0.3 2026-07-08 19:19:41 +03:00
vasilito 0046efb009 sync in-house crate versions to 0.3.0 and bump kernel/relibc/syscall submodules 2026-07-08 18:34:22 +03:00
vasilito b8aac3c9bc D7: editor multi-cursor support
Add secondary_cursors field to Editor with insert_char_multi,
delete_back_multi, delete_forward_multi methods. Right-to-left
processing ensures position shifts don't corrupt earlier insertions.

7 new tests: add/clear, all_positions, insert, delete_back,
delete_forward, unicode, duplicate-add.
2026-07-05 22:29:19 +03:00
vasilito 7902864a32 version(0.2.5): bump project version to 0.2.5
- Cookbook Cargo.toml: 0.1.0 → 0.2.5
- All 61 in-house crate Cargo.toml versions: 0.2.4 → 0.2.5
- os-release.in: fix URLs from github.com to gitea.redbearos.org
- sync-versions.sh --check passes with zero drift

The OS version is derived from the git branch name at build time.
Building on branch 0.2.5 produces os-release with VERSION_ID=0.2.5.
2026-07-02 15:36:28 +03:00