STRERROR(3) NEWLIB 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 extensi‐
bility. `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 char‐
acter pointer. If ERRNUM is unknown to `_user_strerror', `_user_str‐
error' returns NULL. The default `_user_strerror' returns NULL for all
input values.
`strerror' requires no supporting OS subroutines.
SEE ALSOstrerror is part of the library. The full documentation for is main‐
tained as a Texinfo manual. If info and are properly installed at your
site, the command
info
will give you access to the complete manual.
NEWLIB April 2010 STRERROR(3)