- e2big - argument list too long
- eacces - permission denied
- eaddrinuse - address already in use
- eaddrnotavail - cannot assign requested address
- eadv - advertise error
- eafnosupport - address family not supported by protocol family
- eagain - resource temporarily unavailable
- ealign - EALIGN
- ealready - operation already in progress
- ebade - bad exchange descriptor
- ebadf - bad file number
- ebadfd - file descriptor in bad state
- ebadmsg - not a data message
- ebadr - bad request descriptor
- ebadrpc - RPC structure is bad
- ebadrqc - bad request code
- ebadslt - invalid slot
- ebfont - bad font file format
- ebusy - file busy
- echild - no children
- echrng - channel number out of range
- ecomm - communication error on send
- econnaborted - software caused connection abort
- econnrefused - connection refused
- econnreset - connection reset by peer
- edeadlk - resource deadlock avoided
- edeadlock - resource deadlock avoided
- edestaddrreq - destination address required
- edirty - mounting a dirty fs w/o force
- edom - math argument out of range
- edotdot - cross mount point
- edquot - disk quota exceeded
- eduppkg - duplicate package name
- eexist - file already exists
- efault - bad address in system call argument
- efbig - file too large
- ehostdown - host is down
- ehostunreach - host is unreachable
- eidrm - identifier removed
- einit - initialization error
- einprogress - operation now in progress
- eintr - interrupted system call
- einval - invalid argument
- eio - I/O error
- eisconn - socket is already connected
- eisdir - illegal operation on a directory
- eisnam - is a named file
- el2hlt - level 2 halted
- el2nsync - level 2 not synchronized
- el3hlt - level 3 halted
- el3rst - level 3 reset
- elbin - ELBIN
- elibacc - cannot access a needed shared library
- elibbad - accessing a corrupted shared library
- elibexec - cannot exec a shared library directly
- elibmax - attempting to link in more shared libraries than system limit
- elibscn - .lib section in a.out corrupted
- elnrng - link number out of range
- eloop - too many levels of symbolic links
- emfile - too many open files
- emlink - too many links
- emsgsize - message too long
- emultihop - multihop attempted
- enametoolong - file name too long
- enavail - not available
- enet - ENET
- enetdown - network is down
- enetreset - network dropped connection on reset
- enetunreach - network is unreachable
- enfile - file table overflow
- enoano - anode table overflow
- enobufs - no buffer space available
- enocsi - no CSI structure available
- enodata - no data available
- enodev - no such device
- enoent - no such file or directory
- enoexec - exec format error
- enolck - no locks available
- enolink - link has be severed
- enomem - not enough memory
- enomsg - no message of desired type
- enonet - machine is not on the network
- enopkg - package not installed
- enoprotoopt - bad protocol option
- enospc - no space left on device
- enosr - out of stream resources or not a stream device
- enosym - unresolved symbol name
- enosys - function not implemented
- enotblk - block device required
- enotconn - socket is not connected
- enotdir - not a directory
- enotempty - directory not empty
- enotnam - not a named file
- enotsock - socket operation on non-socket
- enotsup - operation not supported
- enotty - inappropriate device for ioctl
- enotuniq - name not unique on network
- enxio - no such device or address
- eopnotsupp - operation not supported on socket
- eperm - not owner
- epfnosupport - protocol family not supported
- epipe - broken pipe
- eproclim - too many processes
- eprocunavail - bad procedure for program
- eprogmismatch - program version wrong
- eprogunavail - RPC program not available
- eproto - protocol error
- eprotonosupport - protocol not supported
- eprototype - protocol wrong type for socket
- erange - math result unrepresentable
- erefused - EREFUSED
- eremchg - remote address changed
- eremdev - remote device
- eremote - pathname hit remote file system
- eremoteio - remote i/o error
- eremoterelease - EREMOTERELEASE
- erofs - read-only file system
- erpcmismatch - RPC version is wrong
- erremote - object is remote
- eshutdown - cannot send after socket shutdown
- esocktnosupport - socket type not supported
- espipe - invalid seek
- esrch - no such process
- esrmnt - srmount error
- estale - stale remote file handle
- esuccess - Error 0
- etime - timer expired
- etimedout - connection timed out
- etoomanyrefs - too many references
- etxtbsy - text file or pseudo-device busy
- euclean - structure needs cleaning
- eunatch - protocol driver not attached
- eusers - too many users
- eversion - version mismatch
- ewouldblock - operation would block
- exdev - cross-domain link
- exfull - message tables full
- nxdomain - the hostname or domain name could not be found
POSIX Error Codes
Erlang likes to throw POSIX error codes, here is a list of all possible error codes taken from Erlang documentation: