STRERROR(3)

NAME
6.24 `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 `ECANCELED'
     Operation canceled `ENOTRECOVERABLE'
     State not recoverable `EOWNERDEAD'
     Previous owner died `ESTRPIPE'
     Strings pipe error

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.

SEE ALSO
strerror is part of the library. The full documentation for is maintained as a Texinfo manual. If info and are properly installed at your site, the command

    info

will give you access to the complete manual.