Standard library header <cerrno>
From cppreference.com
This header was originally in the C standard library as <errno.h> .
This header is part of the error handling 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
<errno.h>
, 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 */ // freestanding
Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 288 | C++98 |
the macro
EILSEQ
was not defined in
<cerrno>
|
defined |