explain man page

libexplain — Explain 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 message returned by strerror(3) tend to be quite 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.

Race Condition

The explanation of the cause of an error is dependent on the environment of the error to remain unchanged, so that when libexplain gets around to looking for the cause, the cause is still there. On a running system, and particularly 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 has been installed into /usr/include, and the library files have been installed into /usr/lib, compiling against libexplain requires no special -I options.

When linking your pograms, 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 yourdelf.

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:

1.
The form “name=value” may be used explicitly. The values “true” and “false” are used for boolean options.
2.
An option name alone is interpreted to mean “name=true”.
3.
The form “no‐name” is interpreted to mean “name=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 spoace, similar to RFC822 headers. A value of 0 means no hanging indent (all lines flush with left margin). A common value to use is 4: it doesn't consume to much of each line, and it is a clear indent. The program may choose to override the environment variable using the explain_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 eror message texts. If false, it uses strerorP(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 the explain_*_or_die and explain_*_on_error functions. 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 the explain_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 the explain_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) errors
explain_accept_or_die(3)
accept a connection on a socket and report errors
explain_accept4(3)
Explain accept4(2) errors
explain_accept4_or_die(3)
accept a connection on a socket and report errors
explain_access(3)
Explain access(2) errors
explain_access_or_die(3)
check permissions for a file and report errors
explain_acct(3)
Explain acct(2) errors
explain_acct_or_die(3)
process accounting control and report errors
explain_acl_from_text(3)
Explain acl_from_text(3) errors
explain_acl_from_text_or_die(3)
create an ACL from text and report errors
explain_acl_get_fd(3)
Explain acl_get_fd(3) errors
explain_acl_get_fd_or_die(3)
Execute acl_get_fd(3) and report errors
explain_acl_get_file(3)
Explain acl_get_file(3) errors
explain_acl_get_file_or_die(3)
Execute acl_get_file(3) and report errors
explain_acl_set_fd(3)
Explain acl_set_fd(3) errors
explain_acl_set_fd_or_die(3)
set an ACL by file descriptor and report errors
explain_acl_set_file(3)
Explain acl_set_file(3) errors
explain_acl_set_file_or_die(3)
set an ACL by filename and report errors
explain_acl_to_text(3)
Explain acl_to_text(3) errors
explain_acl_to_text_or_die(3)
convert an ACL to text and report errors
explain_adjtime(3)
Explain adjtime(2) errors
explain_adjtime_or_die(3)
smoothly tune kernel clock and report errors
explain_adjtimex(3)
Explain adjtimex(2) errors
explain_adjtimex_or_die(3)
tune kernel clock and report errors
explain_asprintf(3)
Explain asprintf(3) errors
explain_asprintf_or_die(3)
print to allocated string and report errors
explain_bind(3)
Explain bind(2) errors
explain_bind_or_die(3)
bind a name to a socket and report errors
explain_calloc(3)
Explain calloc(3) errors
explain_calloc_or_die(3)
Allocate and clear memory and report errors
explain_chdir(3)
Explain chdir(2) errors
explain_chdir_or_die(3)
change working directory and report errors
explain_chmod(3)
Explain chmod(2) errors
explain_chmod_or_die(3)
change permissions of a file and report errors
explain_chown(3)
Explain chown errors
explain_chown_or_die(3)
change ownership of a file and report errors
explain_chroot(3)
Explain chroot(2) errors
explain_chroot_or_die(3)
change root directory and report errors
explain_close(3)
Explain close(2) errors
explain_close_or_die(3)
close a file descriptor and report errors
explain_closedir(3)
Explain closedir(3) errors
explain_closedir_or_die(3)
close a directory and report errors
explain_connect(3)
Explain connect(2) errors
explain_connect_or_die(3)
initiate a connection on a socket and report errors
explain_creat(3)
Explain creat(2) errors
explain_creat_or_die(3)
create and open a file and report errors
explain_dirfd(3)
Explain dirfd(3) errors
explain_dirfd_or_die(3)
get directory stream file descriptor and report errors
explain_dup(3)
Explain dup(2) errors
explain_dup_or_die(3)
duplicate a file descriptor and report errors
explain_dup2(3)
Explain dup2(2) errors
explain_dup2_or_die(3)
duplicate a file descriptor and report errors
explain_endgrent(3)
Explain endgrent(3) errors
explain_endgrent_or_die(3)
finish group file accesses and report errors
explain_eventfd(3)
Explain eventfd(2) errors
explain_eventfd_or_die(3)
create a file descriptor for event notification and report errors
explain_execlp(3)
Explain execlp(3) errors
explain_execlp_or_die(3)
execute a file and report errors
explain_execv(3)
Explain execv(3) errors
explain_execv_or_die(3)
execute a file and report errors
explain_execve(3)
Explain execve(2) errors
explain_execve_or_die(3)
execute program and report errors
explain_execvp(3)
Explain execvp(3) errors
explain_execvp_or_die(3)
execute program and report errors
explain_exit(3)
print an explanation of exit status before exiting
explain_fchdir(3)
Explain fchdir(2) errors
explain_fchmod(3)
Explain fchmod(2) errors
explain_fchmod_or_die(3)
change permissions of an open file and report errors
explain_fchown(3)
Explain fchown(2) errors
explain_fchown_or_die(3)
change ownership of a file and report errors
explain_fchownat(3)
Explain fchownat(2) errors
explain_fchownat_or_die(3)
change ownership of a file relative to a directory and report errors
explain_fclose(3)
Explain fclose(2) errors
explain_fclose_or_die(3)
close a stream and report errors
explain_fcntl(3)
Explain fcntl(2) errors
explain_fcntl_or_die(3)
Manipulate a file descriptor and report errors
explain_fdopen(3)
Explain fdopen(3) errors
explain_fdopen_or_die(3)
stream open function and report errors
explain_fdopendir(3)
Explain fdopendir(3) errors
explain_fdopendir_or_die(3)
open a directory and report errors
explain_feof(3)
Explain feof(3) errors
explain_feof_or_die(3)
check and reset stream status and report errors
explain_ferror(3)
Explain ferror(3) errors
explain_ferror_or_die(3)
check stream status and report errors
explain_fflush(3)
Explain fflush(3) errors
explain_fflush_or_die(3)
flush a stream and report errors
explain_fgetc(3)
Explain fgetc(3) errors
explain_fgetc_or_die(3)
input of characters and report errors
explain_fgetpos(3)
Explain fgetpos(3) errors
explain_fgetpos_or_die(3)
reposition a stream and report errors
explain_fgets(3)
Explain fgets(3) errors
explain_fgets_or_die(3)
input of strings and report errors
explain_fileno(3)
Explain fileno(3) errors
explain_fileno_or_die(3)
check and reset stream status and report errors
explain_flock(3)
Explain flock(2) errors
explain_flock_or_die(3)
apply or remove an advisory lock on an open file and report errors
explain_fopen(3)
Explain fopen(3) errors
explain_fopen_or_die(2)
open files and report errors
explain_fork(3)
Explain fork(2) errors
explain_fork_or_die(3)
create a child process and report errors
explain_fpathconf(3)
Explain fpathconf(3) errors
explain_fpathconf_or_die(3)
get configuration values for files and report errors
explain_fprintf(3)
Explain fprintf(3) errors
explain_fprintf_or_die(3)
formatted output conversion and report errors
explain_fpurge(3)
Explain fpurge(3) errors
explain_fpurge_or_die(3)
purge a stream and report errors
explain_fputc(3)
Explain fputc(3) errors
explain_fputc_or_die(3)
output of characters and report errors
explain_fputs(3)
Explain fputs(3) errors
explain_fputs_or_die(3)
write a string to a stream and report errors
explain_fread(3)
Explain fread(3) errors
explain_fread_or_die(3)
binary stream input and report errors
explain_freopen(3)
Explain freopen(3) errors
explain_freopen_or_die(3)
open files and report errors
explain_fseek(3)
Explain fseek(3) errors
explain_fseek_or_die(3)
reposition a stream and report errors
explain_fseeko(3)
Explain fseeko(3) errors
explain_fseeko_or_die(3)
seek to or report file position and report errors
explain_fsetpos(3)
Explain fsetpos(3) errors
explain_fsetpos_or_die(3)
reposition a stream and report errors
explain_fstat(3)
Explain fstat(3) errors
explain_fstat_or_die(3)
get file status and report errors
explain_fstatat(3)
Explain fstatat(2) errors
explain_fstatat_or_die(3)
get file status relative to a directory file descriptor and report errors
explain_fstatfs(3)
Explain fstatfs(2) errors
explain_fstatfs_or_die(3)
get file system statistics and report errors
explain_fstatvfs(3)
Explain fstatvfs(2) errors
explain_fstatvfs_or_die(3)
get file system statistics and report errors
explain_fsync(3)
Explain fsync(2) errors
explain_fsync_or_die(3)
synchronize a file's in‐core state with storage device and report errors
explain_ftell(3)
Explain ftell(3) errors
explain_ftell_or_die(3)
get stream position and report errors
explain_ftello(3)
Explain ftello(3) errors
explain_ftello_or_die(3)
get stream position and report errors
explain_ftime(3)
Explain ftime(3) errors
explain_ftime_or_die(3)
return date and time and report errors
explain_ftruncate(3)
Explain ftruncate(2) errors
explain_ftruncate_or_die(3)
truncate a file to a specified length and report errors
explain_futimens(3)
Explain futimens(3) errors
explain_futimens_or_die(3)
change file timestamps with nanosecond precision and report errors
explain_futimes(3)
Explain futimes(3) errors
explain_futimes_or_die(3)
Execute futimes(3) and report errors
explain_futimesat(3)
Explain futimesat(2) errors
explain_futimesat_or_die(3)
change timestamps of a file relative to a directory and report errors
explain_fwrite(3)
Explain fwrite(3) errors
explain_fwrite_or_die(3)
binary stream output and report errors
explain_futimesat(3)
Explain futimesat(2) errors
explain_futimesat_or_die(3)
change timestamps of a file relative to a directory and report errors
explain_getaddrinfo(3)
Explain getaddrinfo(3) errors
explain_getaddrinfo_or_die(3)
network address and and report errors
explain_getc(3)
Explain getc(3) errors
explain_getc_or_die(3)
input of characters and report errors
explain_getchar(3)
Explain getchar(3) errors
explain_getchar_or_die(3)
input of characters and report errors
explain_getcwd(3)
Explain getcwd(2) errors
explain_getdomainname(3)
Explain getdomainname(2) errors
explain_getdomainname_or_die(3)
get domain name and report errors
explain_getgrent(3)
Explain getgrent(3) errors
explain_getgrent_or_die(3)
get group file entry and report errors
explain_getgrouplist(3)
Explain getgrouplist(3) errors
explain_getgrouplist_or_die(3)
get list of groups to which a user belongs and report errors
explain_getgroups(3)
Explain getgroups(2) errors
explain_getgroups_or_die(3)
get list of supplementary group IDs and report errors
explain_getcwd_or_die(3)
Get current working directory and report errors
explain_gethostbyname(3)
Explain gethostbyname(3) errors
explain_gethostbyname_or_die(3)
get host address given host name and report errors
explain_gethostid(3)
Explain gethostid(3) errors
explain_gethostid_or_die(3)
get the unique identifier of the current host and report errors
explain_gethostname(3)
Explain gethostname(2) errors
explain_gethostname_or_die(3)
get hostname and report errors
explain_getpeername(3)
Explain getpeername(2) errors
explain_getpeername_or_die(3)
Executegetpeername(2) and report errors
explain_getpgid(3)
Explain getpgid(2) errors
explain_getpgid_or_die(3)
get process group and report errors
explain_getpgrp(3)
Explain getpgrp(2) errors
explain_getpgrp_or_die(3)
get process group and report errors
explain_getpriority(3)
Explain getpriority(2) errors
explain_getpriority_or_die(3)
get program scheduling priority and report errors
explain_getresgid(3)
Explain getresgid(2) errors
explain_getresgid_or_die(3)
get real, effective and saved group IDs and report errors
explain_getresuid(3)
Explain getresuid(2) errors
explain_getresuid_or_die(3)
get real, effective and saved user IDs and report errors
explain_getrlimit(3)
Explain getrlimit(2) errors
explain_getrlimit_or_die(3)
get resource limits and report errors
explain_getrusage(3)
Explain getrusage(2) errors
explain_getrusage_or_die(3)
get resource usage and report errors
explain_getsockname(3)
Explain getsockname(2) errors
explain_getsockname_or_die(3)
Execute getsockname(2) and report errors
explain_getsockopt(3)
Explain getsockopt(2) errors
explain_getsockopt_or_die(3)
Execute getsockopt(2) and report errors
explain_gettimeofday(3)
Explain gettimeofday(2) errors
explain_gettimeofday_or_die(3)
get time and report errors
explain_getw(3)
Explain getw(3) errors
explain_getw_or_die(3)
input a word (int) and report errors
explain_iconv(3)
Explain iconv(3) errors
explain_iconv_or_die(3)
perform character set conversion and report errors
explain_iconv_close(3)
Explain iconv_close(3) errors
explain_iconv_close_or_die(3)
deallocate descriptor for character set conversion and report errors
explain_iconv_open(3)
Explain iconv_open(3) errors
explain_iconv_open_or_die(3)
allocate descriptor for character set conversion and report errors
explain_ioctl(3)
Explain ioctl(2) errors
explain_ioctl_or_die(3)
Execute ioctl(2) and report errors
explain_kill(3)
Explain kill(2) errors
explain_kill_or_die(3)
send signal to a process and report errors
explain_lchmod(3)
Explain lchmod(2) errors
explain_lchmod_or_die(3)
change permissions of a file and report errors
explain_lchown(3)
Explain lchown(2) errors
explain_lchown_or_die(3)
change ownership of a file and report errors
explain_lchownat(3)
Explain lchownat(2) errors
explain_lchownat_or_die(3)
Execute lchownat(2) and report errors
explain_link(3)
Explain link(2) errors
explain_link_or_die(3)
make a new name for a file and report errors
explain_linkat(3)
Explain linkat(2) errors
explain_linkat_or_die(3)
create a file link relative to directory file descriptors and report errors
explain_listen(3)
Explain listen(2) errors
explain_listen_or_die(3)
listen for connections on a socket and report errors
explain_lseek(3)
Explain lseek(2) errors
explain_lseek_or_die(3)
reposition file offset and report errors
explain_lstat(3)
Explain lstat(2) errors
explain_lstat_or_die(3)
get file status and report errors
explain_lutimes(3)
Explain lutimes(3) errors
explain_lutimes_or_die(3)
modify file timestamps and report errors
explain_malloc(3)
Explain malloc(3) errors
explain_malloc_or_die(3)
Execute malloc(3) and report errors
explain_mkdir(3)
Explain mkdir(2) errors
explain_mkdir_or_die(3)
create directory and report errors
explain_mkdtemp(3)
Explain mkdtemp(3) errors
explain_mkdtemp_or_die(3)
create a unique temporary directory and report errors
explain_mknod(3)
Explain mknod(2) errors
explain_mknod_or_die(3)
create a special or ordinary file and report errors
explain_mkostemp(3)
Explain mkostemp(3) errors
explain_mkostemp_or_die(3)
create a unique temporary file and report errors
explain_mkstemp(3)
Explain mkstemp(3) errors
explain_mkstemp_or_die(3)
create a unique temporary file and report errors
explain_mktemp(3)
Explain mktemp(3) errors
explain_mktemp_or_die(3)
make a unique temporary filename and report errors
explain_mmap(3)
Explain mmap(2) errors
explain_mmap_or_die(3)
map file or device into memory and report errors
explain_mount(3)
Explain mount(2) errors
explain_mount_or_die(3)
mount file system and report errors
explain_munmap(3)
Explain munmap(2) errors
explain_munmap_or_die(3)
unmap a file or device from memory and report errors
explain_nanosleep(3)
Explain nanosleep(2) errors
explain_nanosleep_or_die(3)
high‐resolution sleep and report errors
explain_nice(3)
Explain nice(2) errors
explain_nice_or_die(3)
change process priority and report errors
explain_open(3)
Explain open(2) errors
explain_open_or_die(3)
open files and report errors
explain_openat(3)
Explain openat(2) errors
explain_openat_or_die(3)
open a file relative to a directory file descriptor and report errors
explain_opendir(3)
Explain opendir(3) errors
explain_opendir_or_die(3)
open a directory and report errors
explain_pathconf(3)
Explain pathconf(3) errors
explain_pathconf_or_die(3)
get configuration values for files and report errors
explain_pclose(3)
Explain pclose(3) errors
explain_pclose_or_die(3)
Execute pclose(3) and report errors
explain_pipe(3)
Explain pipe(2) errors
explain_pipe_or_die(3)
Execute pipe(2) and report errors
explain_pipe2(3)
Explain pipe2(2) errors
explain_pipe2_or_die(3)
create pipe and report errors
explain_poll(3)
Explain poll(2) errors
explain_poll_or_die(3)
wait for some event on a file descriptor and report errors
explain_popen(3)
Explain popen(3) errors
explain_popen_or_die(3)
Execute popen(3) and report errors
explain_pread(3)
Explain pread(2) errors
explain_pread_or_die(3)
read from a file descriptor at a given offset and report errors
explain_printf(3)
Explain printf(3) errors
explain_printf_or_die(3)
formatted output conversion and report errors
explain_ptrace(3)
Explain ptrace(2) errors
explain_ptrace_or_die(3)
process trace and report errors
explain_putc(3)
Explain putc(3) errors
explain_putc_or_die(3)
output of characters and report errors
explain_putchar(3)
Explain putchar(3) errors
explain_putchar_or_die(3)
output of characters and report errors
explain_putenv(3)
Explain putenv(3) errors
explain_putenv_or_die(3)
change or add an environment variable and report errors
explain_puts(3)
Explain puts(3) errors
explain_puts_or_die(3)
write a string and a trailing newline to stdout and report errors
explain_putw(3)
Explain putw(3) errors
explain_putw_or_die(3)
output a word (int) and report errors
explain_pwrite(3)
Explain pwrite(2) errors
explain_pwrite_or_die(3)
write to a file descriptor at a given offset and report errors
explain_raise(3)
Explain raise(3) errors
explain_raise_or_die(3)
send a signal to the caller and report errors
explain_read(3)
Explain read(2) errors
explain_read_or_die(3)
read from a file descriptor and report errors
explain_readdir(3)
Explain readdir(3) errors
explain_readdir_or_die(3)
read a directory and report errors
explain_readlink(3)
Explain readlink(2) errors
explain_readlink_or_die(3)
read value of a symbolic link and report errors
explain_readv(3)
Explain readv(2) errors
explain_readv_or_die(3)
read data into multiple buffers and report errors
explain_realloc(3)
Explain realloc(3) errors
explain_realloc_or_die(3)
Execute realloc(3) and report errors
explain_realpath(3)
Explain realpath(3) errors
explain_realpath_or_die(3)
return the canonicalized absolute pathname and report errors
explain_rename(3)
Explain rename(2) errors
explain_rename_or_die(3)
change the name or location of a file and report errors
explain_rmdir(3)
Explain rmdir(2) errors
explain_rmdir_or_die(3)
delete a directory and report errors
explain_select(3)
Explain select(2) errors
explain_select_or_die(3)
execute select(2) and report errors
explain_setbuf(3)
Explain setbuf(3) errors
explain_setbuffer(3)
Explain setbuffer(3) errors
explain_setbuffer_or_die(3)
stream buffering operations and report errors
explain_setbuf_or_die(3)
set stream buffer and report errors
explain_setdomainname(3)
Explain setdomainname(2) errors
explain_setdomainname_or_die(3)
set domain name and report errors
explain_setenv(3)
Explain setenv(3) errors
explain_setenv_or_die(3)
change or add an environment variable and report errors
explain_setgid(3)
Explain setgid(2) errors
explain_setgid_or_die(3)
set group identity and report errors
explain_setgrent(3)
Explain setgrent(3) errors
explain_setgrent_or_die(3)
rewind to the start of the group database and report errors
explain_setgroups(3)
Explain setgroups(2) errors
explain_setgroups_or_die(3)
get list of supplementary group IDs and report errors
explain_sethostname(3)
Explain sethostname(2) errors
explain_sethostname_or_die(3)
set hostname and report errors
explain_setlinebuf(3)
Explain setlinebuf(3) errors
explain_setlinebuf_or_die(3)
stream buffering operations and report errors
explain_setpgid(3)
Explain setpgid(2) errors
explain_setpgid_or_die(3)
set process group and report errors
explain_setpgrp(3)
Explain setpgrp(2) errors
explain_setpgrp_or_die(3)
set process group and report errors
explain_setpriority(3)
Explain setpriority(2) errors
explain_setpriority_or_die(3)
set program scheduling priority and report errors
explain_setregid(3)
Explain setregid(2) errors
explain_setregid_or_die(3)
set real and/or effective group ID and report errors
explain_setreuid(3)
Explain setreuid(2) errors
explain_setreuid_or_die(3)
set the real and effective user ID and report errors
explain_setresgid(3)
Explain setresgid(2) errors
explain_setresgid_or_die(3)
set real, effective and saved group ID and report errors
explain_setresuid(3)
Explain setresuid(2) errors
explain_setresuid_or_die(3)
set real, effective and saved user ID and report errors
explain_setreuid(3)
Explain setreuid(2) errors
explain_setreuid_or_die(3)
set real and/or effective user ID and report errors
explain_setsid(3)
Explain setsid(2) errors
explain_setsid_or_die(3)
creates a session and sets the process group ID and report errors
explain_setsockopt(3)
Explain setsockopt(2) errors
explain_setsockopt_or_die(3)
execute setsockopt(2) and report errors
explain_settimeofday(3)
Explain settimeofday(2) errors
explain_settimeofday_or_die(3)
sets system time and report errors
explain_setuid(3)
Explain setuid(2) errors
explain_setuid_or_die(3)
set user identity and report errors
explain_setvbuf(3)
Explain setvbuf(3) errors
explain_setvbuf_or_die(3)
stream buffering operations and report errors
explain_shmat(3)
Explain shmat(2) errors
explain_shmat_or_die(3)
shared memory attach and report errors
explain_shmctl(3)
Explain shmctl(2) errors
explain_shmctl_or_die(3)
shared memory control and report errors
explain_signalfd(3)
Explain signalfd(2) errors
explain_signalfd_or_die(3)
create a file descriptor for accepting signals and report errors
explain_sleep(3)
Explain sleep(3) errors
explain_sleep_or_die(3)
Sleep for the specified number of seconds and report errors
explain_socket(3)
Explain socket(2) errors
explain_socket_or_die(3)
create an endpoint for communication and report errors
explain_socketpair(3)
Explain socketpair(2) errors
explain_socketpair_or_die(3)
create a pair of connected sockets and report errors
explain_sprintf(3)
Explain sprintf(3) errors
explain_sprintf_or_die(3)
formatted output conversion and report errors
explain_stat(3)
Explain stat(2) errors
explain_statfs(3)
Explain statfs(2) errors
explain_statfs_or_die(3)
get file system statistics and report errors
explain_statvfs(3)
Explain statvfs(2) errors
explain_statvfs_or_die(3)
get file system statistics and report errors
explain_stime(3)
Explain stime(2) errors
explain_stime_or_die(3)
set system time and report errors
explain_strcoll(3)
Explain strcoll(3) errors
explain_strcoll_or_die(3)
compare two strings using the current locale and report errors
explain_strdup(3)
Explain strdup(3) errors
explain_strdup_or_die(3)
duplicate a string and report errors
explain_strndup(3)
Explain strndup(3) errors
explain_strndup_or_die(3)
duplicate a string and report errors
explain_strtod(3)
Explain strtod(3) errors
explain_strtod_or_die(3)
convert string to floating‐point number and report errors
explain_strtof(3)
Explain strtof(3) errors
explain_strtof_or_die(3)
convert string to floating‐point number and report errors
explain_strtol(3)
Explain strtol(3) errors
explain_strtol_or_die(3)
convert a string to a long integer and report errors
explain_strtold(3)
Explain strtold(3) errors
explain_strtold_or_die(3)
convert string to floating‐point number and report errors
explain_strtoll(3)
Explain strtoll(3) errors
explain_strtoll_or_die(3)
convert a string to a long long integer and report errors
explain_strtoul(3)
Explain strtoul(3) errors
explain_strtoul_or_die(3)
convert a string to a long long integer and report errors
explain_strtoull(3)
Explain strtoull(3) errors
explain_strtoull_or_die(3)
convert a string to an unsigned long long integer and report errors
explain_symlink(3)
Explain symlink(2) errors
explain_symlink_or_die(3)
make a new name for a file and report errors
explain_system(3)
Explain system(3) errors
explain_system_or_die(3)
execute a shell command and report errors
explain_tcdrain(3)
Explain tcdrain(3) errors
explain_tcdrain_or_die(3)
Execute tcdrain(3) and report errors
explain_tcflow(3)
Explain tcflow(3) errors
explain_tcflow_or_die(3)
Execute tcflow(3) and report errors
explain_tcflush(3)
Explain tcflush(3) errors
explain_tcflush_or_die(3)
discard terminal data and report errors
explain_tcgetattr(3)
Explain tcgetattr(3) errors
explain_tcgetattr_or_die(3)
get terminal parameters and report errors
explain_tcsendbreak(3)
Explain tcsendbreak(3) errors
explain_tcsendbreak_or_die(3)
send terminal line break and report errors
explain_tcsetattr(3)
Explain tcsetattr(3) errors
explain_tcsetattr_or_die(3)
set terminal attributes and report errors
explain_telldir(3)
Explain telldir(3) errors
explain_telldir_or_die(3)
return current location in directory stream and report errors
explain_tempnam(3)
Explain tempnam(3) errors
explain_tempnam_or_die(3)
create a name for a temporary file and report errors
explain_time(3)
Explain time(2) errors
explain_time_or_die(3)
get time in seconds and report errors
explain_timerfd_create(3)
Explain timerfd_create(2) errors
explain_timerfd_create_or_die(3)
timers that notify via file descriptors and report errors
explain_tmpfile(3)
Explain tmpfile(3) errors
explain_tmpfile_or_die(3)
create a temporary file and report errors
explain_tmpnam(3)
Explain tmpnam(3) errors
explain_tmpnam_or_die(3)
create a name for a temporary file and report errors
explain_truncate(3)
Explain truncate(2) errors
explain_truncate_or_die(3)
truncate a file to a specified length and report errors
explain_usleep(3)
Explain usleep(3) errors
explain_usleep_or_die(3)
suspend execution for microsecond intervals and report errors
explain_uname(3)
Explain uname(2) errors
explain_uname_or_die(3)
get name and information about current kernel and report errors
explain_ungetc(3)
Explain ungetc(3) errors
explain_ungetc_or_die(3)
push a character back to a stream and report errors
explain_unlink(3)
Explain unlink(2) errors
explain_unlink_or_die(3)
delete a file and report errors
explain_unsetenv(3)
Explain unsetenv(3) errors
explain_unsetenv_or_die(3)
remove an environment variable and report errors
explain_ustat(3)
Explain ustat(2) errors
explain_ustat_or_die(3)
get file system statistics and report errors
explain_utime(3)
Explain utime(2) errors
explain_utime_or_die(3)
change file last access and modification times and report errors
explain_utimens(3)
Explain utimens(2) errors
explain_utimens_or_die(3)
change file last access and modification times and report errors
explain_utimensat(3)
Explain utimensat(2) errors
explain_utimensat_or_die(3)
change file timestamps with nanosecond precision and report errors
explain_utimes(3)
Explain utimes(2) errors
explain_utimes_or_die(3)
change file last access and modification times and report errors
explain_vasprintf(3)
Explain vasprintf(3) errors
explain_vasprintf_or_die(3)
print to allocated string and report errors
explain_vfork(3)
Explain vfork(2) errors
explain_vfork_or_die(3)
create a child process and block parent and report errors
explain_vfprintf(3)
Explain vfprintf(3) errors
explain_vfprintf_or_die(3)
formatted output conversion and report errors
explain_vprintf(3)
Explain vprintf(3) errors
explain_vprintf_or_die(3)
formatted output conversion and report errors
explain_vsnprintf(3)
Explain vsnprintf(3) errors
explain_vsnprintf_or_die(3)
formatted output conversion and report errors
explain_snprintf(3)
Explain snprintf(3) errors
explain_snprintf_or_die(3)
formatted output conversion and report errors
explain_vsprintf(3)
Explain vsprintf(3) errors
explain_vsprintf_or_die(3)
formatted output conversion and report errors
explain_wait(3)
Explain wait(2) errors
explain_wait_or_die(3)
wait for process to change state and report errors
explain_wait3(3)
Explain wait3(2) errors
explain_wait3_or_die(3)
wait for process to change state and report errors
explain_wait4(3)
Explain wait4(2) errors
explain_wait4_or_die(3)
wait for process to change state and report errors
explain_waitpid(3)
Explain waitpid(2) errors
explain_waitpid_or_die(3)
wait for process to change state and report errors
explain_write(3)
Explain write(2) errors
explain_write_or_die(3)
write to a file descriptor and report errors
explain_writev(3)
Explain writev(2) errors
explain_writev_or_die(3)
write data from multiple buffers and report errors

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

Author

Written by Peter Miller <pmiller@opensource.org.au>

Referenced By

explain_output(3).