:man| Alphabetical   Categories   About us 
 
ERRNO (3) | C library functions | Unix Manual Pages | :man

NAME

errno - number of last error

CONTENTS

Synopsis
Description

SYNOPSIS

#include <errno.h>

extern int errno;

DESCRIPTION

The integer errno is set by system calls (and some library functions) to indicate what went wrong. Its value is significant only when the call returned an error (usually -1), and a library function that does succeed is allowed to change errno.

Sometimes, when -1 is also a legal return value one has to zero errno before the call in order to detect possible errors.

errno is defined by the ISO C standard to be a modifiable lvalue of type int, and must not be explicitly declared; errno may be a macro. errno is thread-local; setting it in one thread does not affect its value in any other thread.

Valid error numbers are all non-zero; errno is never set to zero by any library function. All the error names specified by POSIX.1 must have distinct values.

POSIX.1 (2001 edition) lists the following symbolic error names. Of these, EDOM and ERANGE are in the ISO C standard. ISO C Amendment 1 defines the additional error number EILSEQ for coding errors in multibyte or wide characters.

E2BIG Arg list too long
EACCES Permission denied
EADDRINUSE
Address in use
EADDRNOTAVAIL
Address not available
EAFNOSUPPORT
Address family not supported
EAGAIN Resource temporarily unavailable
EALREADY
Connection already in progress
EBADF Bad file descriptor
EBADMSG
Bad message
EBUSY Resource busy
ECANCELED
Operation canceled
ECHILD No child processes
ECONNABORTED
Connection aborted
ECONNREFUSED
Connection refused
ECONNRESET
Connection reset
EDEADLK
Resource deadlock avoided
EDESTADDRREQ
Destination address required
EDOM Domain error
EDQUOT Reserved
EEXIST File exists
EFAULT Bad address
EFBIG File too large
EHOSTUNREACH
Host is unreachable
EIDRM Identifier removed
EILSEQ Illegal byte sequence
EINPROGRESS
Operation in progress
EINTR Interrupted function call
EINVAL Invalid argument
EIO Input/output error
EISCONN
Socket is connected
EISDIR Is a directory
ELOOP Too many levels of symbolic links
EMFILE Too many open files
EMLINK Too many links
EMSGSIZE
Inappropriate message buffer length
EMULTIHOP
Reserved
ENAMETOOLONG
Filename too long
ENETDOWN
Network is down
ENETRESET
Connection aborted by network
ENETUNREACH
Network unreachable
ENFILE Too many open files in system
ENOBUFS
No buffer space available
ENODATA
No message is available on the STREAM head read queue
ENODEV No such device
ENOENT No such file or directory
ENOEXEC
Exec format error
ENOLCK No locks available
ENOLINK
Reserved
ENOMEM Not enough space
ENOMSG No message of the desired type
ENOPROTOOPT
Protocol not available
ENOSPC No space left on device
ENOSR No STREAM resources
ENOSTR Not a STREAM
ENOSYS Function not implemented
ENOTCON
The socket is not connected
ENOTDIR
Not a directory
ENOTEMPTY
Directory not empty
ENOTSOCK
Not a socket
ENOTSUP
Not supported
ENOTTY Inappropriate I/O control operation
ENXIO No such device or address
EOPNOTSUPP
Operation not supported on socket
EOVERFLOW
Value too large to be stored in data type
EPERM Operation not permitted
EPIPE Broken pipe
EPROTO Protocol error
EPROTONOSUPPORT
Protocol not supported
EPROTOTYPE
Protocol wrong type for socket
ERANGE Result too large
EROFS Read-only file system
ESPIPE Invalid seek
ESRCH No such process
ESTALE Reserved
ETIME STREAM ioctl() timeout
ETIMEDOUT
Operation timed out
ETXTBSY
Test file busy
EWOULDBLOCK
Operation would block (may be same value as EAGAIN)
EXDEV Improper link

"SEE ALSO"

perror(3), strerror(3)


Share this page

     Follow us

Facebook Twitter Google+ LinkedIn


 
Created by Blin Media, 2008-2013