Popular Errno Codes by Platform
Popular Errno Codes by Platform
An identifier is defined for platforms that have a numeric value listed (even though there may not be an associated message shown). Column 2 is a score that indicates the fraction of platforms on which the identifier is found (1 meaning all).
SUSv3 | AIX 4.3,5.1 | HP-UX 11.22 | Solaris 9,10 | |||||
EPERM | 1 | 0 | Operation not permitted. | 1 | Operation not permitted | 1 | Not super-user | 1 |
ENOENT | 1 | 0 | No such file or directory. | 2 | No such file or directory | 2 | No such file or directory | 2 |
ESRCH | 1 | 0 | No such process. | 3 | No such process | 3 | No such process | 3 |
EINTR | 1 | 0 | Interrupted function. | 4 | interrupted system call | 4 | interrupted system call | 4 |
EIO | 1 | 0 | I/O error. | 5 | I/O error | 5 | I/O error | 5 |
ENXIO | 1 | 0 | No such device or address. | 6 | No such device or address | 6 | No such device or address | 6 |
E2BIG | 1 | 0 | Argument list too long. | 7 | Arg list too long | 7 | Arg list too long | 7 |
ENOEXEC | 1 | 0 | Executable file format error. | 8 | Exec format error | 8 | Exec format error | 8 |
EBADF | 1 | 0 | Bad file descriptor. | 9 | Bad file descriptor | 9 | Bad file number | 9 |
ECHILD | 1 | 0 | No child processes. | 10 | No child processes | 10 | No children | 10 |
EAGAIN | 1 | 0 | Resource unavailable, try again [3] | 11 | Resource temporarily unavailable | 11 | No more processes | 11 |
ENOMEM | 1 | 0 | Not enough space. | 12 | Not enough space | 12 | Not enough core | 12 |
EACCES | 1 | 0 | Permission denied. | 13 | Permission denied | 13 | Permission denied | 13 |
EFAULT | 1 | 0 | Bad address. | 14 | Bad address | 14 | Bad address | 14 |
ENOTBLK | 0.9 | 15 | Block device required | 15 | Block device required | 15 | ||
EBUSY | 1 | 0 | Device or resource busy. | 16 | Resource busy | 16 | Mount device busy | 16 |
EEXIST | 1 | 0 | File exists. | 17 | File exists | 17 | File exists | 17 |
EXDEV | 1 | 0 | Cross-device link. | 18 | Improper link | 18 | Cross-device link | 18 |
ENODEV | 1 | 0 | No such device. | 19 | No such device | 19 | No such device | 19 |
ENOTDIR | 1 | 0 | Not a directory. | 20 | Not a directory | 20 | Not a directory | 20 |
EISDIR | 1 | 0 | Is a directory. | 21 | Is a directory | 21 | Is a directory | 21 |
EINVAL | 1 | 0 | Invalid argument. | 22 | Invalid argument | 22 | Invalid argument | 22 |
ENFILE | 1 | 0 | Too many files open in system. | 23 | Too many open files in system | 23 | File table overflow | 23 |
EMFILE | 1 | 0 | Too many open files. | 24 | Too many open files | 24 | Too many open files | 24 |
ENOTTY | 1 | 0 | Inappropriate I/O control operation. | 25 | Inappropriate I/O control operation | 25 | Not a typewriter | 25 |
ETXTBSY | 1 | 0 | Text file busy. | 26 | Text file busy | 26 | Text file busy | 26 |
EFBIG | 1 | 0 | File too large. | 27 | File too large | 27 | File too large | 27 |
ENOSPC | 1 | 0 | No space left on device. | 28 | No space left on device | 28 | No space left on device | 28 |
ESPIPE | 1 | 0 | Invalid seek. | 29 | Invalid seek | 29 | Illegal seek | 29 |
EROFS | 1 | 0 | Read-only file system. | 30 | Read only file system | 30 | Read only file system | 30 |
EMLINK | 1 | 0 | Too many links. | 31 | Too many links | 31 | Too many links | 31 |
EPIPE | 1 | 0 | Broken pipe. | 32 | Broken pipe | 32 | Broken pipe | 32 |
EDOM | 0.9 | 0 | Mathematics argument out of domain of function. | 33 | Domain error within math function | 33 | ||
ERANGE | 0.9 | 0 | Result too large. | 34 | Result too large | 34 | ||
ENOMSG | 0.9 | 0 | No message of the desired type. | 35 | No message of desired type | 35 | No message of desired type | 35 |
EIDRM | 0.9 | 0 | Identifier removed. | 36 | Identifier removed | 36 | Identifier removed | 36 |
EDEADLK | 1 | 0 | Resource deadlock would occur. | 45 | Resource deadlock avoided | 45 | A deadlock would occur | 45 |
ENOLCK | 1 | 0 | No locks available. | 49 | No locks available | 46 | System record lock table was full | 46 |
ESTALE | 0.9 | 0 | Reserved. | 52 | no filesystem | 70 | Stale NFS file handle | 151 |
EINPROGRESS | 0.9 | 0 | Operation in progress. | 55 | Operation now in progress | 245 | Operation now in progress | 150 |
EALREADY | 0.9 | 0 | Connection already in progress. | 56 | Operation already in progress | 244 | Operation already in progress | 149 |
ENOTSOCK | 0.9 | 0 | Not a socket. | 57 | Socket operation on non-socket | 216 | Socket operation on non-socket | 95 |
EDESTADDRREQ | 0.9 | 0 | Destination address required. | 58 | Destination address required | 217 | Destination address required | 96 |
EMSGSIZE | 0.9 | 0 | Message too large. | 59 | Message too long | 218 | Message too long | 97 |
EPROTOTYPE | 0.9 | 0 | Protocol wrong type for socket. | 60 | Protocol wrong type for socket | 219 | Protocol wrong type for socket | 98 |
ENOPROTOOPT | 0.9 | 0 | Protocol not available. | 61 | Protocol not available | 220 | Protocol not available | 99 |
EPROTONOSUPPORT | 0.9 | 0 | Protocol not supported. | 62 | Protocol not supported | 221 | Protocol not supported | 120 |
EOPNOTSUPP | 0.9 | 0 | Operation not supported on socket. | 64 | Operation not supported on socket | 223 | Operation not supported | 122 |
EAFNOSUPPORT | 0.9 | 0 | Address family not supported. | 66 | Address family not supported by protocol family | 225 | Address family not supported by protocol family | 124 |
EADDRINUSE | 0.9 | 0 | Address in use. | 67 | Address already in use | 226 | Address already in use | 125 |
EADDRNOTAVAIL | 0.9 | 0 | Address not available. | 68 | Can't assign requested address | 227 | Can't assign requested address | 126 |
ENETDOWN | 0.9 | 0 | Network is down. | 69 | Network is down | 228 | Network is down | 127 |
ENETUNREACH | 0.9 | 0 | Network unreachable. | 70 | Network is unreachable | 229 | Network is unreachable | 128 |
ENETRESET | 0.9 | 0 | Connection aborted by network. | 71 | Network dropped connection on reset | 230 | Network dropped connection on reset | 129 |
ECONNABORTED | 0.9 | 0 | Connection aborted. | 72 | Software caused connection abort | 231 | Software caused connection abort | 130 |
ECONNRESET | 0.9 | 0 | Connection reset. | 73 | Connection reset by peer | 232 | Connection reset by peer | 131 |
ENOBUFS | 0.9 | 0 | No buffer space available. | 74 | No buffer space available | 233 | No buffer space available | 132 |
EISCONN | 0.9 | 0 | Socket is connected. | 75 | Socket is already connected | 234 | Socket is already connected | 133 |
ENOTCONN | 0.9 | 0 | The socket is not connected. | 76 | Socket is not connected | 235 | Socket is not connected | 134 |
ETIMEDOUT | 0.9 | 0 | Connection timed out. | 78 | Connection timed out | 238 | Connection timed out | 145 |
ECONNREFUSED | 0.9 | 0 | Connection refused. | 79 | Connection refused | 239 | Connection refused | 146 |
EHOSTUNREACH | 0.9 | 0 | Host is unreachable. | 81 | No route to host | 242 | No route to host | 148 |
ELOOP | 0.9 | 0 | Too many levels of symbolic links. | 85 | Too many levels of symbolic links | 249 | Too many levels of symbolic links | 90 |
ENAMETOOLONG | 1 | 0 | Filename too long. | 86 | File name too long | 248 | File name too long | 78 |
ENOTEMPTY | 1 | 0 | Directory not empty. | 87 | Directory not empty [1] | 247 | Directory not empty | 93 |
ENOSYS | 1 | 0 | Function not supported. | 109 | Function not implemented POSIX | 251 | Function not implemented | 89 |
EILSEQ | 1 | 0 | Illegal byte sequence. | 116 | Invalid wide character | 47 | Illegal byte sequence | 88 |
EOVERFLOW | 0.9 | 0 | Value too large to be stored in data type. | 127 | value too large to be stored in data type | 72 | Value too large to be stored in data type | 79 |
Linux 2.4.28,2.6.9 | IRIX 6.5[4] | OSF1 | FreeBSD 5.2.1 | |||||
EPERM | Not super-user | 1 | Operation not permitted | 1 | Operation not permitted | 1 | Not owner | 1 |
ENOENT | No such file or directory | 2 | No such file or directory | 2 | No such file or directory | 2 | No such file or directory | 2 |
ESRCH | No such process | 3 | No such process | 3 | No such process | 3 | No such process | 3 |
EINTR | interrupted system call | 4 | Interrupted system call | 4 | Interrupted function call | 4 | Interrupted system call | 4 |
EIO | I/O error | 5 | I/O error | 5 | I/O error | 5 | I/O error | 5 |
ENXIO | No such device or address | 6 | No such device or address | 6 | No such device or address | 6 | No such device or address | 6 |
E2BIG | Arg list too long | 7 | Arg list too long | 7 | Arg list too long | 7 | Arg list too long | 7 |
ENOEXEC | Exec format error | 8 | Exec format error | 8 | Exec format error | 8 | Exec format error | 8 |
EBADF | Bad file number | 9 | Bad file number | 9 | Bad file number | 9 | Bad file number | 9 |
ECHILD | No children | 10 | No child processes | 10 | No child processes | 10 | No children | 10 |
EAGAIN | Resource temporarily unavailable | 11 | Try again | 11 | Resource temporarily unavailable | 11 | ditto | 35 |
ENOMEM | Not enough core | 12 | Out of memory | 12 | Not enough space | 12 | Not enough core | 12 |
EACCES | Permission denied | 13 | Permission denied | 13 | Permission denied | 13 | Permission denied | 13 |
EFAULT | Bad address | 14 | Bad address | 14 | Bad address | 14 | Bad address | 14 |
ENOTBLK | Block device required | 15 | Block device required | 15 | Block device required | 15 | Block device required | 15 |
EBUSY | Mount device busy | 16 | Device or resource busy | 16 | Resource busy | 16 | Mount device busy | 16 |
EEXIST | File exists | 17 | File exists | 17 | File exists | 17 | File exists | 17 |
EXDEV | Cross-device link | 18 | Cross-device link | 18 | Improper link | 18 | Cross-device link | 18 |
ENODEV | No such device | 19 | No such device | 19 | No such device | 19 | No such device | 19 |
ENOTDIR | Not a directory | 20 | Not a directory | 20 | Not a directory | 20 | Not a directory | 20 |
EISDIR | Is a directory | 21 | Is a directory | 21 | Is a directory | 21 | Is a directory | 21 |
EINVAL | Invalid argument | 22 | Invalid argument | 22 | Invalid argument | 22 | Invalid argument | 22 |
ENFILE | File table overflow | 23 | File table overflow | 23 | File table overflow | 23 | File table overflow | 23 |
EMFILE | Too many open files | 24 | Too many open files | 24 | Too many open files | 24 | Too many open files | 24 |
ENOTTY | Inappropriate ioctl for device | 25 | Not a typewriter | 25 | Inappropriate I/O control operation | 25 | Not a typewriter | 25 |
ETXTBSY | Text file busy | 26 | Text file busy | 26 | Text file busy | 26 | Text file busy | 26 |
EFBIG | File too large | 27 | File too large | 27 | File too large | 27 | File too large | 27 |
ENOSPC | No space left on device | 28 | No space left on device | 28 | No space left on device | 28 | No space left on device | 28 |
ESPIPE | Illegal seek | 29 | Illegal seek | 29 | Illegal seek | 29 | Illegal seek | 29 |
EROFS | Read only file system | 30 | Read-only file system | 30 | Read only file system | 30 | Read-only file system | 30 |
EMLINK | Too many links | 31 | Too many links | 31 | Too many links | 31 | Too many links | 31 |
EPIPE | Broken pipe | 32 | Broken pipe | 32 | Broken pipe | 32 | Broken pipe | 32 |
EDOM | Math arg out of domain of func | 33 | Math argument out of domain of func | 33 | Domain error | 33 | Argument too large | 33 |
ERANGE | Math result not representable | 34 | Math result not representable | 34 | Result too large | 34 | Result too large | 34 |
ENOMSG | No message of desired type | 42 | No message of desired type | 35 | No message of desired type | 80 | No msg matches receive request | 83 |
EIDRM | Identifier removed | 43 | Identifier removed | 36 | Identifier removed | 81 | Msg queue id has been removed | 82 |
EDEADLK | Deadlock condition. | 35 | Resource deadlock would occur | 45 | Resource deadlock avoided | 11 | Operation would cause deadlock | 11 |
ENOLCK | No record locks available. | 37 | No record locks available | 46 | No locks available | 77 | No locks available | 77 |
ESTALE | Stale NFS file handle | 116 | Stale NFS file handle | 151 | Stale NFS file handle | 70 | Stale NFS file handle | 70 |
EINPROGRESS | operation now in progress | 115 | Operation now in progress | 150 | operation now in progress | 36 | Operation now in progress | 36 |
EALREADY | operation already in progress | 114 | Operation already in progress | 149 | operation already in progress | 37 | Operation already in progress | 37 |
ENOTSOCK | Socket operation on non-socket | 88 | Socket operation on non-socket | 95 | Socket operation on non-socket | 38 | Socket operation on non-socket | 38 |
EDESTADDRREQ | Destination address required | 89 | Destination address required | 96 | Destination address required | 39 | Destination address required | 39 |
EMSGSIZE | Message too long | 90 | Message too long | 97 | Inappropriate message buffer length | 40 | Message too long | 40 |
EPROTOTYPE | Protocol wrong type for socket | 91 | Protocol wrong type for socket | 98 | Protocol wrong type for socket | 41 | Protocol wrong type for socket | 41 |
ENOPROTOOPT | Protocol not available | 92 | Protocol not available | 99 | Protocol not available | 42 | Protocol not available | 42 |
EPROTONOSUPPORT | Protocol not supported | 93 | Protocol not supported | 120 | Protocol not supported | 43 | Protocol not supported | 43 |
EOPNOTSUPP | Operation not supported on socket | 95 | Operation not supported on transport endpoint | 122 | Operation not supported on socket | 45 | Operation not supported on socket | 45 |
EAFNOSUPPORT | Address family not supported by | 97 | Address family not supported by protocol | 124 | Address family not supported by | 47 | Address family not supported by protocol family | 47 |
EADDRINUSE | Address already in use | 98 | Address already in use | 125 | Address already in use | 48 | Address already in use | 48 |
EADDRNOTAVAIL | Can't assign requested address | 99 | Cannot assign requested address | 126 | Can't assign requested address | 49 | Can't assign requested address | 49 |
ENETDOWN | Network is down | 100 | Network is down | 127 | Network is down | 50 | Network is down | 50 |
ENETUNREACH | Network is unreachable | 101 | Network is unreachable | 128 | Network is unreachable | 51 | Network is unreachable | 51 |
ENETRESET | Network dropped connection because | 102 | Network dropped connection because of reset | 129 | Network dropped connection because | 52 | Network dropped connection on reset | 52 |
ECONNABORTED | Software caused connection abort | 103 | Software caused connection abort | 130 | Software caused connection abort | 53 | Software caused connection abort | 53 |
ECONNRESET | Connection reset by peer | 104 | Connection reset by peer | 131 | Connection reset by peer | 54 | Connection reset by peer | 54 |
ENOBUFS | No buffer space available | 105 | No buffer space available | 132 | No buffer space available | 55 | No buffer space available | 55 |
EISCONN | Socket is already connected | 106 | Transport endpoint is already connected | 133 | Socket is already connected | 56 | Socket is already connected | 56 |
ENOTCONN | Socket is not connected | 107 | Transport endpoint is not connected | 134 | Socket is not connected | 57 | Socket is not connected | 57 |
ETIMEDOUT | Connection timed out | 110 | Connection timed out | 145 | Connection timed out | 60 | Connection timed out | 60 |
ECONNREFUSED | Connection refused | 111 | Connection refused | 146 | Connection refused | 61 | Connection refused | 61 |
EHOSTUNREACH | No route to host | 113 | No route to host | 148 | No route to host | 65 | No route to host | 65 |
ELOOP | Symbolic link loop | 40 | Too many symbolic links encountered | 90 | Symbolic link loop | 62 | Too many levels of symbolic links | 62 |
ENAMETOOLONG | path name is too long | 36 | File name too long | 78 | Filename too long | 63 | File name too long | 63 |
ENOTEMPTY | directory not empty | 39 | Directory not empty | 93 | Directory not empty | 66 | Directory not empty | 66 |
ENOSYS | Unsupported file system operation | 38 | Function not implemented | 89 | Function not implemented | 78 | Function not implemented | 78 |
EILSEQ | Illegal byte sequence. | 84 | Illegal byte sequence | 88 | Illegal byte sequence. | 116 | Invalid wide character | 86 |
EOVERFLOW | value too large to be stored in data type | 75 | Value too large for defined data type | 79 | value too large to be stored in data type | 103 | Value too large to be stored in data type [5] | 84 |
OSX 10.3.8 | MSVC6 | |||||||
EPERM | Operation not permitted | 1 | Operation not permitted | 1 | Operation not permitted | |||
ENOENT | No such file or directory | 2 | No such file or directory | 2 | No such file or directory | |||
ESRCH | No such process | 3 | No such process | 3 | No such process | |||
EINTR | Interrupted system call | 4 | Interrupted system call | 4 | Interrupted function call | |||
EIO | Input/output error | 5 | Input/output error | 5 | Input/output error | |||
ENXIO | Device not configured | 6 | Device not configured | 6 | No such device or address | |||
E2BIG | Argument list too long | 7 | Argument list too long | 7 | Arg list too long | |||
ENOEXEC | Exec format error | 8 | Exec format error | 8 | Exec format error | |||
EBADF | Bad file descriptor | 9 | Bad file descriptor | 9 | Bad file descriptor | |||
ECHILD | No child processes | 10 | No child processes | 10 | No child processes | |||
EAGAIN | Resource temporarily unavailable | 35 | Resource temporarily unavailable | 11 | Resource temporarily unavailable | |||
ENOMEM | Cannot allocate memory | 12 | Cannot allocate memory | 12 | Not enough space | |||
EACCES | Permission denied | 13 | Permission denied | 13 | Permission denied | |||
EFAULT | Bad address | 14 | Bad address | 14 | Bad address | |||
ENOTBLK | Block device required | 15 | Block device required | 15 | Unknown error | |||
EBUSY | Device busy | 16 | Device busy | 16 | Resource device | |||
EEXIST | File exists | 17 | File exists | 17 | File exists | |||
EXDEV | Cross-device link | 18 | Cross-device link | 18 | Improper link | |||
ENODEV | Operation not supported by device | 19 | Operation not supported by device | 19 | No such device | |||
ENOTDIR | Not a directory | 20 | Not a directory | 20 | Not a directory | |||
EISDIR | Is a directory | 21 | Is a directory | 21 | Is a directory | |||
EINVAL | Invalid argument | 22 | Invalid argument | 22 | Invalid argument | |||
ENFILE | Too many open files in system | 23 | Too many open files in system | 23 | Too many open files in system | |||
EMFILE | Too many open files | 24 | Too many open files | 24 | Too many open files | |||
ENOTTY | Inappropriate ioctl for device | 25 | Inappropriate ioctl for device | 25 | Inappropriate I/O control operation | |||
ETXTBSY | Text file busy | 26 | Text file busy | 26 | Unknown error | |||
EFBIG | File too large | 27 | File too large | 27 | File too large | |||
ENOSPC | No space left on device | 28 | No space left on device | 28 | No space left on device | |||
ESPIPE | Illegal seek | 29 | Illegal seek | 29 | Invalid seek | |||
EROFS | Read-only filesystem | 30 | Read-only file system | 30 | Read-only file system | |||
EMLINK | Too many links | 31 | Too many links | 31 | Too many links | |||
EPIPE | Broken pipe | 32 | Broken pipe | 32 | Broken pipe | |||
EDOM | Numerical argument out of domain | 33 | Numerical argument out of domain | 33 | Domain error | |||
ERANGE | Result too large | 34 | Result too large | 34 | Result too large | |||
ENOMSG | No message of desired type | 91 | No message of desired type | |||||
EIDRM | Identifier removed | 90 | Identifier removed | |||||
EDEADLK | Resource deadlock avoided [5] | 11 | Resource deadlock avoided | 36 | Resource deadlock avoided | |||
ENOLCK | No locks available | 77 | No locks available | 39 | No locks available | |||
ESTALE | Stale NFS file handle | 70 | Stale NFS file handle | |||||
EINPROGRESS | Operation now in progress | 36 | Operation now in progress | |||||
EALREADY | Operation already in progress | 37 | Operation already in progress | |||||
ENOTSOCK | Socket operation on non-socket | 38 | Socket operation on non-socket | |||||
EDESTADDRREQ | Destination address required | 39 | Destination address required | |||||
EMSGSIZE | Message too long | 40 | Message too long | |||||
EPROTOTYPE | Protocol wrong type for socket | 41 | Protocol wrong type for socket | |||||
ENOPROTOOPT | Protocol not available | 42 | Protocol not available | |||||
EPROTONOSUPPORT | Protocol not supported | 43 | Protocol not supported | |||||
EOPNOTSUPP | Operation not supported | 45 | Operation not supported | |||||
EAFNOSUPPORT | Address family not supported by protocol family | 47 | Address family not supported by protocol family | |||||
EADDRINUSE | Address already in use | 48 | Address already in use | |||||
EADDRNOTAVAIL | Can't assign requested address | 49 | Can't assign requested address | |||||
ENETDOWN | Network is down | 50 | Network is down | |||||
ENETUNREACH | Network is unreachable | 51 | Network is unreachable | |||||
ENETRESET | Network dropped connection on reset | 52 | Network dropped connection on reset | |||||
ECONNABORTED | Software caused connection abort | 53 | Software caused connection abort | |||||
ECONNRESET | Connection reset by peer | 54 | Connection reset by peer | |||||
ENOBUFS | No buffer space available | 55 | No buffer space available | |||||
EISCONN | Socket is already connected | 56 | Socket is already connected | |||||
ENOTCONN | Socket is not connected | 57 | Socket is not connected | |||||
ETIMEDOUT | Operation timed out | 60 | Operation timed out | |||||
ECONNREFUSED | Connection refused | 61 | Connection refused | |||||
EHOSTUNREACH | No route to host | 65 | No route to host | |||||
ELOOP | Too many levels of symbolic links | 62 | Too many levels of symbolic links | |||||
ENAMETOOLONG | File name too long | 63 | File name too long | 38 | Filename too long | |||
ENOTEMPTY | Directory not empty | 66 | Directory not empty | 41 | Directory not empty | |||
ENOSYS | Function not implemented | 78 | Function not implemented | 40 | Function not implemented | |||
EILSEQ | Illegal byte sequence | 92 | Illegal byte sequence | 42 | Illegal byte sequence | |||
EOVERFLOW | Value too large to be stored in data type | 84 | Value too large to be stored in data type |
[2] AIX EWOULDBLOCK is 11 "Operation would block" if _XOPEN_SOURCE_EXTENDED is 1 meaning SUS UNIX95
[3] SUSv3 states EAGAIN "Resource unavailable, try again" may be the same value as EWOULDBLOCK and indeed many of the platforms listed here have the same value.
[4] IRIX error codes > 256 omitted
[5] FreeBSD EDEADLK 11 "Resource deadlock avoided" used to be EAGAIN
[6] Linux does not have ECANCELED so it is defined to the invlid code 125
[*] HP-UX must define EDOM and ERANGE somewhere as they are ANSI C. I have to investigate why they weren't defined in the main errno header
Michael B Allen <mba2000 ioplex com>
Copyright (c) Sat Feb 26 15:02:33 EST 2005