errtbls.c
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /* $Id: errtbls.c,v 1.2 1995/11/25 00:57:55 davem Exp $
  2.  * errtbls.c: Error number conversion tables between various syscall
  3.  *            OS semantics.
  4.  *
  5.  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
  6.  *
  7.  * Based upon preliminary work which is:
  8.  *
  9.  * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu)
  10.  */
  11. #include <asm/bsderrno.h>        /* NetBSD (bsd4.4) errnos */
  12. #include <asm/solerrno.h>        /* Solaris errnos */
  13. /* Here are tables which convert between Linux/SunOS error number
  14.  * values to the equivalent in other OSs.  Note that since the Linux
  15.  * ones have been set up to match exactly those of SunOS, no
  16.  * translation table is needed for that OS.
  17.  */
  18. int solaris_errno[] = {
  19. 0,
  20. SOL_EPERM,
  21. SOL_ENOENT,
  22. SOL_ESRCH,
  23. SOL_EINTR,
  24. SOL_EIO,
  25. SOL_ENXIO,
  26. SOL_E2BIG,
  27. SOL_ENOEXEC,
  28. SOL_EBADF,
  29. SOL_ECHILD,
  30. SOL_EAGAIN,
  31. SOL_ENOMEM,
  32. SOL_EACCES,
  33. SOL_EFAULT,
  34. SOL_NOTBLK,
  35. SOL_EBUSY,
  36. SOL_EEXIST,
  37. SOL_EXDEV,
  38. SOL_ENODEV,
  39. SOL_ENOTDIR,
  40. SOL_EISDIR,
  41. SOL_EINVAL,
  42. SOL_ENFILE,
  43. SOL_EMFILE,
  44. SOL_ENOTTY,
  45. SOL_ETXTBSY,
  46. SOL_EFBIG,
  47. SOL_ENOSPC,
  48. SOL_ESPIPE,
  49. SOL_EROFS,
  50. SOL_EMLINK,
  51. SOL_EPIPE,
  52. SOL_EDOM,
  53. SOL_ERANGE,
  54. SOL_EWOULDBLOCK,
  55. SOL_EINPROGRESS,
  56. SOL_EALREADY,
  57. SOL_ENOTSOCK,
  58. SOL_EDESTADDRREQ,
  59. SOL_EMSGSIZE,
  60. SOL_EPROTOTYPE,
  61. SOL_ENOPROTOOPT,
  62. SOL_EPROTONOSUPPORT,
  63. SOL_ESOCKTNOSUPPORT,
  64. SOL_EOPNOTSUPP,
  65. SOL_EPFNOSUPPORT,
  66. SOL_EAFNOSUPPORT,
  67. SOL_EADDRINUSE,
  68. SOL_EADDRNOTAVAIL,
  69. SOL_ENETDOWN,
  70. SOL_ENETUNREACH,
  71. SOL_ENETRESET,
  72. SOL_ECONNABORTED,
  73. SOL_ECONNRESET,
  74. SOL_ENOBUFS,
  75. SOL_EISCONN,
  76. SOL_ENOTONN,
  77. SOL_ESHUTDOWN,
  78. SOL_ETOOMANYREFS,
  79. SOL_ETIMEDOUT,
  80. SOL_ECONNREFUSED,
  81. SOL_ELOOP,
  82. SOL_ENAMETOOLONG,
  83. SOL_EHOSTDOWN,
  84. SOL_EHOSTUNREACH,
  85. SOL_ENOTEMPTY,
  86. SOL_EPROCLIM,
  87. SOL_EUSERS,
  88. SOL_EDQUOT,
  89. SOL_ESTALE,
  90. SOL_EREMOTE,
  91. SOL_ENOSTR,
  92. SOL_ETIME,
  93. SOL_ENOSR,
  94. SOL_ENOMSG,
  95. SOL_EBADMSG,
  96. SOL_IDRM,
  97. SOL_EDEADLK,
  98. SOL_ENOLCK,
  99. SOL_ENONET,
  100. SOL_ERREMOTE,
  101. SOL_ENOLINK,
  102. SOL_EADV,
  103. SOL_ESRMNT,
  104. SOL_ECOMM,
  105. SOL_EPROTO,
  106. SOL_EMULTIHOP,
  107. SOL_EINVAL,    /* EDOTDOT XXX??? */
  108. SOL_REMCHG,
  109. SOL_NOSYS,
  110. SOL_STRPIPE,
  111. SOL_EOVERFLOW,
  112. SOL_EBADFD,
  113. SOL_ECHRNG,
  114. SOL_EL2NSYNC,
  115. SOL_EL3HLT,
  116. SOL_EL3RST,
  117. SOL_NRNG,
  118. SOL_EUNATCH,
  119. SOL_ENOCSI,
  120. SOL_EL2HLT,
  121. SOL_EBADE,
  122. SOL_EBADR,
  123. SOL_EXFULL,
  124. SOL_ENOANO,
  125. SOL_EBADRQC,
  126. SOL_EBADSLT,
  127. SOL_EDEADLOCK,
  128. SOL_EBFONT,
  129. SOL_ELIBEXEC,
  130. SOL_ENODATA,
  131. SOL_ELIBBAD,
  132. SOL_ENOPKG,
  133. SOL_ELIBACC,
  134. SOL_ENOTUNIQ,
  135. SOL_ERESTART,
  136. SOL_EUCLEAN,
  137. SOL_ENOTNAM,
  138. SOL_ENAVAIL,
  139. SOL_EISNAM,
  140. SOL_EREMOTEIO,
  141. SOL_EILSEQ,
  142. SOL_ELIBMAX,
  143. SOL_ELIBSCN,
  144. };
  145. int netbsd_errno[] = {
  146. 0,
  147. BSD_EPERM,
  148. BSD_ENOENT,
  149. BSD_ESRCH,
  150. BSD_EINTR,
  151. BSD_EIO,
  152. BSD_ENXIO,
  153. BSD_E2BIG,
  154. BSD_ENOEXEC,
  155. BSD_EBADF,
  156. BSD_ECHILD,
  157. BSD_EAGAIN,
  158. BSD_ENOMEM,
  159. BSD_EACCES,
  160. BSD_EFAULT,
  161. BSD_NOTBLK,
  162. BSD_EBUSY,
  163. BSD_EEXIST,
  164. BSD_EXDEV,
  165. BSD_ENODEV,
  166. BSD_ENOTDIR,
  167. BSD_EISDIR,
  168. BSD_EINVAL,
  169. BSD_ENFILE,
  170. BSD_EMFILE,
  171. BSD_ENOTTY,
  172. BSD_ETXTBSY,
  173. BSD_EFBIG,
  174. BSD_ENOSPC,
  175. BSD_ESPIPE,
  176. BSD_EROFS,
  177. BSD_EMLINK,
  178. BSD_EPIPE,
  179. BSD_EDOM,
  180. BSD_ERANGE,
  181. BSD_EWOULDBLOCK,
  182. BSD_EINPROGRESS,
  183. BSD_EALREADY,
  184. BSD_ENOTSOCK,
  185. BSD_EDESTADDRREQ,
  186. BSD_EMSGSIZE,
  187. BSD_EPROTOTYPE,
  188. BSD_ENOPROTOOPT,
  189. BSD_EPROTONOSUPPORT,
  190. BSD_ESOCKTNOSUPPORT,
  191. BSD_EOPNOTSUPP,
  192. BSD_EPFNOSUPPORT,
  193. BSD_EAFNOSUPPORT,
  194. BSD_EADDRINUSE,
  195. BSD_EADDRNOTAVAIL,
  196. BSD_ENETDOWN,
  197. BSD_ENETUNREACH,
  198. BSD_ENETRESET,
  199. BSD_ECONNABORTED,
  200. BSD_ECONNRESET,
  201. BSD_ENOBUFS,
  202. BSD_EISCONN,
  203. BSD_ENOTONN,
  204. BSD_ESHUTDOWN,
  205. BSD_ETOOMANYREFS,
  206. BSD_ETIMEDOUT,
  207. BSD_ECONNREFUSED,
  208. BSD_ELOOP,
  209. BSD_ENAMETOOLONG,
  210. BSD_EHOSTDOWN,
  211. BSD_EHOSTUNREACH,
  212. BSD_ENOTEMPTY,
  213. BSD_EPROCLIM,
  214. BSD_EUSERS,
  215. BSD_EDQUOT,
  216. BSD_ESTALE,
  217. BSD_EREMOTE,
  218. BSD_ENOSTR,
  219. BSD_ETIME,
  220. BSD_ENOSR,
  221. BSD_ENOMSG,
  222. BSD_EBADMSG,
  223. BSD_IDRM,
  224. BSD_EDEADLK,
  225. BSD_ENOLCK,
  226. BSD_ENONET,
  227. BSD_ERREMOTE,
  228. BSD_ENOLINK,
  229. BSD_EADV,
  230. BSD_ESRMNT,
  231. BSD_ECOMM,
  232. BSD_EPROTO,
  233. BSD_EMULTIHOP,
  234. BSD_EINVAL,    /* EDOTDOT XXX??? */
  235. BSD_REMCHG,
  236. BSD_NOSYS,
  237. BSD_STRPIPE,
  238. BSD_EOVERFLOW,
  239. BSD_EBADFD,
  240. BSD_ECHRNG,
  241. BSD_EL2NSYNC,
  242. BSD_EL3HLT,
  243. BSD_EL3RST,
  244. BSD_NRNG,
  245. BSD_EUNATCH,
  246. BSD_ENOCSI,
  247. BSD_EL2HLT,
  248. BSD_EBADE,
  249. BSD_EBADR,
  250. BSD_EXFULL,
  251. BSD_ENOANO,
  252. BSD_EBADRQC,
  253. BSD_EBADSLT,
  254. BSD_EDEADLOCK,
  255. BSD_EBFONT,
  256. BSD_ELIBEXEC,
  257. BSD_ENODATA,
  258. BSD_ELIBBAD,
  259. BSD_ENOPKG,
  260. BSD_ELIBACC,
  261. BSD_ENOTUNIQ,
  262. BSD_ERESTART,
  263. BSD_EUCLEAN,
  264. BSD_ENOTNAM,
  265. BSD_ENAVAIL,
  266. BSD_EISNAM,
  267. BSD_EREMOTEIO,
  268. BSD_EILSEQ,
  269. BSD_ELIBMAX,
  270. BSD_ELIBSCN,
  271. };