C - <errno.h>
The C++ <errno.h> header defines macro variable errno plus at least three additional macro constants: EDOM, ERANGE and EILSEQ. Along with this, the majority of the macros defined by this header file were adopted by C11 available in POSIX environments.
These macros are available to use in a current program after including the header file using #include <errno.h>. All macros of this header file are listed below:
Library Macros
Macro variables
Macro | Description |
---|---|
errno | macro which expands to POSIX-compatible thread-local error number variable. |
Macro constants
Macros | Description |
---|---|
E2BIG | Argument list too long |
EACCES | Permission denied |
EADDRINUSE | Address in use |
EADDRNOTAVAIL | Address not available |
EAFNOSUPPORT | Address family not supported |
EAGAIN | Resource unavailable, try again |
EALREADY | Connection already in progress |
EBADF | Bad file descriptor |
EBADMSG | Bad message |
EBUSY | Device or resource busy |
ECANCELED | Operation canceled |
ECHILD | No child processes |
ECONNABORTED | Connection aborted |
ECONNREFUSED | Connection refused |
ECONNRESET | Connection reset |
EDEADLK | Resource deadlock would occur |
EDESTADDRREQ | Destination address required |
EDOM | Mathematics argument out of domain of function |
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 |
EINVAL | Invalid argument |
EIO | I/O error |
EISCONN | Socket is connected |
EISDIR | Is a directory |
ELOOP | Too many levels of symbolic links |
EMFILE | File descriptor value too large |
EMLINK | Too many links |
EMSGSIZE | Message too large |
ENAMETOOLONG | Filename too long |
ENETDOWN | Network is down |
ENETRESET | Connection aborted by network |
ENETUNREACH | Network unreachable |
ENFILE | Too many files open 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 | Executable file format error |
ENOLCK | No locks available |
ENOLINK | Link has been severed |
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 supported |
ENOTCONN | The socket is not connected |
ENOTDIR | Not a directory |
ENOTEMPTY | Directory not empty |
ENOTRECOVERABLE | State not recoverable |
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 |
EOWNERDEAD | Previous owner died |
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 |
ETIME | Stream ioctl() timeout |
ETIMEDOUT | Connection timed out |
ETXTBSY | Text file busy |
EWOULDBLOCK | Operation would block |
EXDEV | Cross-device link |