libc.info: strerror

Go forward to strlen
Go backward to strcspn
Go up to Strings
Go to the top op libc

`strerror'--convert error number to string

*Synopsis*
     #include <string.h>
     char *strerror(int ERRNUM);
   *Description*
`strerror' converts the error number ERRNUM into a string.  The value
of ERRNUM is usually a copy of `errno'.  If `errnum' is not a known
error number, the result points to an empty string.
   This implementation of `strerror' prints out the following strings
for each of the values defined in ``errno.h'':
`E2BIG'
     Arg list too long
`EACCES'
     Permission denied
`EADDRINUSE'
     Address already in use
`EADV'
     Advertise error
`EAFNOSUPPORT'
     Address family not supported by protocol family
`EAGAIN'
     No more processes
`EALREADY'
     Socket already connected
`EBADF'
     Bad file number
`EBADMSG'
     Bad message
`EBUSY'
     Device or resource busy
`ECHILD'
     No children
`ECOMM'
     Communication error
`ECONNABORTED'
     Software caused connection abort
`ECONNREFUSED'
     Connection refused
`EDEADLK'
     Deadlock
`EDESTADDRREQ'
     Destination address required
`EEXIST'
     File exists
`EDOM'
     Math argument
`EFAULT'
     Bad address
`EFBIG'
     File too large
`EHOSTDOWN'
     Host is down
`EHOSTUNREACH'
     Host is unreachable
`EIDRM'
     Identifier removed
`EINPROGRESS'
     Connection already in progress
`EINTR'
     Interrupted system call
`EINVAL'
     Invalid argument
`EIO'
     I/O error
`EISCONN'
     Socket is already connected
`EISDIR'
     Is a directory
`ELIBACC'
     Cannot access a needed shared library
`ELIBBAD'
     Accessing a corrupted shared library
`ELIBEXEC'
     Cannot exec a shared library directly
`ELIBMAX'
     Attempting to link in more shared libraries than system limit
`ELIBSCN'
     `.lib' section in a.out corrupted
`EMFILE'
     Too many open files
`EMLINK'
     Too many links
`EMSGSIZE'
     Message too long
`EMULTIHOP'
     Multihop attempted
`ENAMETOOLONG'
     File or path name too long
`ENETDOWN'
     Network interface not configured
`ENETUNREACH'
     Network is unreachable
`ENFILE'
     Too many open files in system
`ENODEV'
     No such device
`ENOENT'
     No such file or directory
`ENOEXEC'
     Exec format error
`ENOLCK'
     No lock
`ENOLINK'
     Virtual circuit is gone
`ENOMEM'
     Not enough space
`ENOMSG'
     No message of desired type
`ENONET'
     Machine is not on the network
`ENOPKG'
     No package
`ENOPROTOOPT'
     Protocol not available
`ENOSPC'
     No space left on device
`ENOSR'
     No stream resources
`ENOSTR'
     Not a stream
`ENOSYS'
     Function not implemented
`ENOTBLK'
     Block device required
`ENOTCONN'
     Socket is not connected
`ENOTDIR'
     Not a directory
`ENOTEMPTY'
     Directory not empty
`ENOTSOCK'
     Socket operation on non-socket
`ENOTSUP'
     Not supported
`ENOTTY'
     Not a character device
`ENXIO'
     No such device or address
`EPERM'
     Not owner
`EPIPE'
     Broken pipe
`EPROTO'
     Protocol error
`EPROTOTYPE'
     Protocol wrong type for socket
`EPROTONOSUPPORT'
     Unknown protocol
`ERANGE'
     Result too large
`EREMOTE'
     Resource is remote
`EROFS'
     Read-only file system
`ESHUTDOWN'
     Can't send after socket shutdown
`ESOCKTNOSUPPORT'
     Socket type not supported
`ESPIPE'
     Illegal seek
`ESRCH'
     No such process
`ESRMNT'
     Srmount error
`ETIME'
     Stream ioctl timeout
`ETIMEDOUT'
     Connection timed out
`ETXTBSY'
     Text file busy
`EXDEV'
     Cross-device link
*Returns*
This function returns a pointer to a string.  Your application must not
modify that string.
*Portability*
ANSI C requires `strerror', but does not specify the strings used for
each error number.
   Although this implementation of `strerror' is reentrant, ANSI C
declares that subsequent calls to `strerror' may overwrite the result
string; therefore portable code cannot depend on the reentrancy of this
subroutine.
   This implementation of `strerror' provides for user-defined
extensibility.  `errno.h' defines __ELASTERROR, which can be used as a
base for user-defined error values.  If the user supplies a routine
named `_user_strerror', and ERRNUM passed to `strerror' does not match
any of the supported values, `_user_strerror' is called with ERRNUM as
its argument.
   `_user_strerror' takes one argument of type INT, and returns a
character pointer.  If ERRNUM is unknown to `_user_strerror',
`_user_strerror' returns NULL.  The default `_user_strerror' returns
NULL for all input values.
   `strerror' requires no supporting OS subroutines.