libexplain(3)
โจ NAME โจ
okay so bestie, this is libexplain(3) โ the library that explains errno values returned by libc functions. ๐
โจ
๐ SYNOPSIS ๐
cc ... -lexplain;
#include <libexplain/libexplain.h>
๐ธ DESCRIPTION ๐ธ
The libexplain library exists to give explanations of error reported by system calls. The error messages that strerror(3) hands you tend to be lowkey cryptic. ๐ญ By providing a specific error report for each system call, a more detailed error message is possible, usually identifying and describing the specific cause from amongst the numerous meanings each errno value maps to. No cap. ๐
๐ Race Condition ๐
The explanation of the cause of an error depends on the environment of the error staying unchanged, so that when libexplain gets around to looking for the cause, the cause is still there. On a running system, and especially a multi-user system, this is not always possible. ๐
If an incorrect explanation is provided, it is possible that the cause is no longer present. ๐
๐ ๏ธ Compiling ๐ ๏ธ
Assuming the library header files have been installed into /usr/include, and the library files have been installed into /usr/lib, compiling against libexplain requires no special -I options. periodt.
When linking your programs, add -lexplain to the list of libraries at the end of your link line.
cc ... -lexplain
When you configure your package with GNU Autoconf, you need the large file support macro:
AC_SYS_LARGEFILE
If you aren't using GNU Autoconf, you will have to work out the needed large file support requirements yourself. ๐ซถ
There is a pkg-config(1) package for you to use, too:
CFLAGS="$CFLAGS `pkg-config libexplain --cflags`" LIBS="$LIBS `pkg-config libexplain --libs`"
This can make figuring out the command line requirements much easier. โจ
๐ฟ Environment Variable ๐ฟ
The EXPLAIN_OPTIONS environment variable may be used to control some of the content in the messages. Options are separated by comma (โ,โ) characters.
There are three ways to set an option:
- The form
name=valuemay be used explicitly. The valuestrueandfalseare used for boolean options. - An option name alone is interpreted to mean
name=true. - The form
no-nameis interpreted to meanname=false.
The following options are available:
debugโ Additional debugging messages for libexplain developers. Not generally useful to clients of the library. Default:false.extra-device-infoโ Additional information for block and character special devices is printed when naming a file and its type. Default:true.numeric-errnoโ This option includes the numeric errno value in the message, e.g.(2, ENOENT)rather than(ENOENT). Disabling this option is generally of use in automated testing, to prevent UNIX dialect differences from producing false negatives. Default:true.dialect-specificโ This controls the presence of explanatory text specific to a particular UNIX dialect. It also suppresses printing system specific maximums. Disabling this option is generally of use in automated testing, to prevent UNIX dialect differences from producing false negatives. Default:true.hanging-indentโ This controls the hanging indent depth used for error message wrapping. By default no hanging indent is used, but this can sometimes obfuscate the end of one error message and the beginning of another. A hanging indent results in continuation lines starting with white space, similar to RFC822 headers. A value of0means no hanging indent (all lines flush with left margin). A common value to use is4: it doesn't consume too much of each line, and it is a clear indent. The program may choose to override the environment variable using theexplain_option_hanging_indent_set(3)function. The hanging indent is limited to 10% of the terminal width. Default:0.internal-strerrorโ This option controls the source of system error message texts. If false, it usesstrerrorP(3)for the text. If true, it uses internal string for the text. This is mostly of use for automated testing, to avoid false negatives induced by inconsistencies across Unix implementations. Default:false.program-nameโ This option controls the inclusion of the program name at the start of error messages, by theexplain_*_or_dieandexplain_*_on_errorfunctions. This helps users understand which command is throwing the error. Disabling this option may be of some interest to script writers. Program developers can use theexplain_program_name_set(3)function to set the name of the command, if they wish to override the name that libexplain would otherwise obtain from the operating system. Program developers can use theexplain_program_name_assemble(3)function to trump this option. Default:true.symbolic-mode-bitsโ This option controls how permission mode bits are represented in error messages. Setting this option to true will cause symbolic names to be printed (e.g.S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH). Setting this option to false will cause octal values to be printed (e.g.0644). Default:false.
๐ Supported System Calls ๐
Each supported system call has its own man page. ๐
explain_accept(3)โ Explain accept(2) errorsexplain_accept_or_die(3)โ accept a connection on a socket and report errorsexplain_accept4(3)โ Explain accept4(2) errorsexplain_accept4_or_die(3)โ accept a connection on a socket and report errorsexplain_access(3)โ Explain access(2) errorsexplain_access_or_die(3)โ check permissions for a file and report errorsexplain_acct(3)โ Explain acct(2) errorsexplain_acct_or_die(3)โ process accounting control and report errorsexplain_acl_from_text(3)โ Explain acl_from_text(3) errorsexplain_acl_from_text_or_die(3)โ create an ACL from text and report errorsexplain_acl_get_fd(3)โ Explain acl_get_fd(3) errorsexplain_acl_get_fd_or_die(3)โ Execute acl_get_fd(3) and report errorsexplain_acl_get_file(3)โ Explain acl_get_file(3) errorsexplain_acl_get_file_or_die(3)โ Execute acl_get_file(3) and report errorsexplain_acl_set_fd(3)โ Explain acl_set_fd(3) errorsexplain_acl_set_fd_or_die(3)โ set an ACL by file descriptor and report errorsexplain_acl_set_file(3)โ Explain acl_set_file(3) errorsexplain_acl_set_file_or_die(3)โ set an ACL by filename and report errorsexplain_acl_to_text(3)โ Explain acl_to_text(3) errorsexplain_acl_to_text_or_die(3)โ convert an ACL to text and report errorsexplain_adjtime(3)โ Explain adjtime(2) errorsexplain_adjtime_or_die(3)โ smoothly tune kernel clock and report errorsexplain_adjtimex(3)โ Explain adjtimex(2) errorsexplain_adjtimex_or_die(3)โ tune kernel clock and report errorsexplain_asprintf(3)โ Explain asprintf(3) errorsexplain_asprintf_or_die(3)โ print to allocated string and report errorsexplain_bind(3)โ Explain bind(2) errorsexplain_bind_or_die(3)โ bind a name to a socket and report errorsexplain_calloc(3)โ Explain calloc(3) errorsexplain_calloc_or_die(3)โ Allocate and clear memory and report errorsexplain_chdir(3)โ Explain chdir(2) errorsexplain_chdir_or_die(3)โ change working directory and report errorsexplain_chmod(3)โ Explain chmod(2) errorsexplain_chmod_or_die(3)โ change permissions of a file and report errorsexplain_chown(3)โ Explain chown errorsexplain_chown_or_die(3)โ change ownership of a file and report errorsexplain_chroot(3)โ Explain chroot(2) errorsexplain_chroot_or_die(3)โ change root directory and report errorsexplain_close(3)โ Explain close(2) errorsexplain_close_or_die(3)โ close a file descriptor and report errorsexplain_closedir(3)โ Explain closedir(3) errorsexplain_closedir_or_die(3)โ close a directory and report errorsexplain_connect(3)โ Explain connect(2) errorsexplain_connect_or_die(3)โ initiate a connection on a socket and report errorsexplain_creat(3)โ Explain creat(2) errorsexplain_creat_or_die(3)โ create and open a file and report errorsexplain_dirfd(3)โ Explain dirfd(3) errorsexplain_dirfd_or_die(3)โ get directory stream file descriptor and report errorsexplain_dup(3)โ Explain dup(2) errorsexplain_dup_or_die(3)โ duplicate a file descriptor and report errorsexplain_dup2(3)โ Explain dup2(2) errorsexplain_dup2_or_die(3)โ duplicate a file descriptor and report errorsexplain_endgrent(3)โ Explain endgrent(3) errorsexplain_endgrent_or_die(3)โ finish group file accesses and report errorsexplain_eventfd(3)โ Explain eventfd(2) errorsexplain_eventfd_or_die(3)โ create a file descriptor for event notification and report errorsexplain_execlp(3)โ Explain execlp(3) errorsexplain_execlp_or_die(3)โ execute a file and report errorsexplain_execv(3)โ Explain execv(3) errorsexplain_execv_or_die(3)โ execute a file and report errorsexplain_execve(3)โ Explain execve(2) errorsexplain_execve_or_die(3)โ execute program and report errorsexplain_execvp(3)โ Explain execvp(3) errorsexplain_execvp_or_die(3)โ execute program and report errorsexplain_exit(3)โ print an explanation of exit status before exitingexplain_fchdir(3)โ Explain fchdir(2) errorsexplain_fchmod(3)โ Explain fchmod(2) errorsexplain_fchmod_or_die(3)โ change permissions of an open file and report errorsexplain_fchown(3)โ Explain fchown(2) errorsexplain_fchown_or_die(3)โ change ownership of a file and report errorsexplain_fchownat(3)โ Explain fchownat(2) errorsexplain_fchownat_or_die(3)โ changes who owns a file, relative to a directory fd, and reports errors the second anything goes sideways ๐explain_fclose(3)โ serves you the full tea onfclose(2)errorsexplain_fclose_or_die(3)โ closes a stream and reports errors, no capexplain_fcntl(3)โ explainsfcntl(2)errors ๐explain_fcntl_or_die(3)โ manipulates a file descriptor and reports errorsexplain_fdopen(3)โ explainsfdopen(3)errorsexplain_fdopen_or_die(3)โ the stream open function, and it reports errors โจexplain_fdopendir(3)โ explainsfdopendir(3)errorsexplain_fdopendir_or_die(3)โ opens a directory and reports errorsexplain_feof(3)โ explainsfeof(3)errors ๐ฆexplain_feof_or_die(3)โ checks and resets stream status, then reports errorsexplain_ferror(3)โ explainsferror(3)errorsexplain_ferror_or_die(3)โ checks stream status and reports errorsexplain_fflush(3)โ explainsfflush(3)errors ๐ธexplain_fflush_or_die(3)โ flushes a stream and reports errorsexplain_fgetc(3)โ explainsfgetc(3)errorsexplain_fgetc_or_die(3)โ character input, and it reports errors ๐explain_fgetpos(3)โ explainsfgetpos(3)errorsexplain_fgetpos_or_die(3)โ repositions a stream and reports errorsexplain_fgets(3)โ explainsfgets(3)errors ๐explain_fgets_or_die(3)โ string input, and it reports errorsexplain_fileno(3)โ explainsfileno(3)errorsexplain_fileno_or_die(3)โ checks and resets stream status and reports errors โจexplain_flock(3)โ explainsflock(2)errorsexplain_flock_or_die(3)โ applies or removes an advisory lock on an open file and reports errors ๐explain_fopen(3)โ explainsfopen(3)errorsexplain_fopen_or_die(2)โ opens files and reports errors (and yes, it's(2)right there in the source, we don't question the source's choices ๐ )explain_fork(3)โ explainsfork(2)errorsexplain_fork_or_die(3)โ creates a child process and reports errors ๐explain_fpathconf(3)โ explainsfpathconf(3)errorsexplain_fpathconf_or_die(3)โ gets configuration values for files and reports errorsexplain_fprintf(3)โ explainsfprintf(3)errors ๐explain_fprintf_or_die(3)โ formatted output conversion, and it reports errorsexplain_fpurge(3)โ explainsfpurge(3)errorsexplain_fpurge_or_die(3)โ purges a stream and reports errors ๐งexplain_fputc(3)โ explainsfputc(3)errorsexplain_fputc_or_die(3)โ character output, and it reports errorsexplain_fputs(3)โ explainsfputs(3)errors โญexplain_fputs_or_die(3)โ writes a string to a stream and reports errorsexplain_fread(3)โ explainsfread(3)errorsexplain_fread_or_die(3)โ binary stream input, and it reports errors ๐explain_freopen(3)โ explainsfreopen(3)errorsexplain_freopen_or_die(3)โ opens files and reports errorsexplain_fseek(3)โ explainsfseek(3)errors ๐ฆexplain_fseek_or_die(3)โ repositions a stream and reports errorsexplain_fseeko(3)โ explainsfseeko(3)errorsexplain_fseeko_or_die(3)โ seeks to (or reports) the file position, and reports errors โจexplain_fsetpos(3)โ explainsfsetpos(3)errorsexplain_fsetpos_or_die(3)โ repositions a stream and reports errorsexplain_fstat(3)โ explainsfstat(3)errors ๐explain_fstat_or_die(3)โ gets file status and reports errorsexplain_fstatat(3)โ explainsfstatat(2)errorsexplain_fstatat_or_die(3)โ gets file status relative to a directory file descriptor and reports errors ๐ฅexplain_fstatfs(3)โ explainsfstatfs(2)errorsexplain_fstatfs_or_die(3)โ gets file system statistics and reports errorsexplain_fstatvfs(3)โ explainsfstatvfs(2)errors ๐explain_fstatvfs_or_die(3)โ gets file system statistics and reports errorsexplain_fsync(3)โ explainsfsync(2)errorsexplain_fsync_or_die(3)โ syncs a file's in-core state with the storage device and reports errors ๐พexplain_ftell(3)โ explainsftell(3)errorsexplain_ftell_or_die(3)โ gets the stream position and reports errorsexplain_ftello(3)โ explainsftello(3)errors ๐ธexplain_ftello_or_die(3)โ gets the stream position and reports errorsexplain_ftime(3)โ explainsftime(3)errorsexplain_ftime_or_die(3)โ returns the date and time and reports errors โฐexplain_ftruncate(3)โ explainsftruncate(2)errorsexplain_ftruncate_or_die(3)โ truncates a file to a specified length and reports errorsexplain_futimens(3)โ explainsfutimens(3)errors ๐ฆexplain_futimens_or_die(3)โ changes file timestamps with nanosecond precision and reports errorsexplain_futimes(3)โ explainsfutimes(3)errorsexplain_futimes_or_die(3)โ executesfutimes(3)and reports errors โจexplain_futimesat(3)โ explainsfutimesat(2)errorsexplain_futimesat_or_die(3)โ changes the timestamps of a file relative to a directory and reports errorsexplain_fwrite(3)โ explainsfwrite(3)errorsexplain_fwrite_or_die(3)โ binary stream output, and it reports errors ๐explain_futimesat(3)โ explainsfutimesat(2)errors (yes, bestie, it's in here twice. twice the icon, twice the errors explained ๐ )explain_futimesat_or_die(3)โ changes the timestamps of a file relative to a directory and reports errorsexplain_getaddrinfo(3)โ explainsgetaddrinfo(3)errors ๐explain_getaddrinfo_or_die(3)โ network address "and and" reports errors (the source said it twice, and we respect the source ๐)explain_getc(3)โ explainsgetc(3)errorsexplain_getc_or_die(3)โ character input, and it reports errorsexplain_getchar(3)โ explainsgetchar(3)errors โญexplain_getchar_or_die(3)โ character input, and it reports errorsexplain_getcwd(3)โ explainsgetcwd(2)errorsexplain_getdomainname(3)โ explainsgetdomainname(2)errors ๐explain_getdomainname_or_die(3)โ gets the domain name and reports errorsexplain_getgrent(3)โ explainsgetgrent(3)errorsexplain_getgrent_or_die(3)โ gets a group file entry and reports errors ๐explain_getgrouplist(3)โ explainsgetgrouplist(3)errorsexplain_getgrouplist_or_die(3)โ gets the list of groups a user belongs to and reports errorsexplain_getgroups(3)โ explainsgetgroups(2)errors ๐explain_getgroups_or_die(3)โ gets the list of supplementary group IDs and reports errorsexplain_getcwd_or_die(3)โ gets the current working directory and reports errors ๐explain_gethostbyname(3)โ explainsgethostbyname(3)errorsexplain_gethostbyname_or_die(3)โ gets the host address given a host name and reports errors ๐explain_gethostid(3)โ explainsgethostid(3)errorsexplain_gethostid_or_die(3)โ gets the unique identifier of the current host and reports errors ๐ชชexplain_gethostname(3)โ explainsgethostname(2)errorsexplain_gethostname_or_die(3)โ gets the hostname and reports errors โจexplain_getpeername(3)โ explainsgetpeername(2)errorsexplain_getpeername_or_die(3)โExecutegetpeername(2)and reports errors (one word, glued together, iconic, we keep it exactly as it is ๐ )explain_getpgid(3)โ explainsgetpgid(2)errorsexplain_getpgid_or_die(3)โ gets the process group and reports errors ๐ฏexplain_getpgrp(3)โ explainsgetpgrp(2)errorsexplain_getpgrp_or_die(3)โ gets the process group and reports errorsexplain_getpriority(3)โ explainsgetpriority(2)errors ๐explain_getpriority_or_die(3)โ gets the program scheduling priority and reports errorsexplain_getresgid(3)โ explainsgetresgid(2)errorsexplain_getresgid_or_die(3)โ gets the real, effective and saved group IDs and reports errors ๐explain_getresuid(3)โ explainsgetresuid(2)errorsexplain_getresuid_or_die(3)โ gets the real, effective and saved user IDs and reports errors ๐ซถexplain_getrlimit(3)โ explainsgetrlimit(2)errorsexplain_getrlimit_or_die(3)โ gets the resource limits and reports errors ๐explain_getrusage(3)โ explainsgetrusage(2)errorsexplain_getrusage_or_die(3)โ gets resource usage and reports errors ๐explain_getsockname(3)โ explainsgetsockname(2)errorsexplain_getsockname_or_die(3)โ executesgetsockname(2)and reports errors ๐งฆexplain_getsockopt(3)โ explainsgetsockopt(2)errorsexplain_getsockopt_or_die(3)โ executesgetsockopt(2)and reports errorsexplain_gettimeofday(3)โ explainsgettimeofday(2)errors โฑ๏ธexplain_gettimeofday_or_die(3)โ gets the time and reports errorsexplain_getw(3)โ explainsgetw(3)errorsexplain_getw_or_die(3)โ inputs a word (that's anint, bestie) and reports errors ๐คexplain_iconv(3)โ explainsiconv(3)errorsexplain_iconv_or_die(3)โ performs character set conversion and reports errors ๐explain_iconv_close(3)โ explainsiconv_close(3)errorsexplain_iconv_close_or_die(3)โ deallocates the descriptor for character set conversion and reports errors ๐explain_iconv_open(3)โ explainsiconv_open(3)errorsexplain_iconv_open_or_die(3)โ allocates a descriptor for character set conversion and reports errors โจexplain_ioctl(3)โ explainsioctl(2)errorsexplain_ioctl_or_die(3)โ executesioctl(2)and reports errors ๐๏ธexplain_kill(3)โ explainskill(2)errorsexplain_kill_or_die(3)โ sends a signal to a process and reports errors ๐explain_lchmod(3)โ explainslchmod(2)errorsexplain_lchmod_or_die(3)โ changes the permissions of a file and reports errors ๐explain_lchown(3)โ explainslchown(2)errorsexplain_lchown_or_die(3)โ changes the ownership of a file and reports errors ๐explain_lchownat(3)โ explainslchownat(2)errorsexplain_lchownat_or_die(3)โ executeslchownat(2)and reports errors ๐explain_link(3)โ explainslink(2)errorsexplain_link_or_die(3)โ makes a new name for a file and reports errors ๐explain_linkat(3)โ explainslinkat(2)errorsexplain_linkat_or_die(3)โ creates a file link relative to directory file descriptors and reports errors ๐ซถexplain_listen(3)โ explainslisten(2)errors ๐explain_listen_or_die(3)โ sits there listening for connections on a socket, all patient and cute, and if anything goes wrong it reports those errors ๐explain_lseek(3)โ takes anlseek(2)error and explains it in actual human words โจexplain_lseek_or_die(3)โ repositions your file offset like a lil dance move, and reports errors ๐explain_lstat(3)โ translateslstat(2)errors for you, no cap ๐ฆexplain_lstat_or_die(3)โ grabs file status and reports errors ๐explain_lutimes(3)โ breaks downlutimes(3)errors so they make sense ๐ธexplain_lutimes_or_die(3)โ modifies file timestamps and reports errors ๐ซถexplain_malloc(3)โ explainsmalloc(3)errors, iconic behaviour honestly ๐ญexplain_malloc_or_die(3)โ actually executesmalloc(3)and reports errors ๐ฅexplain_mkdir(3)โ decodesmkdir(2)errors for you ๐explain_mkdir_or_die(3)โ creates a directory and reports errors ๐explain_mkdtemp(3)โ explainsmkdtemp(3)errors โญexplain_mkdtemp_or_die(3)โ creates a unique temporary directory and reports errors ๐explain_mknod(3)โ explainsmknod(2)errors ๐explain_mknod_or_die(3)โ creates a special or ordinary file and reports errors ๐explain_mkostemp(3)โ explainsmkostemp(3)errors ๐งexplain_mkostemp_or_die(3)โ creates a unique temporary file and reports errors ๐explain_mkstemp(3)โ explainsmkstemp(3)errors ๐explain_mkstemp_or_die(3)โ creates a unique temporary file and reports errors โจexplain_mktemp(3)โ explainsmktemp(3)errors ๐explain_mktemp_or_die(3)โ makes a unique temporary filename and reports errors ๐ฆexplain_mmap(3)โ explainsmmap(2)errors ๐explain_mmap_or_die(3)โ maps a file or device into memory and reports errors ๐ธexplain_mount(3)โ explainsmount(2)errors ๐ซถexplain_mount_or_die(3)โ mounts a file system and reports errors ๐ญexplain_munmap(3)โ explainsmunmap(2)errors ๐ฅexplain_munmap_or_die(3)โ unmaps a file or device from memory and reports errors ๐explain_nanosleep(3)โ explainsnanosleep(2)errors ๐explain_nanosleep_or_die(3)โ highโresolution sleep, and reports errors โญexplain_nice(3)โ explainsnice(2)errors ๐explain_nice_or_die(3)โ changes process priority and reports errors ๐explain_open(3)โ explainsopen(2)errors ๐explain_open_or_die(3)โ opens files and reports errors ๐งexplain_openat(3)โ explainsopenat(2)errors ๐explain_openat_or_die(3)โ opens a file relative to a directory file descriptor and reports errors ๐explain_opendir(3)โ explainsopendir(3)errors โจexplain_opendir_or_die(3)โ opens a directory and reports errors ๐explain_pathconf(3)โ explainspathconf(3)errors ๐ฆexplain_pathconf_or_die(3)โ gets configuration values for files and reports errors ๐explain_pclose(3)โ explainspclose(3)errors ๐ธexplain_pclose_or_die(3)โ executespclose(3)and reports errors ๐ซถexplain_pipe(3)โ explainspipe(2)errors ๐ญexplain_pipe_or_die(3)โ executespipe(2)and reports errors ๐ฅexplain_pipe2(3)โ explainspipe2(2)errors ๐explain_pipe2_or_die(3)โ creates a pipe and reports errors ๐explain_poll(3)โ explainspoll(2)errors โญexplain_poll_or_die(3)โ waits for some event on a file descriptor and reports errors ๐explain_popen(3)โ explainspopen(3)errors ๐explain_popen_or_die(3)โ executespopen(3)and reports errors ๐explain_pread(3)โ explainspread(2)errors ๐งexplain_pread_or_die(3)โ reads from a file descriptor at a given offset and reports errors ๐explain_printf(3)โ explainsprintf(3)errors ๐explain_printf_or_die(3)โ formatted output conversion, and reports errors โจexplain_ptrace(3)โ explainsptrace(2)errors ๐explain_ptrace_or_die(3)โ process trace, and reports errors ๐ฆexplain_putc(3)โ explainsputc(3)errors ๐explain_putc_or_die(3)โ output of characters, and reports errors ๐ธexplain_putchar(3)โ explainsputchar(3)errors ๐ซถexplain_putchar_or_die(3)โ output of characters, and reports errors ๐ญexplain_putenv(3)โ explainsputenv(3)errors ๐ฅexplain_putenv_or_die(3)โ changes or adds an environment variable and reports errors ๐explain_puts(3)โ explainsputs(3)errors ๐explain_puts_or_die(3)โ writes a string and a trailing newline tostdout, and reports errors โญexplain_putw(3)โ explainsputw(3)errors ๐explain_putw_or_die(3)โ outputs a word (anint) and reports errors ๐explain_pwrite(3)โ explainspwrite(2)errors ๐explain_pwrite_or_die(3)โ writes to a file descriptor at a given offset and reports errors ๐งexplain_raise(3)โ explainsraise(3)errors ๐explain_raise_or_die(3)โ sends a signal to the caller and reports errors ๐explain_read(3)โ explainsread(2)errors โจexplain_read_or_die(3)โ reads from a file descriptor and reports errors ๐explain_readdir(3)โ explainsreaddir(3)errors ๐ฆexplain_readdir_or_die(3)โ reads a directory and reports errors ๐explain_readlink(3)โ explainsreadlink(2)errors ๐ธexplain_readlink_or_die(3)โ reads the value of a symbolic link and reports errors ๐ซถexplain_readv(3)โ explainsreadv(2)errors ๐ญexplain_readv_or_die(3)โ reads data into multiple buffers and reports errors ๐ฅexplain_realloc(3)โ explainsrealloc(3)errors ๐explain_realloc_or_die(3)โ executesrealloc(3)and reports errors ๐explain_realpath(3)โ explainsrealpath(3)errors โญexplain_realpath_or_die(3)โ returns the canonicalized absolute pathname and reports errors ๐explain_rename(3)โ explainsrename(2)errors ๐explain_rename_or_die(3)โ changes the name or location of a file and reports errors ๐explain_rmdir(3)โ explainsrmdir(2)errors ๐งexplain_rmdir_or_die(3)โ deletes a directory and reports errors ๐explain_select(3)โ explainsselect(2)errors ๐explain_select_or_die(3)โ executesselect(2)and reports errors โจexplain_setbuf(3)โ explainssetbuf(3)errors ๐explain_setbuffer(3)โ explainssetbuffer(3)errors ๐ฆexplain_setbuffer_or_die(3)โ stream buffering operations, and reports errors ๐explain_setbuf_or_die(3)โ sets the stream buffer and reports errors ๐ธexplain_setdomainname(3)โ explainssetdomainname(2)errors ๐ซถexplain_setdomainname_or_die(3)โ sets the domain name and reports errors ๐ญexplain_setenv(3)โ explainssetenv(3)errors ๐ฅexplain_setenv_or_die(3)โ changes or adds an environment variable and reports errors ๐explain_setgid(3)โ explainssetgid(2)errors ๐explain_setgid_or_die(3)โ sets group identity and reports errors โญexplain_setgrent(3)โ explainssetgrent(3)errors ๐explain_setgrent_or_die(3)โ rewinds to the start of the group database and reports errors ๐explain_setgroups(3)โ explainssetgroups(2)errors ๐explain_setgroups_or_die(3)โ gets the list of supplementary group IDs and reports errors ๐งexplain_sethostname(3)โ explainssethostname(2)errors ๐explain_sethostname_or_die(3)โ sets the hostname and reports errors ๐explain_setlinebuf(3)โ explainssetlinebuf(3)errors โจexplain_setlinebuf_or_die(3)โ stream buffering operations, and reports errors ๐explain_setpgid(3)โ explainssetpgid(2)errors ๐ฆexplain_setpgid_or_die(3)โ sets the process group and reports errors ๐explain_setpgrp(3)โ explainssetpgrp(2)errors ๐ธexplain_setpgrp_or_die(3)โ sets the process group and reports errors ๐ซถexplain_setpriority(3)โ explainssetpriority(2)errors ๐ญexplain_setpriority_or_die(3)โ sets program scheduling priority and reports errors ๐ฅexplain_setregid(3)โ explainssetregid(2)errors ๐explain_setregid_or_die(3)โ sets the real and/or effective group ID and reports errors ๐explain_setreuid(3)โ explainssetreuid(2)errors โญexplain_setreuid_or_die(3)โ sets the real and effective user ID and reports errors ๐explain_setresgid(3)โ explainssetresgid(2)errors ๐explain_setresgid_or_die(3)โ sets the real, effective and saved group ID and reports errors ๐explain_setresuid(3)โ explainssetresuid(2)errors ๐งexplain_setresuid_or_die(3)โ sets the real, effective and saved user ID and reports errors ๐explain_setreuid(3)โ explainssetreuid(2)errors ๐explain_setreuid_or_die(3)โ sets the real and/or effective user ID and reports errors โจexplain_setsid(3)โ explainssetsid(2)errors ๐explain_setsid_or_die(3)โ creates a session, sets the process group ID, and reports errors ๐ฆexplain_setsockopt(3)โ explainssetsockopt(2)errors ๐explain_setsockopt_or_die(3)โ executessetsockopt(2)and reports errors ๐ธexplain_settimeofday(3)โ explainssettimeofday(2)errors ๐ซถexplain_settimeofday_or_die(3)โ sets the system time and reports errors ๐ญexplain_setuid(3)โ explainssetuid(2)errors ๐ฅexplain_setuid_or_die(3)โ sets user identity and reports errors ๐explain_setvbuf(3)โ explainssetvbuf(3)errors ๐explain_setvbuf_or_die(3)โ stream buffering operations, and reports errors โญexplain_shmat(3)โ explainsshmat(2)errors ๐explain_shmat_or_die(3)โ shared memory attach, and reports errors ๐explain_shmctl(3)โ explainsshmctl(2)errors ๐explain_shmctl_or_die(3)โ shared memory control, and reports errors ๐งexplain_signalfd(3)โ explainssignalfd(2)errors ๐explain_signalfd_or_die(3)โ creates a file descriptor for accepting signals and reports errors ๐explain_sleep(3)โ explainssleep(3)errors โจexplain_sleep_or_die(3)โ sleeps for the specified number of seconds and reports errors ๐explain_socket(3)โ explainssocket(2)errors ๐ฆexplain_socket_or_die(3)โ creates an endpoint for communication and reports errors ๐explain_socketpair(3)โ explainssocketpair(2)errors ๐ธexplain_socketpair_or_die(3)โ creates a pair of connected sockets and reports errors ๐ซถexplain_sprintf(3)โ explainssprintf(3)errors ๐ญexplain_sprintf_or_die(3)โ formatted output conversion, and reports errors ๐ฅexplain_stat(3)โ explainsstat(2)errors ๐explain_statfs(3)โ explainsstatfs(2)errors ๐explain_statfs_or_die(3)โ gets file system statistics and reports errors, periodt ๐explain_statvfs(3)โ explainsstatvfs(2)errors โจexplain_statvfs_or_die(3)โ gets file system statistics and reports errors ๐ซถexplain_stime(3)โ explainsstime(2)errors โฐexplain_stime_or_die(3)โ sets the system time and reports errors ๐ฐ๏ธexplain_strcoll(3)โ explainsstrcoll(3)errors ๐ธexplain_strcoll_or_die(3)โ compares two strings using the current locale and reports errors ๐explain_strdup(3)โ explainsstrdup(3)errors ๐explain_strdup_or_die(3)โ duplicates a string and reports errors ๐ฏexplain_strndup(3)โ explainsstrndup(3)errors ๐explain_strndup_or_die(3)โ duplicates a string and reports errors ๐ชexplain_strtod(3)โ explainsstrtod(3)errors ๐ขexplain_strtod_or_die(3)โ converts a string to a floating-point number and reports errors ๐งฎexplain_strtof(3)โ explainsstrtof(3)errors ๐explain_strtof_or_die(3)โ converts a string to a floating-point number and reports errors ๐ซงexplain_strtol(3)โ explainsstrtol(3)errors ๐explain_strtol_or_die(3)โ converts a string to a long integer and reports errors ๐explain_strtold(3)โ explainsstrtold(3)errors ๐explain_strtold_or_die(3)โ converts a string to a floating-point number and reports errors โจexplain_strtoll(3)โ explainsstrtoll(3)errors ๐ฆexplain_strtoll_or_die(3)โ converts a string to a long long integer and reports errors ๐ฅexplain_strtoul(3)โ explainsstrtoul(3)errors ๐explain_strtoul_or_die(3)โ converts a string to a long long integer and reports errors ๐explain_strtoull(3)โ explainsstrtoull(3)errors ๐explain_strtoull_or_die(3)โ converts a string to an unsigned long long integer and reports errors ๐ซถexplain_symlink(3)โ explainssymlink(2)errors ๐explain_symlink_or_die(3)โ makes a new name for a file and reports errors ๐ท๏ธexplain_system(3)โ explainssystem(3)errors ๐ฅ๏ธexplain_system_or_die(3)โ executes a shell command and reports errors ๐explain_tcdrain(3)โ explainstcdrain(3)errors ๐ฐexplain_tcdrain_or_die(3)โ executestcdrain(3)and reports errors ๐งexplain_tcflow(3)โ explainstcflow(3)errors ๐explain_tcflow_or_die(3)โ executestcflow(3)and reports errors ๐explain_tcflush(3)โ explainstcflush(3)errors ๐ฝexplain_tcflush_or_die(3)โ discards terminal data and reports errors ๐๏ธexplain_tcgetattr(3)โ explainstcgetattr(3)errors ๐explain_tcgetattr_or_die(3)โ gets terminal parameters and reports errors ๐๏ธexplain_tcsendbreak(3)โ explainstcsendbreak(3)errors ๐ฅexplain_tcsendbreak_or_die(3)โ sends a terminal line break and reports errors โธ๏ธexplain_tcsetattr(3)โ explainstcsetattr(3)errors ๐๏ธexplain_tcsetattr_or_die(3)โ sets terminal attributes and reports errors ๐๏ธexplain_telldir(3)โ explainstelldir(3)errors ๐explain_telldir_or_die(3)โ returns the current location in a directory stream and reports errors ๐งญexplain_tempnam(3)โ explainstempnam(3)errors ๐explain_tempnam_or_die(3)โ creates a name for a temporary file and reports errors ๐๏ธexplain_time(3)โ explainstime(2)errors โฐexplain_time_or_die(3)โ gets the time in seconds and reports errors โexplain_timerfd_create(3)โ explainstimerfd_create(2)errors โฒ๏ธexplain_timerfd_create_or_die(3)โ timers that notify via file descriptors, and reports errors ๐explain_tmpfile(3)โ explainstmpfile(3)errors ๐explain_tmpfile_or_die(3)โ creates a temporary file and reports errors ๐๏ธexplain_tmpnam(3)โ explainstmpnam(3)errors ๐ท๏ธexplain_tmpnam_or_die(3)โ creates a name for a temporary file and reports errors ๐explain_truncate(3)โ explainstruncate(2)errors โ๏ธexplain_truncate_or_die(3)โ truncates a file to a specified length and reports errors ๐explain_usleep(3)โ explainsusleep(3)errors ๐ดexplain_usleep_or_die(3)โ suspends execution for microsecond intervals and reports errors ๐คexplain_uname(3)โ explainsuname(2)errors ๐งexplain_uname_or_die(3)โ gets the name and information about the current kernel and reports errors ๐ฅ๏ธexplain_ungetc(3)โ explainsungetc(3)errors โฉ๏ธexplain_ungetc_or_die(3)โ pushes a character back to a stream and reports errors ๐explain_unlink(3)โ explainsunlink(2)errors ๐explain_unlink_or_die(3)โ deletes a file and reports errors ๐๏ธexplain_unsetenv(3)โ explainsunsetenv(3)errors ๐ฑexplain_unsetenv_or_die(3)โ removes an environment variable and reports errors ๐งนexplain_ustat(3)โ explainsustat(2)errors ๐explain_ustat_or_die(3)โ gets file system statistics and reports errors ๐explain_utime(3)โ explainsutime(2)errors ๐ฐ๏ธexplain_utime_or_die(3)โ changes file last access and modification times and reports errors โณexplain_utimens(3)โ explainsutimens(2)errors โฑ๏ธexplain_utimens_or_die(3)โ changes file last access and modification times and reports errors โexplain_utimensat(3)โ explainsutimensat(2)errors ๐explain_utimensat_or_die(3)โ changes file timestamps with nanosecond precision and reports errors โกexplain_utimes(3)โ explainsutimes(2)errors ๐explain_utimes_or_die(3)โ changes file last access and modification times and reports errors ๐ฐ๏ธexplain_vasprintf(3)โ explainsvasprintf(3)errors ๐จ๏ธexplain_vasprintf_or_die(3)โ prints to an allocated string and reports errors ๐explain_vfork(3)โ explainsvfork(2)errors ๐ถexplain_vfork_or_die(3)โ creates a child process and blocks the parent, and reports errors ๐ธexplain_vfprintf(3)โ explainsvfprintf(3)errors ๐จexplain_vfprintf_or_die(3)โ does formatted output conversion and reports errors ๐๏ธexplain_vprintf(3)โ explainsvprintf(3)errors ๐จexplain_vprintf_or_die(3)โ does formatted output conversion and reports errors ๐จ๏ธexplain_vsnprintf(3)โ explainsvsnprintf(3)errors ๐explain_vsnprintf_or_die(3)โ does formatted output conversion and reports errors โจexplain_snprintf(3)โ explainssnprintf(3)errors ๐explain_snprintf_or_die(3)โ does formatted output conversion and reports errors ๐explain_vsprintf(3)โ explainsvsprintf(3)errors ๐จexplain_vsprintf_or_die(3)โ does formatted output conversion and reports errors ๐๏ธexplain_wait(3)โ explainswait(2)errors โณexplain_wait_or_die(3)โ waits for a process to change state and reports errors ๐ฐ๏ธexplain_wait3(3)โ explainswait3(2)errors โฑ๏ธexplain_wait3_or_die(3)โ waits for a process to change state and reports errors โexplain_wait4(3)โ explainswait4(2)errors โฒ๏ธexplain_wait4_or_die(3)โ waits for a process to change state and reports errors โณexplain_waitpid(3)โ explainswaitpid(2)errors ๐explain_waitpid_or_die(3)โ waits for a process to change state and reports errors ๐ฐ๏ธexplain_write(3)โ explainswrite(2)errors โ๏ธexplain_write_or_die(3)โ writes to a file descriptor and reports errors ๐explain_writev(3)โ explainswritev(2)errors ๐ฆexplain_writev_or_die(3)โ writes data from multiple buffers and reports errors ๐
And bestie, there are plans for additional coverage. This list is expected to expand in later releases of this library. ๐โจ
๐ SEE ALSO ๐
errno(3)โ number of last error ๐perror(3)โ print a system error message ๐จ๏ธstrerror(3)โ return string describing error number ๐
๐ COPYRIGHT ๐
libexplain version 1.4 Copyright (C) 2008 Peter Miller
โ๏ธ AUTHOR โ๏ธ
Written by Peter Miller <pmiller@opensource.org.au>
And that's the whole page, bestie โ source/version is libexplain(3), version 1.4, and the date is 2008. Mwah! ๐
โจ
๐ฆ where this page comes from
- debian bookworm: libexplain-dev 1.4.D001-12+b1 ยท LGPL-3.0-or-later
- debian trixie: libexplain-dev 1.4.D001-16 ยท LGPL-3.0-or-later
- ubuntu jammy: libexplain-dev 1.4.D001-12 ยท LGPL-3.0-or-later
- ubuntu noble: libexplain-dev 1.4.D001-13 ยท LGPL-3.0-or-later
- ubuntu resolute: libexplain-dev 1.4.D001-16 ยท LGPL-3.0-or-later
- Copyright (C) 2008-2013 Peter Miller
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms