Rechercher une page de manuel
explain
Langue: en
Version: 345794 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
Sommaire
NAME
libexplain - Explain errno values returned by libc functionsSYNOPSIS
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 because the cause is no longer present.
Environment Variable
The LIBEXPLAIN_OPTIONS environment variable may be used to control some of the content in the messages.- debug
- Additional debugging messages for libexplain developers. Not generally useful to clients of the library.
- no-numeric-errno
- This option suppresses the numeric errno value from being included in the message, e.g. "(ENOENT)" rather than "(2, ENOENT)". This option is more generally of use in automated testing, to prevent UNIX dialect differences from producing false negatives.
- no-dialect-specific
- The option suppresses explanatory text specific to a particular UNIX dialect. It also suppresses printing system specific maximums. This option is more generally of use in automated testing, to prevent UNIX dialect differences from producing false negatives.
- no-program-name
- By default the explain_*_or_die functions include the name of the executing program at the start of the error message, and this helps users understand which command is throwing the error. This option may be used to suppress the inclusion of the program name, which may be of some interest to script writers. Program developers can use the explain_program_name_set(3) function is 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 is they wish to trump the environment variable.
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_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_bind(3)
- Explain bind(2) errors
- explain_bind_or_die(3)
- bind a name to a socket 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_eventfd(3)
- Explain eventfd(2) errors
- explain_eventfd_or_die(3)
- create a file descriptor for event notification 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_fchdir(3)
- Explain fchdir(2) errors
- explain_fchmod(3)
- Explain fchmod(2) errors
- explain_fchmod_or_die(3)
- change permissions of a 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_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_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_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_fputc(3)
- Explain fputc(3) errors
- explain_fputc_or_die(3)
- output of characters 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_fstat(3)
- Explain fstat(3) errors
- explain_fstat_or_die(3)
- get file status and report errors
- explain_fstatfs(3)
- Explain fstatfs(2) errors
- explain_fstatfs_or_die(3)
- get file system statistics 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_futimes(3)
- Explain futimes(3) errors
- explain_futimes_or_die(3)
- Execute futimes(3) and report errors
- explain_fwrite(3)
- Explain fwrite(3) errors
- explain_fwrite_or_die(3)
- binary stream output 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_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_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_getrlimit(3)
- Explain getrlimit(2) errors
- explain_getrlimit_or_die(3)
- get resource limits 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_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_lchown(3)
- Explain lchown(2) errors
- explain_lchown_or_die(3)
- change ownership of a file 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_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_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_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_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_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_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_pwrite(3)
- Explain pwrite(2) errors
- explain_pwrite_or_die(3)
- write to a file descriptor at a given offset 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_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_setdomainname(3)
- Explain setdomainname(2) errors
- explain_setdomainname_or_die(3)
- set domain name 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_setsockopt(3)
- Explain setsockopt(2) errors
- explain_setsockopt_or_die(3)
- execute setsockopt(2) 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_socket(3)
- Explain socket(2) errors
- explain_socket_or_die(3)
- create an endpoint for communication 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_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_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_truncate(3)
- Explain truncate(2) errors
- explain_truncate_or_die(3)
- truncate a file to a specified length and report errors
- explain_unlink(3)
- Explain unlink(2) errors
- explain_unlink_or_die(3)
- delete a file 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_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
COPYRIGHT
libexplain version 0.19Copyright (C) 2008 Peter Miller
AUTHOR
Written by Peter Miller <pmiller@opensource.org.au>Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre