explain(1)

NAME
explain - explain system call error messages

SYNOPSIS
explain [ option ... ] function [ argument ... ]

explain --version

DESCRIPTION
The explain command is used to decode an error return read from an strace(1) listing, or silimar. Because thisd is being deciphered in a different process than the orginal, the results will be less accurate than if the program itself were to use libexplain(3).

  Functions
The functions understood include:

accept fildes addr addrlen
    The accept(2) system call.

accept4 fildes [[ sock_addr sock_addr_size ] flags ]
    The accept4(2) system call.

access pathname
    The access(2) system call.

acct pathname
    The acct(2) system call.

adjtime delta olddelta
    The adjtime(2) system call.

adjtimex data
    The adjtimex(2) system call.

bind fildes addr sockaddr_size
    The bind(2) system call.

calloc nmemb size
    The calloc(3) system call.

chdir pathname
    The chdir(2) system call.

chmod pathname permission-mode
    The chmod(2) system call.

chown pathname owner group
    The chown(2) system call.

chroot pathname
    The chroot(2) system call.

close fildes
    The close(2) system call.

closedir dir
    The closedir(3) system call.

connect fildes serv_addr serv_addr_size
    The connect(2) system call.

creat pathname [ permission-mode
    The creat(2) system call.

dirfd dir
    The dirfd(3) system call.

dup fildes
    The dup(2) system call.

dup2 oldfd newfd
    The dup2(2) system call.

eventfd initval flags
    The eventfd(2) system call.

execlp pathname arg...
    The execlp(3) system call.

execv pathname argv
    The execv(3) system call.

execve pathname arg...
    The execve(2) system call.

execvp pathname arg...
    The execvp(3) system call.

fchdir pathname
    The fchdir(2) system call.

fchown fildes owner group
    The fchown(2) system call.

fclose fp
    The fclose(3) system call.

fcntl fildes command [ arg ]
    The fcntl(2) system call.

fdopen fd mode
    The fdopen(3) system call.

fdopendir fildes
    The fdopendir(3) system call.

feof fp
    The feof(3) system call.

ferror fp
    The ferror(3) system call.

fflush fp
    The fflush(3) system call.

fgetc fp
    The fgetc(3) system call.

fgetpos fp pos
    The fgetpos(3) system call.

fgets data data_size fp
    The fgets(3) system call.

fileno fp
    The fileno(3) system call.

flock fildes command
    The flock(2) system call.

fork
    The fork(2) system call.

fpathconf fildes name
    The fpathconf(3) system call.

fpurge fp
    The fpurge(3) system call.

fread ptr size nmemb fp
    The fread(3) system call.

fopen pathname mode
    The fopen(2) system call. The pathname argument may need to be quoted to insulate white space and punctuation from the shell. The mode argument (a textual equivalent of the open system call's flags argument). See fopen(3) for more information.

fputc c [ fp ]
    The fputc(3) system call.

fputs s fp
    The fputs(3) system call.

freopen pathname flags fp
    The freopen(3) system call.

fseek fp offset whence
    The fseek(3) system call.

fsetpos fp pos
    The fsetpos(3) system call.

fstat pathname
    The fstat(2) system call.

fstatfs fildes data
    The fstatfs(2) system call.

fstatvfs fildes data
    The fstatvfs(2) system call.

fsync fildes
    The fsync(2) system call.

ftell fp
    The ftell(3) system call.

ftime tp
    The ftime(3) system call.

ftruncate fildes length
    The ftruncate(2) system call.

futimes fildes tv[0] tv[1]
    The futimes(3) system call.

getc fp
    The getc(3) system call.

getchar
    The getchar(3) system call.

getcwd buf size
    The getcwd(2) system call.

getdomainname data data_size
    The getdomainname(2) system call.

getgroups data_size data
    The getgroups(2) system call.

gethostbyname name
    The gethostbyname(3) system call.

gethostname [ data data_size ]
    The gethostname(2) system call.

getpeername fildes sock_addr sock_addr_size
    The getpeername(2) system call.

getpgid pid
    The getpgid(2) system call.

getpgrp pid
    The getpgrp(2) system call.

getresgid rgid egid sgid
    The getresgid(2) system call.

getresuid ruid euid suid
    The getresuid(2) system call.

getrlimit resource rlim
    The getrlimit(2) system call.

getrusage who usage
    The getrusage(2) system call.

getsockname fildes [ sock_addr [ sock_addr_size ]]
    The getsockname(2) system call.

getsockopt fildes level name data data_size
    The getsockopt(2) system call.

gettimeofday [ tv [ tz ] ]
    The gettimeofday(2) system call.

getw fp
    The getw(3) system call.

ioctl fildes request data
    The ioctl(2) system call.

kill pid sig
    The kill(2) system call.

lchmod pathname mode
    The lchmod(2) system call.

lchown pathname owner group
    The lchown(2) system call.

link oldpath newpath
    The link(2) system call.

listen fildes backlog
    The listen(2) system call.

lseek fildes offset whence
    The lseek(2) system call.

lstat pathname
    The lstat(2) system call.

malloc size
    The malloc(3) system call.

mkdir pathname [ mode ]
    The mkdir(2) system call.

mkdtemp pathname
    The mkdtemp(3) system call.

mknod pathname mode dev
    The mknod(2) system call.

mkostemp templat flags
    The mkostemp(3) system call.

mkstemp templat
    The mkstemp(3) system call.

mktemp pathname
    The mktemp(3) system call.

mmap data data_size prot flags fildes offset
    The mmap(2) system call.

munmap data data_size
    The munmap(2) system call.

nice inc
    The nice(2) system call.

open pathname flags [ mode ]
    The open(2) system call. The pathname argument may need to be quoted to insulate white space and punctuation from the shell. The flags argument may be numeric or symbolic. The mode argument may be numeric or symbolic.

opendir pathname
    The opendir(3) system call.

pathconf pathname name
    The pathconf(3) system call.

pclose fp
    The pclose(3) system call.

pipe pipefd
    The pipe(2) system call.

poll fds nfds timeout
    The poll(2) system call.

popen command flags
    The popen(3) system call.

pread fildes data data_size offset
    The pread(2) system call.

ptrace request pid addr data
    The ptrace(2) system call.

putc c fp
    The putc(3) system call.

putchar c
    The putchar(3) system call.

putenv string
    The putenv(3) system call.

puts s
    The puts(3) system call.

putw value fp
    The putw(3) system call.

pwrite fildes data data_size offset
    The pwrite(2) system call.

raise sig
    The raise(3) system call.

read fildes data data-size
    The read(2) system call.

realloc ptr size
    The realloc(3) system call.

realpath pathname resolved_pathname
    The realpath(3) system call.

rename oldpath newpath
    The rename(2) system call.

readv fildes iov ...
    The readv(2) system call.

select nfds readfds writefds exceptfds timeout
    The select(2) system call.

setbuf fp data
    The setbuf(3) system call.

setbuffer fp data size
    The setbuffer(3) system call.

setdomainname data data_size
    The setdomainname(2) system call.

setenv name value overwrite
    The setenv(3) system call.

setgid gid
    The setgid(2) system call.

setgroups data_size data
    The setgroups(2) system call.

sethostname name [ name_size ]
    The sethostname(2) system call.

setlinebuf fp
    The setlinebuf(3) system call.

setpgid [ pid [ pgid ]]
    The setpgid(2) system call.

setpgrp pid pgid
    The setpgrp(2) system call.

setregid rgid egid
    The setregid(2) system call.

setreuid ruid euid
    The setreuid(2) system call.

setresgid rgid egid sgid
    The setresgid(2) system call.

setresuid ruid euid suid
    The setresuid(2) system call.

setreuid ruid euid
    The setreuid(2) system call.

setsid
    The setsid(2) system call.

setsockopt fildes level name data data_size
    The setsockopt(2) system call.

setuid uid
    The setuid(2) system call.

setvbuf fp data mode size
    The setvbuf(3) system call.

shmat shmid shmaddr shmflg
    The shmat(2) system call.

shmctl shmid command data
    The shmctl(2) system call.

signalfd fildes mask flags
    The signalfd(2) system call.

socket domain type protocol
    The socket(2) system call.

socketpair domain type protocol sv
    The socketpair(2) system call.

stat pathname
    The stat(2) system call.

statfs pathname data
    The statfs(2) system call.

statvfs pathname data
    The statvfs(2) system call.

stime t
    The stime(2) system call.

strdup data
    The strdup(3) system call.

strerror
    The error given will be printed out with all known detail.

strndup data data_size
    The strndup(3) system call.

strtod nptr endptr
    The strtod(3) system call.

strtof nptr endptr
    The strtof(3) system call.

strtol nptr endptr base
    The strtol(3) system call.

strtold nptr endptr
    The strtold(3) system call.

strtoll nptr endptr base
    The strtoll(3) system call.

strtoul nptr endptr base
    The strtoul(3) system call.

strtoull nptr endptr base
    The strtoull(3) system call.

symlink oldpath newpath
    The symlink(2) system call.

system command
    The system(3) system call.

tcdrain fildes
    The tcdrain(3) system call.

tcflow fildes action
    The tcflow(3) system call.

tcflush fildes selector
    The tcflush(3) system call.

tcgetattr fildes data
    The tcgetattr(3) system call.

tcsendbreak fildes duration
    The tcsendbreak(3) system call.

tcsetattr fildes options data
    The tcsetattr(3) system call.

telldir dir
    The telldir(3) system call.

tempnam dir prefix
    The tempnam(3) system call.

time t
    The time(2) system call.

timerfd_create clockid flags
    The timerfd_create(2) system call.

tmpfile
    The tmpfile(3) system call.

tmpnam pathname
    The tmpnam(3) system call.

truncate pathname size
    The truncate(2) system call.

ungetc c fp
    The ungetc(3) system call.

unlink pathname
    The unlink(2) system call.

unsetenv name
    The unsetenv(3) system call.

ustat dev ubuf
    The ustat(2) system call.

utime pathname [ times ]
    The utime(2) system call.

utimens pathname [ data ]
    The utimens(2) system call.

utimensat [ fildes ] pathname [ data [ flags ]]
    The utimensat(2) system call.

utimes pathname data
    The utimes(2) system call.

vfork
    The vfork(2) system call.

wait status
    The wait(2) system call.

wait3 status options rusage
    The wait3(2) system call.

wait4 pid status options rusage
    The wait4(2) system call.

waitpid pid status options
    The waitpid(2) system call.

write fildes data data-size
    The write(2) system call.

writev fildes data data-size
    The writev(2) system call.

Do not include the perentheses used to make the call.

OPTIONS
The explain command understands the following options:

-E  The exit staus, success or fail, will be printed immediately before the access command terminates.

-e number
    The value of errno as a number (e.g. 2), or as a symbol (e.g. ENOENT), or as the text of its meaning (e.g. No such file or directory). You will need quotes to insulate spaces and punctuation from the shell.

-V  Print the version of the explain executing.

EXIT STATUS
The explain command exits with status 1 on any error. The explain command only exits with status 0 if there are no errors.

COPYRIGHT
explain version 1.2
Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Peter Miller

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