This header was originally in the C standard library as
.
This header is part of the
library.
Macros
macro which expands to POSIX-compatible thread-local error number variable
(macro variable)
E2BIG
(C++11)
Argument list too long
(macro constant)EACCES
(C++11)
Permission denied
(macro constant)EADDRINUSE
(C++11)
Address in use
(macro constant)EADDRNOTAVAIL
(C++11)
Address not available
(macro constant)EAFNOSUPPORT
(C++11)
Address family not supported
(macro constant)EAGAIN
(C++11)
Resource unavailable, try again
(macro constant)EALREADY
(C++11)
Connection already in progress
(macro constant)EBADF
(C++11)
Bad file descriptor
(macro constant)EBADMSG
(C++11)
Bad message
(macro constant)EBUSY
(C++11)
Device or resource busy
(macro constant)ECANCELED
(C++11)
Operation canceled
(macro constant)ECHILD
(C++11)
No child processes
(macro constant)ECONNABORTED
(C++11)
Connection aborted
(macro constant)ECONNREFUSED
(C++11)
Connection refused
(macro constant)ECONNRESET
(C++11)
Connection reset
(macro constant)EDEADLK
(C++11)
Resource deadlock would occur
(macro constant)EDESTADDRREQ
(C++11)
Destination address required
(macro constant)EDOM
Mathematics argument out of domain of function
(macro constant)EEXIST
(C++11)
File exists
(macro constant)EFAULT
(C++11)
Bad address
(macro constant)EFBIG
(C++11)
File too large
(macro constant)EHOSTUNREACH
(C++11)
Host is unreachable
(macro constant)EIDRM
(C++11)
Identifier removed
(macro constant)EILSEQ
Illegal byte sequence
(macro constant)EINPROGRESS
(C++11)
Operation in progress
(macro constant)EINTR
(C++11)
Interrupted function
(macro constant)EINVAL
(C++11)
Invalid argument
(macro constant)EIO
(C++11)
I/O error
(macro constant)EISCONN
(C++11)
Socket is connected
(macro constant)EISDIR
(C++11)
Is a directory
(macro constant)ELOOP
(C++11)
Too many levels of symbolic links
(macro constant)EMFILE
(C++11)
File descriptor value too large
(macro constant)EMLINK
(C++11)
Too many links
(macro constant)EMSGSIZE
(C++11)
Message too large
(macro constant)ENAMETOOLONG
(C++11)
Filename too long
(macro constant)ENETDOWN
(C++11)
Network is down
(macro constant)ENETRESET
(C++11)
Connection aborted by network
(macro constant)ENETUNREACH
(C++11)
Network unreachable
(macro constant)ENFILE
(C++11)
Too many files open in system
(macro constant)ENOBUFS
(C++11)
No buffer space available
(macro constant)ENODATA
(C++11)(deprecated in C++23)
No message is available on the STREAM head read queue
(macro constant)ENODEV
(C++11)
No such device
(macro constant)ENOENT
(C++11)
No such file or directory
(macro constant)ENOEXEC
(C++11)
Executable file format error
(macro constant)ENOLCK
(C++11)
No locks available
(macro constant)ENOLINK
(C++11)
Link has been severed
(macro constant)ENOMEM
(C++11)
Not enough space
(macro constant)ENOMSG
(C++11)
No message of the desired type
(macro constant)ENOPROTOOPT
(C++11)
Protocol not available
(macro constant)ENOSPC
(C++11)
No space left on device
(macro constant)ENOSR
(C++11)(deprecated in C++23)
No STREAM resources
(macro constant)ENOSTR
(C++11)(deprecated in C++23)
Not a STREAM
(macro constant)ENOSYS
(C++11)
Function not supported
(macro constant)ENOTCONN
(C++11)
The socket is not connected
(macro constant)ENOTDIR
(C++11)
Not a directory
(macro constant)ENOTEMPTY
(C++11)
Directory not empty
(macro constant)ENOTRECOVERABLE
(C++11)
State not recoverable
(macro constant)ENOTSOCK
(C++11)
Not a socket
(macro constant)ENOTSUP
(C++11)
Not supported
(macro constant)ENOTTY
(C++11)
Inappropriate I/O control operation
(macro constant)ENXIO
(C++11)
No such device or address
(macro constant)EOPNOTSUPP
(C++11)
Operation not supported on socket
(macro constant)EOVERFLOW
(C++11)
Value too large to be stored in data type
(macro constant)EOWNERDEAD
(C++11)
Previous owner died
(macro constant)EPERM
(C++11)
Operation not permitted
(macro constant)EPIPE
(C++11)
Broken pipe
(macro constant)EPROTO
(C++11)
Protocol error
(macro constant)EPROTONOSUPPORT
(C++11)
Protocol not supported
(macro constant)EPROTOTYPE
(C++11)
Protocol wrong type for socket
(macro constant)ERANGE
Result too large
(macro constant)EROFS
(C++11)
Read-only file system
(macro constant)ESPIPE
(C++11)
Invalid seek
(macro constant)ESRCH
(C++11)
No such process
(macro constant)ETIME
(C++11)(deprecated in C++23)
Stream ioctl() timeout
(macro constant)ETIMEDOUT
(C++11)
Connection timed out
(macro constant)ETXTBSY
(C++11)
Text file busy
(macro constant)EWOULDBLOCK
(C++11)
Operation would block
(macro constant)EXDEV
(C++11)
Cross-device link
(macro constant)Notes
Although the header <cerrno> is based on the C standard library header
, the majority of the macros defined by <cerrno> were adopted by C++ from the POSIX standard, rather than the C standard library.
Synopsis
#define errno /* see description */#define E2BIG /* see description */// freestanding#define EACCES /* see description */// freestanding#define EADDRINUSE /* see description */// freestanding#define EADDRNOTAVAIL /* see description */// freestanding#define EAFNOSUPPORT /* see description */// freestanding#define EAGAIN /* see description */// freestanding#define EALREADY /* see description */// freestanding#define EBADF /* see description */// freestanding#define EBADMSG /* see description */// freestanding#define EBUSY /* see description */// freestanding#define ECANCELED /* see description */// freestanding#define ECHILD /* see description */// freestanding#define ECONNABORTED /* see description */// freestanding#define ECONNREFUSED /* see description */// freestanding#define ECONNRESET /* see description */// freestanding#define EDEADLK /* see description */// freestanding#define EDESTADDRREQ /* see description */// freestanding#define EDOM /* see description */// freestanding#define EEXIST /* see description */// freestanding#define EFAULT /* see description */// freestanding#define EFBIG /* see description */// freestanding#define EHOSTUNREACH /* see description */// freestanding#define EIDRM /* see description */// freestanding#define EILSEQ /* see description */// freestanding#define EINPROGRESS /* see description */// freestanding#define EINTR /* see description */// freestanding#define EINVAL /* see description */// freestanding#define EIO /* see description */// freestanding#define EISCONN /* see description */// freestanding#define EISDIR /* see description */// freestanding#define ELOOP /* see description */// freestanding#define EMFILE /* see description */// freestanding#define EMLINK /* see description */// freestanding#define EMSGSIZE /* see description */// freestanding#define ENAMETOOLONG /* see description */// freestanding#define ENETDOWN /* see description */// freestanding#define ENETRESET /* see description */// freestanding#define ENETUNREACH /* see description */// freestanding#define ENFILE /* see description */// freestanding#define ENOBUFS /* see description */// freestanding#define ENODEV /* see description */// freestanding#define ENOENT /* see description */// freestanding#define ENOEXEC /* see description */// freestanding#define ENOLCK /* see description */// freestanding#define ENOLINK /* see description */// freestanding#define ENOMEM /* see description */// freestanding#define ENOMSG /* see description */// freestanding#define ENOPROTOOPT /* see description */// freestanding#define ENOSPC /* see description */// freestanding#define ENOSYS /* see description */// freestanding#define ENOTCONN /* see description */// freestanding#define ENOTDIR /* see description */// freestanding#define ENOTEMPTY /* see description */// freestanding#define ENOTRECOVERABLE /* see description */// freestanding#define ENOTSOCK /* see description */// freestanding#define ENOTSUP /* see description */// freestanding#define ENOTTY /* see description */// freestanding#define ENXIO /* see description */// freestanding#define EOPNOTSUPP /* see description */// freestanding#define EOVERFLOW /* see description */// freestanding#define EOWNERDEAD /* see description */// freestanding#define EPERM /* see description */// freestanding#define EPIPE /* see description */// freestanding#define EPROTO /* see description */// freestanding#define EPROTONOSUPPORT /* see description */// freestanding#define EPROTOTYPE /* see description */// freestanding#define ERANGE /* see description */// freestanding#define EROFS /* see description */// freestanding#define ESPIPE /* see description */// freestanding#define ESRCH /* see description */// freestanding#define ETIMEDOUT /* see description */// freestanding#define ETXTBSY /* see description */// freestanding#define EWOULDBLOCK /* see description */// freestanding#define EXDEV /* see description */// freestandingDefect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR Applied to Behavior as published Correct behavior
C++98 the macro EILSEQ was not defined in <cerrno>defined See also