Error number reference

Are you tired of grepping /usr/include to figure out what that system error number means? Here's a handy guide to all the errno values for your system. Use your browser search functionality to find the one you're looking for or just scroll down the table.

You are viewing the error codes for Mac OS X; if you want to view the error codes for a different operating system, select it from the dropdown menu.

#    #define          Description
1    EPERM            Operation not permitted
2    ENOENT           No such file or directory
3    ESRCH            No such process
4    EINTR            Interrupted system call
5    EIO              Input/output error
6    ENXIO            Device not configured
8    ENOEXEC          Exec format error
9    EBADF            Bad file descriptor
10   ECHILD           No child processes
11   EDEADLK          Resource deadlock avoided
12   ENOMEM           Cannot allocate memory
13   EACCES           Permission denied
14   EFAULT           Bad address
15   ENOTBLK          Block device required
16   EBUSY            Device / Resource busy
17   EEXIST           File exists
18   EXDEV            Cross-device link
19   ENODEV           Operation not supported by device
20   ENOTDIR          Not a directory
21   EISDIR           Is a directory
22   EINVAL           Invalid argument
23   ENFILE           Too many open files in system
24   EMFILE           Too many open files
25   ENOTTY           Inappropriate ioctl for device
26   ETXTBSY          Text file busy
27   EFBIG            File too large
28   ENOSPC           No space left on device
29   ESPIPE           Illegal seek
30   EROFS            Read-only file system
31   EMLINK           Too many links
32   EPIPE            Broken pipe
33   EDOM             Numerical argument out of domain
34   ERANGE           Result too large
35   EAGAIN           Resource temporarily unavailable
35   EWOULDBLOCK      Operation would block
36   EINPROGRESS      Operation now in progress
37   EALREADY         Operation already in progress
38   ENOTSOCK         Socket operation on non-socket
39   EDESTADDRREQ     Destination address required
40   EMSGSIZE         Message too long
41   EPROTOTYPE       Protocol wrong type for socket
42   ENOPROTOOPT      Protocol not available
43   EPROTONOSUPPORT  Protocol not supported
44   ESOCKTNOSUPPORT  Socket type not supported
45   ENOTSUP          Operation not supported
45   EOPNOTSUPP       Operation not supported on socket
46   EPFNOSUPPORT     Protocol family not supported
47   EAFNOSUPPORT     Address family not supported by protocol family
48   EADDRINUSE       Address already in use
49   EADDRNOTAVAIL    Can't assign requested address
50   ENETDOWN         Network is down
51   ENETUNREACH      Network is unreachable
52   ENETRESET        Network dropped connection on reset
53   ECONNABORTED     Software caused connection abort
54   ECONNRESET       Connection reset by peer
55   ENOBUFS          No buffer space available
56   EISCONN          Socket is already connected
57   ENOTCONN         Socket is not connected
58   ESHUTDOWN        Can't send after socket shutdown
59   ETOOMANYREFS     Too many references: can't splice
60   ETIMEDOUT        Operation timed out
61   ECONNREFUSED     Connection refused
62   ELOOP            Too many levels of symbolic links
63   ENAMETOOLONG     File name too long
64   EHOSTDOWN        Host is down
65   EHOSTUNREACH     No route to host
66   ENOTEMPTY        Directory not empty
67   EPROCLIM         Too many processes
68   EUSERS           Too many users
69   EDQUOT           Disc quota exceeded
70   ESTALE           Stale NFS file handle
71   EREMOTE          Too many levels of remote in path
72   EBADRPC          RPC struct is bad
73   ERPCMISMATCH     RPC version wrong
74   EPROGUNAVAIL     RPC prog. not avail
75   EPROGMISMATCH    Program version wrong
76   EPROCUNAVAIL     Bad procedure for program
77   ENOLCK           No locks available
78   ENOSYS           Function not implemented
79   EFTYPE           Inappropriate file type or format
80   EAUTH            Authentication error
81   ENEEDAUTH        Need authenticator
82   EPWROFF          Device power is off
83   EDEVERR          Device error, e.g. paper out
84   EOVERFLOW        Value too large to be stored in data type
85   EBADEXEC         Bad executable
86   EBADARCH         Bad CPU type in executable
87   ESHLIBVERS       Shared library version mismatch
88   EBADMACHO        Malformed Macho file
89   ECANCELED        Operation canceled
90   EIDRM            Identifier removed
91   ENOMSG           No message of desired type
92   EILSEQ           Illegal byte sequence
93   ENOATTR          Attribute not found
94   EBADMSG          Bad message
95   EMULTIHOP        Reserved
96   ENODATA          No message available on STREAM
97   ENOLINK          Reserved
98   ENOSR            No STREAM resources
99   ENOSTR           Not a STREAM
100  EPROTO           Protocol error
101  ETIME            STREAM ioctl timeout
102  EOPNOTSUPP       Operation not supported on socket
103  ENOPOLICY        No such policy registered
104  ENOTRECOVERABLE  State not recoverable
105  EOWNERDEAD       Previous owner died
106  EQFULL           Interface output queue is full
106  ELAST            Must be equal largest errno

