| /* $Id: errtbls.c,v 1.2 1995/11/25 00:57:55 davem Exp $ | 
 |  * errtbls.c: Error number conversion tables between various syscall | 
 |  *            OS semantics. | 
 |  * | 
 |  * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | 
 |  * | 
 |  * Based upon preliminary work which is: | 
 |  * | 
 |  * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) | 
 |  */ | 
 |  | 
 | #include <asm/bsderrno.h>        /* NetBSD (bsd4.4) errnos */ | 
 | #include <asm/solerrno.h>        /* Solaris errnos */ | 
 |  | 
 | /* Here are tables which convert between Linux/SunOS error number | 
 |  * values to the equivalent in other OSs.  Note that since the Linux | 
 |  * ones have been set up to match exactly those of SunOS, no | 
 |  * translation table is needed for that OS. | 
 |  */ | 
 |  | 
 | int solaris_errno[] = { | 
 | 	0, | 
 | 	SOL_EPERM, | 
 | 	SOL_ENOENT, | 
 | 	SOL_ESRCH, | 
 | 	SOL_EINTR, | 
 | 	SOL_EIO, | 
 | 	SOL_ENXIO, | 
 | 	SOL_E2BIG, | 
 | 	SOL_ENOEXEC, | 
 | 	SOL_EBADF, | 
 | 	SOL_ECHILD, | 
 | 	SOL_EAGAIN, | 
 | 	SOL_ENOMEM, | 
 | 	SOL_EACCES, | 
 | 	SOL_EFAULT, | 
 | 	SOL_NOTBLK, | 
 | 	SOL_EBUSY, | 
 | 	SOL_EEXIST, | 
 | 	SOL_EXDEV, | 
 | 	SOL_ENODEV, | 
 | 	SOL_ENOTDIR, | 
 | 	SOL_EISDIR, | 
 | 	SOL_EINVAL, | 
 | 	SOL_ENFILE, | 
 | 	SOL_EMFILE, | 
 | 	SOL_ENOTTY, | 
 | 	SOL_ETXTBSY, | 
 | 	SOL_EFBIG, | 
 | 	SOL_ENOSPC, | 
 | 	SOL_ESPIPE, | 
 | 	SOL_EROFS, | 
 | 	SOL_EMLINK, | 
 | 	SOL_EPIPE, | 
 | 	SOL_EDOM, | 
 | 	SOL_ERANGE, | 
 | 	SOL_EWOULDBLOCK, | 
 | 	SOL_EINPROGRESS, | 
 | 	SOL_EALREADY, | 
 | 	SOL_ENOTSOCK, | 
 | 	SOL_EDESTADDRREQ, | 
 | 	SOL_EMSGSIZE, | 
 | 	SOL_EPROTOTYPE, | 
 | 	SOL_ENOPROTOOPT, | 
 | 	SOL_EPROTONOSUPPORT, | 
 | 	SOL_ESOCKTNOSUPPORT, | 
 | 	SOL_EOPNOTSUPP, | 
 | 	SOL_EPFNOSUPPORT, | 
 | 	SOL_EAFNOSUPPORT, | 
 | 	SOL_EADDRINUSE, | 
 | 	SOL_EADDRNOTAVAIL, | 
 | 	SOL_ENETDOWN, | 
 | 	SOL_ENETUNREACH, | 
 | 	SOL_ENETRESET, | 
 | 	SOL_ECONNABORTED, | 
 | 	SOL_ECONNRESET, | 
 | 	SOL_ENOBUFS, | 
 | 	SOL_EISCONN, | 
 | 	SOL_ENOTONN, | 
 | 	SOL_ESHUTDOWN, | 
 | 	SOL_ETOOMANYREFS, | 
 | 	SOL_ETIMEDOUT, | 
 | 	SOL_ECONNREFUSED, | 
 | 	SOL_ELOOP, | 
 | 	SOL_ENAMETOOLONG, | 
 | 	SOL_EHOSTDOWN, | 
 | 	SOL_EHOSTUNREACH, | 
 | 	SOL_ENOTEMPTY, | 
 | 	SOL_EPROCLIM, | 
 | 	SOL_EUSERS, | 
 | 	SOL_EDQUOT, | 
 | 	SOL_ESTALE, | 
 | 	SOL_EREMOTE, | 
 | 	SOL_ENOSTR, | 
 | 	SOL_ETIME, | 
 | 	SOL_ENOSR, | 
 | 	SOL_ENOMSG, | 
 | 	SOL_EBADMSG, | 
 | 	SOL_IDRM, | 
 | 	SOL_EDEADLK, | 
 | 	SOL_ENOLCK, | 
 | 	SOL_ENONET, | 
 | 	SOL_ERREMOTE, | 
 | 	SOL_ENOLINK, | 
 | 	SOL_EADV, | 
 | 	SOL_ESRMNT, | 
 | 	SOL_ECOMM, | 
 | 	SOL_EPROTO, | 
 | 	SOL_EMULTIHOP, | 
 | 	SOL_EINVAL,    /* EDOTDOT XXX??? */ | 
 | 	SOL_REMCHG, | 
 | 	SOL_NOSYS, | 
 | 	SOL_STRPIPE, | 
 | 	SOL_EOVERFLOW, | 
 | 	SOL_EBADFD, | 
 | 	SOL_ECHRNG, | 
 | 	SOL_EL2NSYNC, | 
 | 	SOL_EL3HLT, | 
 | 	SOL_EL3RST, | 
 | 	SOL_NRNG, | 
 | 	SOL_EUNATCH, | 
 | 	SOL_ENOCSI, | 
 | 	SOL_EL2HLT, | 
 | 	SOL_EBADE, | 
 | 	SOL_EBADR, | 
 | 	SOL_EXFULL, | 
 | 	SOL_ENOANO, | 
 | 	SOL_EBADRQC, | 
 | 	SOL_EBADSLT, | 
 | 	SOL_EDEADLOCK, | 
 | 	SOL_EBFONT, | 
 | 	SOL_ELIBEXEC, | 
 | 	SOL_ENODATA, | 
 | 	SOL_ELIBBAD, | 
 | 	SOL_ENOPKG, | 
 | 	SOL_ELIBACC, | 
 | 	SOL_ENOTUNIQ, | 
 | 	SOL_ERESTART, | 
 | 	SOL_EUCLEAN, | 
 | 	SOL_ENOTNAM, | 
 | 	SOL_ENAVAIL, | 
 | 	SOL_EISNAM, | 
 | 	SOL_EREMOTEIO, | 
 | 	SOL_EILSEQ, | 
 | 	SOL_ELIBMAX, | 
 | 	SOL_ELIBSCN, | 
 | }; | 
 |  | 
 | int netbsd_errno[] = { | 
 | 	0, | 
 | 	BSD_EPERM, | 
 | 	BSD_ENOENT, | 
 | 	BSD_ESRCH, | 
 | 	BSD_EINTR, | 
 | 	BSD_EIO, | 
 | 	BSD_ENXIO, | 
 | 	BSD_E2BIG, | 
 | 	BSD_ENOEXEC, | 
 | 	BSD_EBADF, | 
 | 	BSD_ECHILD, | 
 | 	BSD_EAGAIN, | 
 | 	BSD_ENOMEM, | 
 | 	BSD_EACCES, | 
 | 	BSD_EFAULT, | 
 | 	BSD_NOTBLK, | 
 | 	BSD_EBUSY, | 
 | 	BSD_EEXIST, | 
 | 	BSD_EXDEV, | 
 | 	BSD_ENODEV, | 
 | 	BSD_ENOTDIR, | 
 | 	BSD_EISDIR, | 
 | 	BSD_EINVAL, | 
 | 	BSD_ENFILE, | 
 | 	BSD_EMFILE, | 
 | 	BSD_ENOTTY, | 
 | 	BSD_ETXTBSY, | 
 | 	BSD_EFBIG, | 
 | 	BSD_ENOSPC, | 
 | 	BSD_ESPIPE, | 
 | 	BSD_EROFS, | 
 | 	BSD_EMLINK, | 
 | 	BSD_EPIPE, | 
 | 	BSD_EDOM, | 
 | 	BSD_ERANGE, | 
 | 	BSD_EWOULDBLOCK, | 
 | 	BSD_EINPROGRESS, | 
 | 	BSD_EALREADY, | 
 | 	BSD_ENOTSOCK, | 
 | 	BSD_EDESTADDRREQ, | 
 | 	BSD_EMSGSIZE, | 
 | 	BSD_EPROTOTYPE, | 
 | 	BSD_ENOPROTOOPT, | 
 | 	BSD_EPROTONOSUPPORT, | 
 | 	BSD_ESOCKTNOSUPPORT, | 
 | 	BSD_EOPNOTSUPP, | 
 | 	BSD_EPFNOSUPPORT, | 
 | 	BSD_EAFNOSUPPORT, | 
 | 	BSD_EADDRINUSE, | 
 | 	BSD_EADDRNOTAVAIL, | 
 | 	BSD_ENETDOWN, | 
 | 	BSD_ENETUNREACH, | 
 | 	BSD_ENETRESET, | 
 | 	BSD_ECONNABORTED, | 
 | 	BSD_ECONNRESET, | 
 | 	BSD_ENOBUFS, | 
 | 	BSD_EISCONN, | 
 | 	BSD_ENOTONN, | 
 | 	BSD_ESHUTDOWN, | 
 | 	BSD_ETOOMANYREFS, | 
 | 	BSD_ETIMEDOUT, | 
 | 	BSD_ECONNREFUSED, | 
 | 	BSD_ELOOP, | 
 | 	BSD_ENAMETOOLONG, | 
 | 	BSD_EHOSTDOWN, | 
 | 	BSD_EHOSTUNREACH, | 
 | 	BSD_ENOTEMPTY, | 
 | 	BSD_EPROCLIM, | 
 | 	BSD_EUSERS, | 
 | 	BSD_EDQUOT, | 
 | 	BSD_ESTALE, | 
 | 	BSD_EREMOTE, | 
 | 	BSD_ENOSTR, | 
 | 	BSD_ETIME, | 
 | 	BSD_ENOSR, | 
 | 	BSD_ENOMSG, | 
 | 	BSD_EBADMSG, | 
 | 	BSD_IDRM, | 
 | 	BSD_EDEADLK, | 
 | 	BSD_ENOLCK, | 
 | 	BSD_ENONET, | 
 | 	BSD_ERREMOTE, | 
 | 	BSD_ENOLINK, | 
 | 	BSD_EADV, | 
 | 	BSD_ESRMNT, | 
 | 	BSD_ECOMM, | 
 | 	BSD_EPROTO, | 
 | 	BSD_EMULTIHOP, | 
 | 	BSD_EINVAL,    /* EDOTDOT XXX??? */ | 
 | 	BSD_REMCHG, | 
 | 	BSD_NOSYS, | 
 | 	BSD_STRPIPE, | 
 | 	BSD_EOVERFLOW, | 
 | 	BSD_EBADFD, | 
 | 	BSD_ECHRNG, | 
 | 	BSD_EL2NSYNC, | 
 | 	BSD_EL3HLT, | 
 | 	BSD_EL3RST, | 
 | 	BSD_NRNG, | 
 | 	BSD_EUNATCH, | 
 | 	BSD_ENOCSI, | 
 | 	BSD_EL2HLT, | 
 | 	BSD_EBADE, | 
 | 	BSD_EBADR, | 
 | 	BSD_EXFULL, | 
 | 	BSD_ENOANO, | 
 | 	BSD_EBADRQC, | 
 | 	BSD_EBADSLT, | 
 | 	BSD_EDEADLOCK, | 
 | 	BSD_EBFONT, | 
 | 	BSD_ELIBEXEC, | 
 | 	BSD_ENODATA, | 
 | 	BSD_ELIBBAD, | 
 | 	BSD_ENOPKG, | 
 | 	BSD_ELIBACC, | 
 | 	BSD_ENOTUNIQ, | 
 | 	BSD_ERESTART, | 
 | 	BSD_EUCLEAN, | 
 | 	BSD_ENOTNAM, | 
 | 	BSD_ENAVAIL, | 
 | 	BSD_EISNAM, | 
 | 	BSD_EREMOTEIO, | 
 | 	BSD_EILSEQ, | 
 | 	BSD_ELIBMAX, | 
 | 	BSD_ELIBSCN, | 
 | }; | 
 |  |