/* * Copyright 2016 Chris Torek * All rights reserved * * Redistribution and use in source and binary forms, with or without * modification, are permitted providing that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * */ #ifndef LIB9P_LINUX_ERRNO_H #define LIB9P_LINUX_ERRNO_H /* * Linux error numbers that are outside of the original base range * (which ends with ERANGE). * * This is pretty much the same as Linux's errno.h except that the * names are prefixed with "LINUX_", and we add _STR with the * string name. * * The string expansions were obtained with a little program to * print every strerror(). * * Note that BSD EDEADLK is 11 and BSD EAGAIN is 35, vs * Linux / Plan9 EAGAIN at 11. So one value in the ERANGE * range still needs translation too. */ #define LINUX_EAGAIN 11 #define LINUX_EAGAIN_STR "Resource temporarily unavailable" #define LINUX_EDEADLK 35 #define LINUX_EDEADLK_STR "Resource deadlock avoided" #define LINUX_ENAMETOOLONG 36 #define LINUX_ENAMETOOLONG_STR "File name too long" #define LINUX_ENOLCK 37 #define LINUX_ENOLCK_STR "No locks available" #define LINUX_ENOSYS 38 #define LINUX_ENOSYS_STR "Function not implemented" #define LINUX_ENOTEMPTY 39 #define LINUX_ENOTEMPTY_STR "Directory not empty" #define LINUX_ELOOP 40 #define LINUX_ELOOP_STR "Too many levels of symbolic links" /* 41 unused */ #define LINUX_ENOMSG 42 #define LINUX_ENOMSG_STR "No message of desired type" #define LINUX_EIDRM 43 #define LINUX_EIDRM_STR "Identifier removed" #define LINUX_ECHRNG 44 #define LINUX_ECHRNG_STR "Channel number out of range" #define LINUX_EL2NSYNC 45 #define LINUX_EL2NSYNC_STR "Level 2 not synchronized" #define LINUX_EL3HLT 46 #define LINUX_EL3HLT_STR "Level 3 halted" #define LINUX_EL3RST 47 #define LINUX_EL3RST_STR "Level 3 reset" #define LINUX_ELNRNG 48 #define LINUX_ELNRNG_STR "Link number out of range" #define LINUX_EUNATCH 49 #define LINUX_EUNATCH_STR "Protocol driver not attached" #define LINUX_ENOCSI 50 #define LINUX_ENOCSI_STR "No CSI structure available" #define LINUX_EL2HLT 51 #define LINUX_EL2HLT_STR "Level 2 halted" #define LINUX_EBADE 52 #define LINUX_EBADE_STR "Invalid exchange" #define LINUX_EBADR 53 #define LINUX_EBADR_STR "Invalid request descriptor" #define LINUX_EXFULL 54 #define LINUX_EXFULL_STR "Exchange full" #define LINUX_ENOANO 55 #define LINUX_ENOANO_STR "No anode" #define LINUX_EBADRQC 56 #define LINUX_EBADRQC_STR "Invalid request code" #define LINUX_EBADSLT 57 #define LINUX_EBADSLT_STR "Invalid slot" /* 58 unused */ #define LINUX_EBFONT 59 #define LINUX_EBFONT_STR "Bad font file format" #define LINUX_ENOSTR 60 #define LINUX_ENOSTR_STR "Device not a stream" #define LINUX_ENODATA 61 #define LINUX_ENODATA_STR "No data available" #define LINUX_ETIME 62 #define LINUX_ETIME_STR "Timer expired" #define LINUX_ENOSR 63 #define LINUX_ENOSR_STR "Out of streams resources" #define LINUX_ENONET 64 #define LINUX_ENONET_STR "Machine is not on the network" #define LINUX_ENOPKG 65 #define LINUX_ENOPKG_STR "Package not installed" #define LINUX_EREMOTE 66 #define LINUX_EREMOTE_STR "Object is remote" #define LINUX_ENOLINK 67 #define LINUX_ENOLINK_STR "Link has been severed" #define LINUX_EADV 68 #define LINUX_EADV_STR "Advertise error" #define LINUX_ESRMNT 69 #define LINUX_ESRMNT_STR "Srmount error" #define LINUX_ECOMM 70 #define LINUX_ECOMM_STR "Communication error on send" #define LINUX_EPROTO 71 #define LINUX_EPROTO_STR "Protocol error" #define LINUX_EMULTIHOP 72 #define LINUX_EMULTIHOP_STR "Multihop attempted" #define LINUX_EDOTDOT 73 #define LINUX_EDOTDOT_STR "RFS specific error" #define LINUX_EBADMSG 74 #define LINUX_EBADMSG_STR "Bad message" #define LINUX_EOVERFLOW 75 #define LINUX_EOVERFLOW_STR "Value too large for defined data type" #define LINUX_ENOTUNIQ 76 #define LINUX_ENOTUNIQ_STR "Name not unique on network" #define LINUX_EBADFD 77 #define LINUX_EBADFD_STR "File descriptor in bad state" #define LINUX_EREMCHG 78 #define LINUX_EREMCHG_STR "Remote address changed" #define LINUX_ELIBACC 79 #define LINUX_ELIBACC_STR "Can not access a needed shared library" #define LINUX_ELIBBAD 80 #define LINUX_ELIBBAD_STR "Accessing a corrupted shared library" #define LINUX_ELIBSCN 81 #define LINUX_ELIBSCN_STR ".lib section in a.out corrupted" #define LINUX_ELIBMAX 82 #define LINUX_ELIBMAX_STR "Attempting to link in too many shared libraries" #define LINUX_ELIBEXEC 83 #define LINUX_ELIBEXEC_STR "Cannot exec a shared library directly" #define LINUX_EILSEQ 84 #define LINUX_EILSEQ_STR "Invalid or incomplete multibyte or wide character" #define LINUX_ERESTART 85 #define LINUX_ERESTART_STR "Interrupted system call should be restarted" #define LINUX_ESTRPIPE 86 #define LINUX_ESTRPIPE_STR "Streams pipe error" #define LINUX_EUSERS 87 #define LINUX_EUSERS_STR "Too many users" #define LINUX_ENOTSOCK 88 #define LINUX_ENOTSOCK_STR "Socket operation on non-socket" #define LINUX_EDESTADDRREQ 89 #define LINUX_EDESTADDRREQ_STR "Destination address required" #define LINUX_EMSGSIZE 90 #define LINUX_EMSGSIZE_STR "Message too long" #define LINUX_EPROTOTYPE 91 #define LINUX_EPROTOTYPE_STR "Protocol wrong type for socket" #define LINUX_ENOPROTOOPT 92 #define LINUX_ENOPROTOOPT_STR "Protocol not available" #define LINUX_EPROTONOSUPPORT 93 #define LINUX_EPROTONOSUPPORT_STR "Protocol not supported" #define LINUX_ESOCKTNOSUPPORT 94 #define LINUX_ESOCKTNOSUPPORT_STR "Socket type not supported" #define LINUX_EOPNOTSUPP 95 #define LINUX_EOPNOTSUPP_STR "Operation not supported" #define LINUX_EPFNOSUPPORT 96 #define LINUX_EPFNOSUPPORT_STR "Protocol family not supported" #define LINUX_EAFNOSUPPORT 97 #define LINUX_EAFNOSUPPORT_STR "Address family not supported by protocol" #define LINUX_EADDRINUSE 98 #define LINUX_EADDRINUSE_STR "Address already in use" #define LINUX_EADDRNOTAVAIL 99 #define LINUX_EADDRNOTAVAIL_STR "Cannot assign requested address" #define LINUX_ENETDOWN 100 #define LINUX_ENETDOWN_STR "Network is down" #define LINUX_ENETUNREACH 101 #define LINUX_ENETUNREACH_STR "Network is unreachable" #define LINUX_ENETRESET 102 #define LINUX_ENETRESET_STR "Network dropped connection on reset" #define LINUX_ECONNABORTED 103 #define LINUX_ECONNABORTED_STR "Software caused connection abort" #define LINUX_ECONNRESET 104 #define LINUX_ECONNRESET_STR "Connection reset by peer" #define LINUX_ENOBUFS 105 #define LINUX_ENOBUFS_STR "No buffer space available" #define LINUX_EISCONN 106 #define LINUX_EISCONN_STR "Transport endpoint is already connected" #define LINUX_ENOTCONN 107 #define LINUX_ENOTCONN_STR "Transport endpoint is not connected" #define LINUX_ESHUTDOWN 108 #define LINUX_ESHUTDOWN_STR "Cannot send after transport endpoint shutdown" #define LINUX_ETOOMANYREFS 109 #define LINUX_ETOOMANYREFS_STR "Too many references: cannot splice" #define LINUX_ETIMEDOUT 110 #define LINUX_ETIMEDOUT_STR "Connection timed out" #define LINUX_ECONNREFUSED 111 #define LINUX_ECONNREFUSED_STR "Connection refused" #define LINUX_EHOSTDOWN 112 #define LINUX_EHOSTDOWN_STR "Host is down" #define LINUX_EHOSTUNREACH 113 #define LINUX_EHOSTUNREACH_STR "No route to host" #define LINUX_EALREADY 114 #define LINUX_EALREADY_STR "Operation already in progress" #define LINUX_EINPROGRESS 115 #define LINUX_EINPROGRESS_STR "Operation now in progress" #define LINUX_ESTALE 116 #define LINUX_ESTALE_STR "Stale file handle" #define LINUX_EUCLEAN 117 #define LINUX_EUCLEAN_STR "Structure needs cleaning" #define LINUX_ENOTNAM 118 #define LINUX_ENOTNAM_STR "Not a XENIX named type file" #define LINUX_ENAVAIL 119 #define LINUX_ENAVAIL_STR "No XENIX semaphores available" #define LINUX_EISNAM 120 #define LINUX_EISNAM_STR "Is a named type file" #define LINUX_EREMOTEIO 121 #define LINUX_EREMOTEIO_STR "Remote I/O error" #define LINUX_EDQUOT 122 #define LINUX_EDQUOT_STR "Quota exceeded" #define LINUX_ENOMEDIUM 123 #define LINUX_ENOMEDIUM_STR "No medium found" #define LINUX_EMEDIUMTYPE 124 #define LINUX_EMEDIUMTYPE_STR "Wrong medium type" #define LINUX_ECANCELED 125 #define LINUX_ECANCELED_STR "Operation canceled" #define LINUX_ENOKEY 126 #define LINUX_ENOKEY_STR "Required key not available" #define LINUX_EKEYEXPIRED 127 #define LINUX_EKEYEXPIRED_STR "Key has expired" #define LINUX_EKEYREVOKED 128 #define LINUX_EKEYREVOKED_STR "Key has been revoked" #define LINUX_EKEYREJECTED 129 #define LINUX_EKEYREJECTED_STR "Key was rejected by service" #define LINUX_EOWNERDEAD 130 #define LINUX_EOWNERDEAD_STR "Owner died" #define LINUX_ENOTRECOVERABLE 131 #define LINUX_ENOTRECOVERABLE_STR "State not recoverable" #define LINUX_ERFKILL 132 #define LINUX_ERFKILL_STR "Operation not possible due to RF-kill" #define LINUX_EHWPOISON 133 #define LINUX_EHWPOISON_STR "Memory page has hardware error" #endif /* LIB9P_LINUX_ERRNO_H */