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 |