JSON interface

To load the error information as JSON, use:
/api/errno/macosx/json

[
   {
      "const" : "EPERM",
      "desc" : "Operation not permitted",
      "errno" : 1
   },
   {
      "const" : "ENOENT",
      "errno" : 2,
      "desc" : "No such file or directory"
   },
   {
      "const" : "ESRCH",
      "desc" : "No such process",
      "errno" : 3
   },
   {
      "errno" : 4,
      "desc" : "Interrupted system call",
      "const" : "EINTR"
   },
   {
      "errno" : 5,
      "desc" : "Input/output error",
      "const" : "EIO"
   },
   {
      "const" : "ENXIO",
      "desc" : "Device not configured",
      "errno" : 6
   },
   {
      "desc" : "Exec format error",
      "errno" : 8,
      "const" : "ENOEXEC"
   },
   {
      "const" : "EBADF",
      "desc" : "Bad file descriptor",
      "errno" : 9
   },
   {
      "const" : "ECHILD",
      "desc" : "No child processes",
      "errno" : 10
   },
   {
      "errno" : 11,
      "desc" : "Resource deadlock avoided",
      "const" : "EDEADLK"
   },
   {
      "const" : "ENOMEM",
      "desc" : "Cannot allocate memory",
      "errno" : 12
   },
   {
      "const" : "EACCES",
      "errno" : 13,
      "desc" : "Permission denied"
   },
   {
      "const" : "EFAULT",
      "errno" : 14,
      "desc" : "Bad address"
   },
   {
      "desc" : "Block device required",
      "errno" : 15,
      "const" : "ENOTBLK"
   },
   {
      "errno" : 16,
      "desc" : "Device / Resource busy",
      "const" : "EBUSY"
   },
   {
      "const" : "EEXIST",
      "errno" : 17,
      "desc" : "File exists"
   },
   {
      "const" : "EXDEV",
      "errno" : 18,
      "desc" : "Cross-device link"
   },
   {
      "desc" : "Operation not supported by device",
      "errno" : 19,
      "const" : "ENODEV"
   },
   {
      "const" : "ENOTDIR",
      "errno" : 20,
      "desc" : "Not a directory"
   },
   {
      "desc" : "Is a directory",
      "errno" : 21,
      "const" : "EISDIR"
   },
   {
      "errno" : 22,
      "desc" : "Invalid argument",
      "const" : "EINVAL"
   },
   {
      "errno" : 23,
      "desc" : "Too many open files in system",
      "const" : "ENFILE"
   },
   {
      "const" : "EMFILE",
      "errno" : 24,
      "desc" : "Too many open files"
   },
   {
      "desc" : "Inappropriate ioctl for device",
      "errno" : 25,
      "const" : "ENOTTY"
   },
   {
      "desc" : "Text file busy",
      "errno" : 26,
      "const" : "ETXTBSY"
   },
   {
      "const" : "EFBIG",
      "desc" : "File too large",
      "errno" : 27
   },
   {
      "const" : "ENOSPC",
      "errno" : 28,
      "desc" : "No space left on device"
   },
   {
      "errno" : 29,
      "desc" : "Illegal seek",
      "const" : "ESPIPE"
   },
   {
      "desc" : "Read-only file system",
      "errno" : 30,
      "const" : "EROFS"
   },
   {
      "const" : "EMLINK",
      "errno" : 31,
      "desc" : "Too many links"
   },
   {
      "const" : "EPIPE",
      "errno" : 32,
      "desc" : "Broken pipe"
   },
   {
      "errno" : 33,
      "desc" : "Numerical argument out of domain",
      "const" : "EDOM"
   },
   {
      "const" : "ERANGE",
      "errno" : 34,
      "desc" : "Result too large"
   },
   {
      "errno" : 35,
      "desc" : "Resource temporarily unavailable",
      "const" : "EAGAIN"
   },
   {
      "const" : "EWOULDBLOCK",
      "desc" : "Operation would block",
      "errno" : 35
   },
   {
      "const" : "EINPROGRESS",
      "errno" : 36,
      "desc" : "Operation now in progress"
   },
   {
      "desc" : "Operation already in progress",
      "errno" : 37,
      "const" : "EALREADY"
   },
   {
      "errno" : 38,
      "desc" : "Socket operation on non-socket",
      "const" : "ENOTSOCK"
   },
   {
      "const" : "EDESTADDRREQ",
      "desc" : "Destination address required",
      "errno" : 39
   },
   {
      "desc" : "Message too long",
      "errno" : 40,
      "const" : "EMSGSIZE"
   },
   {
      "const" : "EPROTOTYPE",
      "desc" : "Protocol wrong type for socket",
      "errno" : 41
   },
   {
      "errno" : 42,
      "desc" : "Protocol not available",
      "const" : "ENOPROTOOPT"
   },
   {
      "desc" : "Protocol not supported",
      "errno" : 43,
      "const" : "EPROTONOSUPPORT"
   },
   {
      "errno" : 44,
      "desc" : "Socket type not supported",
      "const" : "ESOCKTNOSUPPORT"
   },
   {
      "errno" : 45,
      "desc" : "Operation not supported",
      "const" : "ENOTSUP"
   },
   {
      "desc" : "Operation not supported on socket",
      "errno" : 45,
      "const" : "EOPNOTSUPP"
   },
   {
      "const" : "EPFNOSUPPORT",
      "errno" : 46,
      "desc" : "Protocol family not supported"
   },
   {
      "const" : "EAFNOSUPPORT",
      "desc" : "Address family not supported by protocol family",
      "errno" : 47
   },
   {
      "desc" : "Address already in use",
      "errno" : 48,
      "const" : "EADDRINUSE"
   },
   {
      "errno" : 49,
      "desc" : "Can't assign requested address",
      "const" : "EADDRNOTAVAIL"
   },
   {
      "desc" : "Network is down",
      "errno" : 50,
      "const" : "ENETDOWN"
   },
   {
      "const" : "ENETUNREACH",
      "errno" : 51,
      "desc" : "Network is unreachable"
   },
   {
      "desc" : "Network dropped connection on reset",
      "errno" : 52,
      "const" : "ENETRESET"
   },
   {
      "errno" : 53,
      "desc" : "Software caused connection abort",
      "const" : "ECONNABORTED"
   },
   {
      "const" : "ECONNRESET",
      "errno" : 54,
      "desc" : "Connection reset by peer"
   },
   {
      "desc" : "No buffer space available",
      "errno" : 55,
      "const" : "ENOBUFS"
   },
   {
      "desc" : "Socket is already connected",
      "errno" : 56,
      "const" : "EISCONN"
   },
   {
      "const" : "ENOTCONN",
      "errno" : 57,
      "desc" : "Socket is not connected"
   },
   {
      "desc" : "Can't send after socket shutdown",
      "errno" : 58,
      "const" : "ESHUTDOWN"
   },
   {
      "errno" : 59,
      "desc" : "Too many references: can't splice",
      "const" : "ETOOMANYREFS"
   },
   {
      "const" : "ETIMEDOUT",
      "desc" : "Operation timed out",
      "errno" : 60
   },
   {
      "const" : "ECONNREFUSED",
      "desc" : "Connection refused",
      "errno" : 61
   },
   {
      "errno" : 62,
      "desc" : "Too many levels of symbolic links",
      "const" : "ELOOP"
   },
   {
      "errno" : 63,
      "desc" : "File name too long",
      "const" : "ENAMETOOLONG"
   },
   {
      "const" : "EHOSTDOWN",
      "desc" : "Host is down",
      "errno" : 64
   },
   {
      "errno" : 65,
      "desc" : "No route to host",
      "const" : "EHOSTUNREACH"
   },
   {
      "const" : "ENOTEMPTY",
      "errno" : 66,
      "desc" : "Directory not empty"
   },
   {
      "const" : "EPROCLIM",
      "desc" : "Too many processes",
      "errno" : 67
   },
   {
      "desc" : "Too many users",
      "errno" : 68,
      "const" : "EUSERS"
   },
   {
      "const" : "EDQUOT",
      "desc" : "Disc quota exceeded",
      "errno" : 69
   },
   {
      "const" : "ESTALE",
      "errno" : 70,
      "desc" : "Stale NFS file handle"
   },
   {
      "const" : "EREMOTE",
      "desc" : "Too many levels of remote in path",
      "errno" : 71
   },
   {
      "const" : "EBADRPC",
      "errno" : 72,
      "desc" : "RPC struct is bad"
   },
   {
      "desc" : "RPC version wrong",
      "errno" : 73,
      "const" : "ERPCMISMATCH"
   },
   {
      "errno" : 74,
      "desc" : "RPC prog. not avail",
      "const" : "EPROGUNAVAIL"
   },
   {
      "desc" : "Program version wrong",
      "errno" : 75,
      "const" : "EPROGMISMATCH"
   },
   {
      "const" : "EPROCUNAVAIL",
      "desc" : "Bad procedure for program",
      "errno" : 76
   },
   {
      "errno" : 77,
      "desc" : "No locks available",
      "const" : "ENOLCK"
   },
   {
      "const" : "ENOSYS",
      "errno" : 78,
      "desc" : "Function not implemented"
   },
   {
      "errno" : 79,
      "desc" : "Inappropriate file type or format",
      "const" : "EFTYPE"
   },
   {
      "desc" : "Authentication error",
      "errno" : 80,
      "const" : "EAUTH"
   },
   {
      "errno" : 81,
      "desc" : "Need authenticator",
      "const" : "ENEEDAUTH"
   },
   {
      "desc" : "Device power is off",
      "errno" : 82,
      "const" : "EPWROFF"
   },
   {
      "errno" : 83,
      "desc" : "Device error, e.g. paper out",
      "const" : "EDEVERR"
   },
   {
      "desc" : "Value too large to be stored in data type",
      "errno" : 84,
      "const" : "EOVERFLOW"
   },
   {
      "desc" : "Bad executable",
      "errno" : 85,
      "const" : "EBADEXEC"
   },
   {
      "const" : "EBADARCH",
      "errno" : 86,
      "desc" : "Bad CPU type in executable"
   },
   {
      "errno" : 87,
      "desc" : "Shared library version mismatch",
      "const" : "ESHLIBVERS"
   },
   {
      "const" : "EBADMACHO",
      "errno" : 88,
      "desc" : "Malformed Macho file"
   },
   {
      "const" : "ECANCELED",
      "desc" : "Operation canceled",
      "errno" : 89
   },
   {
      "desc" : "Identifier removed",
      "errno" : 90,
      "const" : "EIDRM"
   },
   {
      "const" : "ENOMSG",
      "errno" : 91,
      "desc" : "No message of desired type"
   },
   {
      "desc" : "Illegal byte sequence",
      "errno" : 92,
      "const" : "EILSEQ"
   },
   {
      "errno" : 93,
      "desc" : "Attribute not found",
      "const" : "ENOATTR"
   },
   {
      "desc" : "Bad message",
      "errno" : 94,
      "const" : "EBADMSG"
   },
   {
      "errno" : 95,
      "desc" : "Reserved",
      "const" : "EMULTIHOP"
   },
   {
      "const" : "ENODATA",
      "errno" : 96,
      "desc" : "No message available on STREAM"
   },
   {
      "desc" : "Reserved",
      "errno" : 97,
      "const" : "ENOLINK"
   },
   {
      "const" : "ENOSR",
      "errno" : 98,
      "desc" : "No STREAM resources"
   },
   {
      "const" : "ENOSTR",
      "errno" : 99,
      "desc" : "Not a STREAM"
   },
   {
      "const" : "EPROTO",
      "desc" : "Protocol error",
      "errno" : 100
   },
   {
      "desc" : "STREAM ioctl timeout",
      "errno" : 101,
      "const" : "ETIME"
   },
   {
      "const" : "EOPNOTSUPP",
      "desc" : "Operation not supported on socket",
      "errno" : 102
   },
   {
      "const" : "ENOPOLICY",
      "errno" : 103,
      "desc" : "No such policy registered"
   },
   {
      "const" : "ENOTRECOVERABLE",
      "errno" : 104,
      "desc" : "State not recoverable"
   },
   {
      "errno" : 105,
      "desc" : "Previous owner died",
      "const" : "EOWNERDEAD"
   },
   {
      "errno" : 106,
      "desc" : "Interface output queue is full",
      "const" : "EQFULL"
   },
   {
      "desc" : "Must be equal largest errno",
      "errno" : 106,
      "const" : "ELAST"
   }
]

For JSONP, add a callback value as a query parameter:
/api/errno/macosx/json?callback=myCallback