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