C variable for any error codes that have occured.

Can be annoying with threads when app is not compiled with -D_REENTRANT.

This is typically set by a system call or libc function. For whatever reason, the crooked Windows API doesn't use this, and instead uses GetLastError() and SetLastError(), adding 2 functions when all you need is a variable.

pseudometanode for all possible errno values on Unix (in this case, for a recent FreeBSD; numbers may not be the same, but these should mostly exist on all systems). Small note: these aren't autonoded at all, as I'm doing my own writeups for each and research for ones I'm not totally sure about.

  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
  7. E2BIG Argument list too long
  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 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 (EWOULDBLOCK) Resource temporarily unavailable
  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. EOPNOTSUPP (ENOTSUP) Operation not supported
  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. EIDRM Identifier removed
  83. ENOMSG No message of desired type
  84. EOVERFLOW Value too large to be stored in data type
  85. ECANCELED Operation canceled
  86. EILSEQ Illegal byte sequence

Log in or register to write something here or to contact authors.