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). See also the Popular Errno Codes by Platform page which displays only errno identifiers that are found on all systems (excluding MS Windows).

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
EPERM10Operation not permitted.1Operation not permitted1Not super-user1Not super-user1Operation not permitted1Operation not permitted1Not owner1Operation not permitted1Operation not permitted1Operation not permitted
ENOENT10No such file or directory.2No such file or directory2No such file or directory2No such file or directory2No such file or directory2No such file or directory2No such file or directory2No such file or directory2No such file or directory2No such file or directory
ESRCH10No such process.3No such process3No such process3No such process3No such process3No such process3No such process3No such process3No such process3No such process
EINTR10Interrupted function.4interrupted system call4interrupted system call4interrupted system call4Interrupted system call4Interrupted function call4Interrupted system call4Interrupted system call4Interrupted system call4Interrupted function call
EIO10I/O error.5I/O error5I/O error5I/O error5I/O error5I/O error5I/O error5Input/output error5Input/output error5Input/output error
ENXIO10No such device or address.6No such device or address6No such device or address6No such device or address6No such device or address6No such device or address6No such device or address6Device not configured6Device not configured6No such device or address
E2BIG10Argument list too long.7Arg list too long7Arg list too long7Arg list too long7Arg list too long7Arg list too long7Arg list too long7Argument list too long7Argument list too long7Arg list too long
ENOEXEC10Executable file format error.8Exec format error8Exec format error8Exec format error8Exec format error8Exec format error8Exec format error8Exec format error8Exec format error8Exec format error
EBADF10Bad file descriptor.9Bad file descriptor9Bad file number9Bad file number9Bad file number9Bad file number9Bad file number9Bad file descriptor9Bad file descriptor9Bad file descriptor
ECHILD10No child processes.10No child processes10No children10No children10No child processes10No child processes10No children10No child processes10No child processes10No child processes
EAGAIN10Resource unavailable, try again [3]11Resource temporarily unavailable11No more processes11Resource temporarily unavailable11Try again11Resource temporarily unavailable11ditto35Resource temporarily unavailable35Resource temporarily unavailable11Resource temporarily unavailable
ENOMEM10Not enough space.12Not enough space12Not enough core12Not enough core12Out of memory12Not enough space12Not enough core12Cannot allocate memory12Cannot allocate memory12Not enough space
EACCES10Permission denied.13Permission denied13Permission denied13Permission denied13Permission denied13Permission denied13Permission denied13Permission denied13Permission denied13Permission denied
EFAULT10Bad address.14Bad address14Bad address14Bad address14Bad address14Bad address14Bad address14Bad address14Bad address14Bad address
ENOTBLK0.915Block device required15Block device required15Block device required15Block device required15Block device required15Block device required15Block device required15Block device required15Unknown error
EBUSY10Device or resource busy.16Resource busy16Mount device busy16Mount device busy16Device or resource busy16Resource busy16Mount device busy16Device busy16Device busy16Resource device
EEXIST10File exists.17File exists17File exists17File exists17File exists17File exists17File exists17File exists17File exists17File exists
EXDEV10Cross-device link.18Improper link18Cross-device link18Cross-device link18Cross-device link18Improper link18Cross-device link18Cross-device link18Cross-device link18Improper link
ENODEV10No such device.19No such device19No such device19No such device19No such device19No such device19No such device19Operation not supported by device19Operation not supported by device19No such device
ENOTDIR10Not a directory.20Not a directory20Not a directory20Not a directory20Not a directory20Not a directory20Not a directory20Not a directory20Not a directory20Not a directory
EISDIR10Is a directory.21Is a directory21Is a directory21Is a directory21Is a directory21Is a directory21Is a directory21Is a directory21Is a directory21Is a directory
EINVAL10Invalid argument.22Invalid argument22Invalid argument22Invalid argument22Invalid argument22Invalid argument22Invalid argument22Invalid argument22Invalid argument22Invalid argument
ENFILE10Too many files open in system.23Too many open files in system23File table overflow23File table overflow23File table overflow23File table overflow23File table overflow23Too many open files in system23Too many open files in system23Too many open files in system
EMFILE10Too many open files.24Too many open files24Too many open files24Too many open files24Too many open files24Too many open files24Too many open files24Too many open files24Too many open files24Too many open files
ENOTTY10Inappropriate I/O control operation.25Inappropriate I/O control operation25Not a typewriter25Inappropriate ioctl for device25Not a typewriter25Inappropriate I/O control operation25Not a typewriter25Inappropriate ioctl for device25Inappropriate ioctl for device25Inappropriate I/O control operation
ETXTBSY10Text file busy.26Text file busy26Text file busy26Text file busy26Text file busy26Text file busy26Text file busy26Text file busy26Text file busy26Unknown error
EFBIG10File too large.27File too large27File too large27File too large27File too large27File too large27File too large27File too large27File too large27File too large
ENOSPC10No space left on device.28No space left on device28No space left on device28No space left on device28No space left on device28No space left on device28No space left on device28No space left on device28No space left on device28No space left on device
ESPIPE10Invalid seek.29Invalid seek29Illegal seek29Illegal seek29Illegal seek29Illegal seek29Illegal seek29Illegal seek29Illegal seek29Invalid seek
EROFS10Read-only file system.30Read only file system30Read only file system30Read only file system30Read-only file system30Read only file system30Read-only file system30Read-only filesystem30Read-only file system30Read-only file system
EMLINK10Too many links.31Too many links31Too many links31Too many links31Too many links31Too many links31Too many links31Too many links31Too many links31Too many links
EPIPE10Broken pipe.32Broken pipe32Broken pipe32Broken pipe32Broken pipe32Broken pipe32Broken pipe32Broken pipe32Broken pipe32Broken pipe
EDOM0.90Mathematics argument out of domain of function.33Domain error within math function33Math arg out of domain of func33Math argument out of domain of func33Domain error33Argument too large33Numerical argument out of domain33Numerical argument out of domain33Domain error
ERANGE0.90Result too large.34Result too large34Math result not representable34Math result not representable34Result too large34Result too large34Result too large34Result too large34Result too large
ENOMSG0.90No message of the desired type.35No message of desired type35No message of desired type35No message of desired type42No message of desired type35No message of desired type80No msg matches receive request83No message of desired type91No message of desired type
EIDRM0.90Identifier removed.36Identifier removed36Identifier removed36Identifier removed43Identifier removed36Identifier removed81Msg queue id has been removed82Identifier removed90Identifier removed
ECHRNG0.537Channel number out of range37Channel number out of range37Channel number out of range44Channel number out of range37Channel number out of range
EL2NSYNC0.538Level 2 not synchronized38Level 2 not synchronized38Level 2 not synchronized45Level 2 not synchronized38Level 2 not synchronized
EL3HLT0.539Level 3 halted39Level 3 halted39Level 3 halted46Level 3 halted39Level 3 halted
EL3RST0.540Level 3 reset40Level 3 reset40Level 3 reset47Level 3 reset40Level 3 reset
ELNRNG0.541Link number out of range41Link number out of range41Link number out of range48Link number out of range41Link number out of range
EUNATCH0.542Protocol driver not attached42Protocol driver not attached42Protocol driver not attached49Protocol driver not attached42Protocol driver not attached
ENOCSI0.543No CSI structure available43No CSI structure available43No CSI structure available50No CSI structure available43No CSI structure available
EL2HLT0.544Level 2 halted44Level 2 halted44Level 2 halted51Level 2 halted44Level 2 halted
EDEADLK10Resource deadlock would occur.45Resource deadlock avoided45A deadlock would occur45Deadlock condition.35Resource deadlock would occur45Resource deadlock avoided11Operation would cause deadlock11Resource deadlock avoided [5]11Resource deadlock avoided36Resource deadlock avoided
ENOTREADY0.146Device not ready
EWRPROTECT0.147Write-protected media
EFORMAT0.148Unformatted media
ENOLCK10No locks available.49No locks available46System record lock table was full46No record locks available.37No record locks available46No locks available77No locks available77No locks available77No locks available39No locks available
ENOCONNECT0.150no connection
ESTALE0.90Reserved.52no filesystem70Stale NFS file handle151Stale NFS file handle116Stale NFS file handle151Stale NFS file handle70Stale NFS file handle70Stale NFS file handle70Stale NFS file handle
EDIST0.153old, currently unused AIX errno
EWOULDBLOCK0.90Operation would block [3]54Operation would block [2]246Operation would block1111Operation would block11Resource temporarily unavailable35Operation would block35Operation would block35Operation would block
EINPROGRESS0.90Operation in progress.55Operation now in progress245Operation now in progress150operation now in progress115Operation now in progress150operation now in progress36Operation now in progress36Operation now in progress36Operation now in progress
EALREADY0.90Connection already in progress.56Operation already in progress244Operation already in progress149operation already in progress114Operation already in progress149operation already in progress37Operation already in progress37Operation already in progress37Operation already in progress
ENOTSOCK0.90Not a socket.57Socket operation on non-socket216Socket operation on non-socket95Socket operation on non-socket88Socket operation on non-socket95Socket operation on non-socket38Socket operation on non-socket38Socket operation on non-socket38Socket operation on non-socket
EDESTADDRREQ0.90Destination address required.58Destination address required217Destination address required96Destination address required89Destination address required96Destination address required39Destination address required39Destination address required39Destination address required
EDESTADDREQ0.158Destination address required
EMSGSIZE0.90Message too large.59Message too long218Message too long97Message too long90Message too long97Inappropriate message buffer length40Message too long40Message too long40Message too long
EPROTOTYPE0.90Protocol wrong type for socket.60Protocol wrong type for socket219Protocol wrong type for socket98Protocol wrong type for socket91Protocol wrong type for socket98Protocol wrong type for socket41Protocol wrong type for socket41Protocol wrong type for socket41Protocol wrong type for socket
ENOPROTOOPT0.90Protocol not available.61Protocol not available220Protocol not available99Protocol not available92Protocol not available99Protocol not available42Protocol not available42Protocol not available42Protocol not available
EPROTONOSUPPORT0.90Protocol not supported.62Protocol not supported221Protocol not supported120Protocol not supported93Protocol not supported120Protocol not supported43Protocol not supported43Protocol not supported43Protocol not supported
ESOCKTNOSUPPORT0.863Socket type not supported222Socket type not supported121Socket type not supported94Socket type not supported121Socket type not supported44Socket type not supported44Socket type not supported44Socket type not supported
EOPNOTSUPP0.90Operation not supported on socket.64Operation not supported on socket223Operation not supported122Operation not supported on socket95Operation not supported on transport endpoint122Operation not supported on socket45Operation not supported on socket45Operation not supported45Operation not supported
EPFNOSUPPORT0.865Protocol family not supported224Protocol family not supported123Protocol family not supported96Protocol family not supported123Protocol family not supported46Protocol family not supported46Protocol family not supported46Protocol family not supported
EAFNOSUPPORT0.90Address family not supported.66Address family not supported by protocol family225Address family not supported by protocol family124Address family not supported by97Address family not supported by protocol124Address family not supported by47Address family not supported by protocol family47Address family not supported by protocol family47Address family not supported by protocol family
EADDRINUSE0.90Address in use.67Address already in use226Address already in use125Address already in use98Address already in use125Address already in use48Address already in use48Address already in use48Address already in use
EADDRNOTAVAIL0.90Address not available.68Can't assign requested address227Can't assign requested address126Can't assign requested address99Cannot assign requested address126Can't assign requested address49Can't assign requested address49Can't assign requested address49Can't assign requested address
ENETDOWN0.90Network is down.69Network is down228Network is down127Network is down100Network is down127Network is down50Network is down50Network is down50Network is down
ENETUNREACH0.90Network unreachable.70Network is unreachable229Network is unreachable128Network is unreachable101Network is unreachable128Network is unreachable51Network is unreachable51Network is unreachable51Network is unreachable
ENETRESET0.90Connection aborted by network.71Network dropped connection on reset230Network dropped connection on reset129Network dropped connection because102Network dropped connection because of reset129Network dropped connection because52Network dropped connection on reset52Network dropped connection on reset52Network dropped connection on reset
ECONNABORTED0.90Connection aborted.72Software caused connection abort231Software caused connection abort130Software caused connection abort103Software caused connection abort130Software caused connection abort53Software caused connection abort53Software caused connection abort53Software caused connection abort
ECONNRESET0.90Connection reset.73Connection reset by peer232Connection reset by peer131Connection reset by peer104Connection reset by peer131Connection reset by peer54Connection reset by peer54Connection reset by peer54Connection reset by peer
ENOBUFS0.90No buffer space available.74No buffer space available233No buffer space available132No buffer space available105No buffer space available132No buffer space available55No buffer space available55No buffer space available55No buffer space available
EISCONN0.90Socket is connected.75Socket is already connected234Socket is already connected133Socket is already connected106Transport endpoint is already connected133Socket is already connected56Socket is already connected56Socket is already connected56Socket is already connected
ENOTCONN0.90The socket is not connected.76Socket is not connected235Socket is not connected134Socket is not connected107Transport endpoint is not connected134Socket is not connected57Socket is not connected57Socket is not connected57Socket is not connected
ESHUTDOWN0.877Can't send after socket shutdown236Can't send after socket shutdown143Can't send after socket shutdown108Cannot send after transport endpoint shutdown143Can't send after socket shutdown58Can't send after socket shutdown58Can't send after socket shutdown58Can't send after socket shutdown
ETIMEDOUT0.90Connection timed out.78Connection timed out238Connection timed out145Connection timed out110Connection timed out145Connection timed out60Connection timed out60Operation timed out60Operation timed out
ECONNREFUSED0.90Connection refused.79Connection refused239Connection refused146Connection refused111Connection refused146Connection refused61Connection refused61Connection refused61Connection refused
EHOSTDOWN0.880Host is down241Host is down147Host is down112Host is down147Host is down64Host is down64Host is down64Host is down
EHOSTUNREACH0.90Host is unreachable.81No route to host242No route to host148No route to host113No route to host148No route to host65No route to host65No route to host65No route to host
ERESTART0.482restart the system call91Restartable system call85Interrupted system call should be restarted91Restartable system call
ECLONEME0.282this is the way we clone a stream ...88Tells open to clone the device
EPROCLIM0.483Too many processes67Too many processes67Too many processes67Too many processes
EUSERS0.884Too many users68For Sun compatibilty, will not occur94Too many users (for UFS)87Too many users94Too many users (for UFS)68Too many users68Too many users68Too many users
ELOOP0.90Too many levels of symbolic links.85Too many levels of symbolic links249Too many levels of symbolic links90Symbolic link loop40Too many symbolic links encountered90Symbolic link loop62Too many levels of symbolic links62Too many levels of symbolic links62Too many levels of symbolic links
ENAMETOOLONG10Filename too long.86File name too long248File name too long78path name is too long36File name too long78Filename too long63File name too long63File name too long63File name too long38Filename too long
ENOTEMPTY10Directory not empty.87Directory not empty [1]247Directory not empty93directory not empty39Directory not empty93Directory not empty66Directory not empty66Directory not empty66Directory not empty41Directory not empty
EDQUOT0.80Reserved.88Disc quota exceeded69Disc quota exceeded49Disc quota exceeded122Quota exceeded69Disc quota exceeded69Disc quota exceeded69Disc quota exceeded
ECORRUPT0.189Invalid file system control data
EREMOTE0.893Item is not local to host71Too many levels of remote in path66The object is remote66Object is remote66The object is remote71Too many levels of remote in path71Too many levels of remote in path71Too many levels of remote in path
ENOSYS10Function not supported.109Function not implemented POSIX251Function not implemented89Unsupported file system operation38Function not implemented89Function not implemented78Function not implemented78Function not implemented78Function not implemented40Function not implemented
EMEDIA0.2110media surface error124
ESOFT0.2111I/O completed, but needs relocation123
ENOATTR0.3112no attribute found87Attribute not found93Attribute not found
ESAD0.1113security authentication denied
ENOTRUST0.1114not a trusted program
ETOOMANYREFS0.8115Too many references: can't splice237Too many references: can't splice144Too many references: can't splice109Too many references: cannot splice144Too many references: can't splice59Too many references: can't splice59Too many references: can't splice59Too many references: can't splice
EILSEQ10Illegal byte sequence.116Invalid wide character47Illegal byte sequence88Illegal byte sequence.84Illegal byte sequence88Illegal byte sequence.116Invalid wide character86Illegal byte sequence92Illegal byte sequence42Illegal byte sequence
ECANCELED0.80Operation canceled.117asynchronous i/o cancelled253aio request was canceled before complete47Operation canceled158AIO operation canceled94operation canceled85Operation canceled89Operation canceled
ENOSR0.70XSR No STREAM resources.118temp out of streams resources53out of streams resources63out of streams resources63Out of streams resources63out of streams resources82Out of STREAMS resources
ETIME0.70XSR Stream ioctl() timeout.119I_STR ioctl timed out52timer expired62timer expired62Timer expired62timer expired83System call timed out
EBADMSG0.70Bad message.120wrong message type at stream head67trying to read unreadable message77trying to read unreadable message74Not a data message77Bad message84Next message has wrong type
EPROTO0.70Protocol error.121STREAMS protocol error61Protocol error71Protocol error71Protocol error71Protocol error85STREAMS protocol error
ENODATA0.70XSR No message is available on the STREAM head read queue.122no message ready at stream head51no data (for no delay io)61no data (for no delay io)61No data available61no data (for no delay io)86No message on stream head read q
ENOSTR0.70XSR Not a STREAM.123fd is not a stream54Device not a stream60Device not a stream60Device not a stream60Device not a stream87fd not associated with a stream
ENOTSUP0.70Not supported.124POSIX threads unsupported value252Function not implemented48Operation not supported99function not implemented45Operation not supported45Operation not supported
EMULTIHOP0.70Reserved.125multihop is not allowed64multihop attempted74multihop attempted72Multihop attempted74multihop attempted101Reserved [5]
ENOLINK0.70Reserved.126the link has been severed57the link has been severed67the link has been severed67Link has been severed67the link has been severed102Reserved [5]
EOVERFLOW0.90Value too large to be stored in data type.127value too large to be stored in data type72Value too large to be stored in data type79value too large to be stored in data type75Value too large for defined data type79value too large to be stored in data type103Value too large to be stored in data type [5]84Value too large to be stored in data type84Value too large to be stored in data type
ESUCCESS0.200Successful
ENONET0.450Machine is not on the network64Machine is not on the network64Machine is not on the network64Machine is not on the network
ENOPKG0.555Package not installed65Package not installed65Package not installed65Package not installed92unresolved package name
EADV0.458advertise error68advertise error68Advertise error68advertise error
ESRMNT0.459srmount error69srmount error69Srmount error69srmount error
ECOMM0.460Communication error on send70Communication error on send70Communication error on send70Communication error on send
EDOTDOT0.266Cross mount point (not really error)73RFS specific error
ERELOCATED0.1125
EPOWERF0.1126
EPATHREMOTE0.1133Pathname is remote
EOPCOMPLETE0.1134Operation completed at server
ENOLOAD0.1152Cannot load required kernel module
ERELOC0.1153Object file error in loading kernel module
ENOMATCH0.1154Symbol matching given spec not found
ENOUNLD0.1155Cannot unload kernel module
EBADVER0.1156Version number mismatch for loadable kernel module
ECONFIG0.1157Configured kernle resource exhausted
ENOREG0.1158Cannot register required kernel module
ENOUNREG0.1159Cannot unregister kernel module
ENOSYM0.2215symbol does not exist in executable93unresolved symbol name
EREFUSED0.1239Double define for NFS
EREMOTERELEASE0.1240Remote peer released connection
EBADE0.350invalid exchange52Invalid exchange50invalid exchange
EBADR0.351invalid request descriptor53Invalid request descriptor51invalid request descriptor
EXFULL0.352exchange full54Exchange full52exchange full
ENOANO0.353no anode55No anode53no anode
EBADRQC0.354invalid request code56Invalid request code54invalid request code
EBADSLT0.355invalid slot57Invalid slot55invalid slot
EDEADLOCK0.356file locking deadlock error35Resource deadlock would occur56file locking deadlock error
EBFONT0.357bad font file fmt59Bad font file format57bad font file fmt
EOWNERDEAD0.158process died with the lock
ENOTRECOVERABLE0.159lock is not recoverable
ELOCKUNMAPPED0.172locked lock was unmapped
ENOTACTIVE0.173Facility is not active
ENOTUNIQ0.380given log. name not unique76Name not unique on network80given log. name not unique
EBADFD0.381f.d. invalid for this operation77File descriptor in bad state81f.d. invalid for this operation
EREMCHG0.382Remote address changed78Remote address changed82Remote address changed
ELIBACC0.383Can't access a needed shared lib.79Can not access a needed shared library83Can't access a needed shared lib.
ELIBBAD0.384Accessing a corrupted shared lib.80Accessing a corrupted shared library84Accessing a corrupted shared lib.
ELIBSCN0.385.lib section in a.out corrupted.81.lib section in a.out corrupted85.lib section in a.out corrupted.
ELIBMAX0.386Attempting to link in too many libs.82Attempting to link in too many shared libraries86Attempting to link in too many libs.
ELIBEXEC0.387Attempting to exec a shared library.83Cannot exec a shared library directly87Attempting to exec a shared library.
ESTRPIPE0.392if pipe/FIFO, don't sleep in stream head86Streams pipe error92if pipe/FIFO, don't sleep in stream head
EUCLEAN0.3117Structure needs cleaning135Structure needs cleaning35Unknown error
ENOTNAM0.2118Not a XENIX named type file137Not a XENIX named type file
ENAVAIL0.2119No XENIX semaphores available138No XENIX semaphores available
EISNAM0.2120Is a named type file139Is a named type file
EREMOTEIO0.2121Remote I/O error140Remote I/O error
ENOMEDIUM0.1123No medium found
EMEDIUMTYPE0.1124Wrong medium type
ECKPT0.147POSIX checkpoint/restart error
LASTERRNO0.1134used by nfs kernel and also decnet code
EINIT0.1141Reserved for future
EREMDEV0.1142Error 142
EBADRPC0.372RPC struct is bad72RPC struct is bad72RPC struct is bad
ERPCMISMATCH0.373RPC version wrong73RPC version wrong73RPC version wrong
EPROGUNAVAIL0.374RPC prog. not avail74RPC prog. not avail74RPC prog. not avail
EPROGMISMATCH0.375Program version wrong75Program version wrong75Program version wrong
EPROCUNAVAIL0.376Bad procedure for program76Bad procedure for program76Bad procedure for program
EFTYPE0.379Inappropriate file type or format79Inappropriate file type or format79Inappropriate file type or format
EDIRTY0.189Mounting a dirty fs w/o force
EDUPPKG0.190duplicate package name on install
EVERSION0.191version number mismatch
EFAIL0.195cannot start operation
EINPROG0.197operation (now) in progress
EMTIMERS0.198too many timers
EAIO0.1100internal AIO operation complete
ELAST0.288Must be equal largest errno93Must be equal largest errno
EAUTH0.280Authentication error80Authentication error
EDOOFUS0.188Programming error
ENEEDAUTH0.281Need authenticator81Need authenticator
EPWROFF0.182Device power is off
EBADMACHO0.188Malformed Macho file
EDEVERR0.183Device error, e.g. paper out
ESHLIBVERS0.187Shared library version mismatch
EBADEXEC0.185Bad executable
EBADARCH0.186Bad CPU type in executable
-0.143Unknown error
UNKNOWN0.137Unknown error

[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
[*] 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