home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / emerald / emrldsys.lha / Kernel / h / unixCodes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-08-17  |  6.5 KB  |  206 lines

  1. /* File: ~eden/Kernel/UnixHacks/unixCodes.m */
  2.  
  3. /*
  4.  * $Header:$
  5.  * INTERFACE:    None.
  6.  *
  7.  * FUNCTION:    Define the standard error codes associated with
  8.  *              Unix system calls.  Note that these codes are
  9.  *              directly related to the error codes defined in
  10.  *              /usr/include/errno.h.
  11.  *
  12.  * IMPORTS:    /u1/Eden/ErrCodes/errMsgs.
  13.  *
  14.  * EXPORTS:    A set of #defined constants representing the error
  15.  *        codes returned by Unix system calls.
  16.  *
  17.  * DESIGN:    
  18.  *
  19.  * $Log:    /u1/Eden/ErrCodes/RCS/SYScodes.v $
  20. Revision 1.2  84/06/30  00:05:12  schwartz
  21. Added new error codes from Unix 4.2 file /usr/include/errno.h
  22.  
  23. Revision 1.1  83/01/07  12:01:12  cady
  24. Initial revision
  25.  
  26.  * 1-Dec-1982:    Initial implementation. S. Cady.
  27.  */
  28. #ifndef unixCodes
  29. #define unixCodes
  30.  
  31. #ifndef errMsgs
  32. #include "Kernel/h/errMsgs.h"
  33. #endif
  34.  
  35. #define    FAC_System        ((unsigned)0x0000000F)
  36. #define    VER_System        ((unsigned)0x00000001)
  37. #define    ABV_System        "SYS"
  38.  
  39. /* The following macro converts an error status found in */
  40. /* the global variable errno to a SYS error code.        */
  41.  
  42. #define mSystemError(ferrno)    \
  43.             ( (FAC_System << 16) + ((ferrno) * 8) + SEVERE )
  44.  
  45. /*
  46.  * Severe error codes, since they indicate we are bumping up against
  47.  * the underlying Unix system.
  48.  */
  49. #define    SYSK_EPERM        ((unsigned)0x000F000C)
  50. /* "Not owner." */
  51. #define    SYSK_ENOENT        ((unsigned)0x000F0014)
  52. /* "No such file or directory." */
  53. #define    SYSK_ESRCH        ((unsigned)0x000F001C)
  54. /* "No such process." */
  55. #define    SYSK_EINTR        ((unsigned)0x000F0024)
  56. /* "Interrupted system call." */
  57. #define    SYSK_EIO        ((unsigned)0x000F002C)
  58. /* "I/O error." */
  59. #define    SYSK_ENXIO        ((unsigned)0x000F0034)
  60. /* "No such device or address." */
  61. #define    SYSK_E2BIG        ((unsigned)0x000F003C)
  62. /* "Arg. list too long." */
  63. #define    SYSK_ENOEXEC        ((unsigned)0x000F0044)
  64. /* "Exec format error." */
  65. #define    SYSK_EBADF        ((unsigned)0x000F004C)
  66. /* "Bad file number." */
  67. #define    SYSK_ECHILD        ((unsigned)0x000F0054)
  68. /* "No children." */
  69. #define    SYSK_EAGAIN        ((unsigned)0x000F005C)
  70. /* "No more processes." */
  71. #define    SYSK_ENOMEM        ((unsigned)0x000F0064)
  72. /* "Not enough core." */
  73. #define    SYSK_EACCES        ((unsigned)0x000F006C)
  74. /* "Permission denied." */
  75. #define    SYSK_EFAULT        ((unsigned)0x000F0074)
  76. /* "Bad address." */
  77. #define    SYSK_ENOTBLK        ((unsigned)0x000F007C)
  78. /* "Block device required." */
  79. #define    SYSK_EBUSY        ((unsigned)0x000F0084)
  80. /* "Mount device busy." */
  81. #define    SYSK_EEXIST        ((unsigned)0x000F008C)
  82. /* "File exists." */
  83. #define    SYSK_EXDEV        ((unsigned)0x000F0094)
  84. /* "Cross-device link." */
  85. #define    SYSK_ENODEV        ((unsigned)0x000F009C)
  86. /* "No such device." */
  87. #define    SYSK_ENOTDIR        ((unsigned)0x000F00A4)
  88. /* "Not a directory." */
  89. #define    SYSK_EISDIR        ((unsigned)0x000F00AC)
  90. /* "Is a directory." */
  91. #define    SYSK_EINVAL        ((unsigned)0x000F00B4)
  92. /* "Invalid argument." */
  93. #define    SYSK_ENFILE        ((unsigned)0x000F00BC)
  94. /* "File table overflow." */
  95. #define    SYSK_EMFILE        ((unsigned)0x000F00C4)
  96. /* "Too many open files." */
  97. #define    SYSK_ENOTTY        ((unsigned)0x000F00CC)
  98. /* "Not a typewriter." */
  99. #define    SYSK_ETXTBSY        ((unsigned)0x000F00D4)
  100. /* "Text file busy." */
  101. #define    SYSK_EFBIG        ((unsigned)0x000F00DC)
  102. /* "File too large." */
  103. #define    SYSK_ENOSPC        ((unsigned)0x000F00E4)
  104. /* "No space left on device." */
  105. #define    SYSK_ESPIPE        ((unsigned)0x000F00EC)
  106. /* "Illegal seek." */
  107. #define    SYSK_EROFS        ((unsigned)0x000F00F4)
  108. /* "Read-only file system." */
  109. #define    SYSK_EMLINK        ((unsigned)0x000F00FC)
  110. /* "Too many links." */
  111. #define    SYSK_EPIPE        ((unsigned)0x000F0104)
  112. /* "Broken pipe." */
  113.  
  114. /* math software */
  115. #define    SYSK_EDOM        ((unsigned)0x000F010C)
  116. /* "Math argument." */
  117. #define    SYSK_ERANGE        ((unsigned)0x000F0114)
  118. /* "Result too large." */
  119.  
  120. /* non-blocking and interrupt i/o */
  121. #define    SYSK_EWOULDBLOCK        ((unsigned)0x000F011C)
  122. /* "Operation would block" */
  123. #define    SYSK_EINPROGRESS        ((unsigned)0x000F0124)
  124. /* "Operation now in progress" */
  125. #define    SYSK_EALREADY        ((unsigned)0x000F012C)
  126. /* "Operation already in progress" */
  127.  
  128. /* ipc/network software */
  129.  
  130.         /* argument errors */
  131. #define    SYSK_ENOTSOCK        ((unsigned)0x000F0134)
  132. /* "Socket operation on non-socket" */
  133. #define    SYSK_EDESTADDRREQ        ((unsigned)0x000F013C)
  134. /* "Destination address required" */
  135. #define    SYSK_EMSGSIZE        ((unsigned)0x000F0144)
  136. /* "Message too long" */
  137. #define    SYSK_EPROTOTYPE        ((unsigned)0x000F014C)
  138. /* "Protocol wrong type for socket" */
  139. #define    SYSK_ENOPROTOOPT        ((unsigned)0x000F0154)
  140. /* "Protocol not available" */
  141. #define    SYSK_EPROTONOSUPPORT        ((unsigned)0x000F015C)
  142. /* "Protocol not supported" */
  143. #define    SYSK_ESOCKTNOSUPPORT        ((unsigned)0x000F0164)
  144. /* "Socket type not supported" */
  145. #define    SYSK_EOPNOTSUPP        ((unsigned)0x000F016C)
  146. /* "Operation not supported on socket" */
  147. #define    SYSK_EPFNOSUPPORT        ((unsigned)0x000F0174)
  148. /* "Protocol family not supported" */
  149. #define    SYSK_EAFNOSUPPORT        ((unsigned)0x000F017C)
  150. /* "Address family not supported by protocol family" */
  151. #define    SYSK_EADDRINUSE        ((unsigned)0x000F0184)
  152. /* "Address already in use" */
  153. #define    SYSK_EADDRNOTAVAIL        ((unsigned)0x000F018C)
  154. /* "Can't assign requested address" */
  155.  
  156.         /* operational errors */
  157. #define    SYSK_ENETDOWN        ((unsigned)0x000F0194)
  158. /* "Network is down" */
  159. #define    SYSK_ENETUNREACH        ((unsigned)0x000F019C)
  160. /* "Network is unreachable" */
  161. #define    SYSK_ENETRESET        ((unsigned)0x000F01A4)
  162. /* "Network dropped connection on reset" */
  163. #define    SYSK_ECONNABORTED        ((unsigned)0x000F01AC)
  164. /* "Software caused connection abort" */
  165. #define    SYSK_ECONNRESET        ((unsigned)0x000F01B4)
  166. /* "Connection reset by peer" */
  167. #define    SYSK_ENOBUFS        ((unsigned)0x000F01BC)
  168. /* "No buffer space available" */
  169. #define    SYSK_EISCONN        ((unsigned)0x000F01C4)
  170. /* "Socket is already connected" */
  171. #define    SYSK_ENOTCONN        ((unsigned)0x000F01CC)
  172. /* "Socket is not connected" */
  173. #define    SYSK_ESHUTDOWN        ((unsigned)0x000F01D4)
  174. /* "Can't send after socket shutdown" */
  175. #define    SYSK_ETOOMANYREFS        ((unsigned)0x000F01DC)
  176. /* "Too many references: can't splice" */
  177. #define    SYSK_ETIMEDOUT        ((unsigned)0x000F01E4)
  178. /* "Connection timed out" */
  179. #define    SYSK_ECONNREFUSED        ((unsigned)0x000F01EC)
  180. /* "Connection refused" */
  181.  
  182.         /* */
  183. #define    SYSK_ELOOP        ((unsigned)0x000F01F4)
  184. /* "Too many levels of symbolic links" */
  185. #define    SYSK_ENAMETOOLONG        ((unsigned)0x000F01FC)
  186. /* "File name too long" */
  187.  
  188. /* should be rearranged */
  189. #define    SYSK_EHOSTDOWN        ((unsigned)0x000F0204)
  190. /* "Host is down" */
  191. #define    SYSK_EHOSTUNREACH        ((unsigned)0x000F020C)
  192. /* "No route to host" */
  193. #define    SYSK_ENOTEMPTY        ((unsigned)0x000F0214)
  194. /* "Directory not empty" */
  195.  
  196. /* quotas & mush */
  197. #define    SYSK_EPROCLIM        ((unsigned)0x000F021C)
  198. /* "Too many processes" */
  199. #define    SYSK_EUSERS        ((unsigned)0x000F0224)
  200. /* "Too many users" */
  201. #define    SYSK_EDQUOT        ((unsigned)0x000F022C)
  202. /* "Disc quota exceeded" */
  203.  
  204. #endif
  205.  
  206.