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 |