This header was originally in the C standard library as <errno.h>
.
This header is part of the error handling library.
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) |
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.
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 |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/header/cerrno