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