xref: /netbsd-src/lib/librumpuser/rumpuser_errtrans.c (revision be085dcd7252bfb9dfc2f510db76bc55a1c94198)
1*be085dcdSpooka /*	$NetBSD: rumpuser_errtrans.c,v 1.1 2013/04/30 12:39:20 pooka Exp $	*/
2*be085dcdSpooka 
3*be085dcdSpooka /*
4*be085dcdSpooka  * pseudo-automatically generated.  PLEASE DO EDIT (e.g. in case there
5*be085dcdSpooka  * are errnos which are defined to be the same value)
6*be085dcdSpooka  *
7*be085dcdSpooka  *   awk '/^#define/{printf "#ifdef %s\n\tcase %-15s: return %s;\n#endif\n", \
8*be085dcdSpooka  *        $2, $2, $3}' < errno.h
9*be085dcdSpooka  *
10*be085dcdSpooka  */
11*be085dcdSpooka 
12*be085dcdSpooka #include <errno.h>
13*be085dcdSpooka 
14*be085dcdSpooka /*
15*be085dcdSpooka  * Translate host errno to rump kernel errno
16*be085dcdSpooka  */
17*be085dcdSpooka int rumpuser__errtrans(int); /* a naughty decouple */
18*be085dcdSpooka int
rumpuser__errtrans(int hosterr)19*be085dcdSpooka rumpuser__errtrans(int hosterr)
20*be085dcdSpooka {
21*be085dcdSpooka 
22*be085dcdSpooka 	/* just in case the vompiler is being silly */
23*be085dcdSpooka 	if (hosterr == 0)
24*be085dcdSpooka 		return 0;
25*be085dcdSpooka 
26*be085dcdSpooka 	switch (hosterr) {
27*be085dcdSpooka #ifdef EPERM
28*be085dcdSpooka 	case EPERM          : return 1;
29*be085dcdSpooka #endif
30*be085dcdSpooka #ifdef ENOENT
31*be085dcdSpooka 	case ENOENT         : return 2;
32*be085dcdSpooka #endif
33*be085dcdSpooka #ifdef ESRCH
34*be085dcdSpooka 	case ESRCH          : return 3;
35*be085dcdSpooka #endif
36*be085dcdSpooka #ifdef EINTR
37*be085dcdSpooka 	case EINTR          : return 4;
38*be085dcdSpooka #endif
39*be085dcdSpooka #ifdef EIO
40*be085dcdSpooka 	case EIO            : return 5;
41*be085dcdSpooka #endif
42*be085dcdSpooka #ifdef ENXIO
43*be085dcdSpooka 	case ENXIO          : return 6;
44*be085dcdSpooka #endif
45*be085dcdSpooka #ifdef E2BIG
46*be085dcdSpooka 	case E2BIG          : return 7;
47*be085dcdSpooka #endif
48*be085dcdSpooka #ifdef ENOEXEC
49*be085dcdSpooka 	case ENOEXEC        : return 8;
50*be085dcdSpooka #endif
51*be085dcdSpooka #ifdef EBADF
52*be085dcdSpooka 	case EBADF          : return 9;
53*be085dcdSpooka #endif
54*be085dcdSpooka #ifdef ECHILD
55*be085dcdSpooka 	case ECHILD         : return 10;
56*be085dcdSpooka #endif
57*be085dcdSpooka #ifdef EDEADLK
58*be085dcdSpooka 	case EDEADLK        : return 11;
59*be085dcdSpooka #endif
60*be085dcdSpooka #ifdef ENOMEM
61*be085dcdSpooka 	case ENOMEM         : return 12;
62*be085dcdSpooka #endif
63*be085dcdSpooka #ifdef EACCES
64*be085dcdSpooka 	case EACCES         : return 13;
65*be085dcdSpooka #endif
66*be085dcdSpooka #ifdef EFAULT
67*be085dcdSpooka 	case EFAULT         : return 14;
68*be085dcdSpooka #endif
69*be085dcdSpooka #ifdef ENOTBLK
70*be085dcdSpooka 	case ENOTBLK        : return 15;
71*be085dcdSpooka #endif
72*be085dcdSpooka #ifdef EBUSY
73*be085dcdSpooka 	case EBUSY          : return 16;
74*be085dcdSpooka #endif
75*be085dcdSpooka #ifdef EEXIST
76*be085dcdSpooka 	case EEXIST         : return 17;
77*be085dcdSpooka #endif
78*be085dcdSpooka #ifdef EXDEV
79*be085dcdSpooka 	case EXDEV          : return 18;
80*be085dcdSpooka #endif
81*be085dcdSpooka #ifdef ENODEV
82*be085dcdSpooka 	case ENODEV         : return 19;
83*be085dcdSpooka #endif
84*be085dcdSpooka #ifdef ENOTDIR
85*be085dcdSpooka 	case ENOTDIR        : return 20;
86*be085dcdSpooka #endif
87*be085dcdSpooka #ifdef EISDIR
88*be085dcdSpooka 	case EISDIR         : return 21;
89*be085dcdSpooka #endif
90*be085dcdSpooka #ifdef EINVAL
91*be085dcdSpooka 	case EINVAL         : return 22;
92*be085dcdSpooka #endif
93*be085dcdSpooka #ifdef ENFILE
94*be085dcdSpooka 	case ENFILE         : return 23;
95*be085dcdSpooka #endif
96*be085dcdSpooka #ifdef EMFILE
97*be085dcdSpooka 	case EMFILE         : return 24;
98*be085dcdSpooka #endif
99*be085dcdSpooka #ifdef ENOTTY
100*be085dcdSpooka 	case ENOTTY         : return 25;
101*be085dcdSpooka #endif
102*be085dcdSpooka #ifdef ETXTBSY
103*be085dcdSpooka 	case ETXTBSY        : return 26;
104*be085dcdSpooka #endif
105*be085dcdSpooka #ifdef EFBIG
106*be085dcdSpooka 	case EFBIG          : return 27;
107*be085dcdSpooka #endif
108*be085dcdSpooka #ifdef ENOSPC
109*be085dcdSpooka 	case ENOSPC         : return 28;
110*be085dcdSpooka #endif
111*be085dcdSpooka #ifdef ESPIPE
112*be085dcdSpooka 	case ESPIPE         : return 29;
113*be085dcdSpooka #endif
114*be085dcdSpooka #ifdef EROFS
115*be085dcdSpooka 	case EROFS          : return 30;
116*be085dcdSpooka #endif
117*be085dcdSpooka #ifdef EMLINK
118*be085dcdSpooka 	case EMLINK         : return 31;
119*be085dcdSpooka #endif
120*be085dcdSpooka #ifdef EPIPE
121*be085dcdSpooka 	case EPIPE          : return 32;
122*be085dcdSpooka #endif
123*be085dcdSpooka #ifdef EDOM
124*be085dcdSpooka 	case EDOM           : return 33;
125*be085dcdSpooka #endif
126*be085dcdSpooka #ifdef ERANGE
127*be085dcdSpooka 	case ERANGE         : return 34;
128*be085dcdSpooka #endif
129*be085dcdSpooka #ifdef EAGAIN
130*be085dcdSpooka 	case EAGAIN         : return 35;
131*be085dcdSpooka #endif
132*be085dcdSpooka #if defined(EWOULDBLOCK) && EWOULDBLOCK != EAGAIN
133*be085dcdSpooka 	case EWOULDBLOCK    : return 35;
134*be085dcdSpooka #endif
135*be085dcdSpooka #ifdef EINPROGRESS
136*be085dcdSpooka 	case EINPROGRESS    : return 36;
137*be085dcdSpooka #endif
138*be085dcdSpooka #ifdef EALREADY
139*be085dcdSpooka 	case EALREADY       : return 37;
140*be085dcdSpooka #endif
141*be085dcdSpooka #ifdef ENOTSOCK
142*be085dcdSpooka 	case ENOTSOCK       : return 38;
143*be085dcdSpooka #endif
144*be085dcdSpooka #ifdef EDESTADDRREQ
145*be085dcdSpooka 	case EDESTADDRREQ   : return 39;
146*be085dcdSpooka #endif
147*be085dcdSpooka #ifdef EMSGSIZE
148*be085dcdSpooka 	case EMSGSIZE       : return 40;
149*be085dcdSpooka #endif
150*be085dcdSpooka #ifdef EPROTOTYPE
151*be085dcdSpooka 	case EPROTOTYPE     : return 41;
152*be085dcdSpooka #endif
153*be085dcdSpooka #ifdef ENOPROTOOPT
154*be085dcdSpooka 	case ENOPROTOOPT    : return 42;
155*be085dcdSpooka #endif
156*be085dcdSpooka #ifdef EPROTONOSUPPORT
157*be085dcdSpooka 	case EPROTONOSUPPORT: return 43;
158*be085dcdSpooka #endif
159*be085dcdSpooka #ifdef ESOCKTNOSUPPORT
160*be085dcdSpooka 	case ESOCKTNOSUPPORT: return 44;
161*be085dcdSpooka #endif
162*be085dcdSpooka #ifdef EOPNOTSUPP
163*be085dcdSpooka 	case EOPNOTSUPP     : return 45;
164*be085dcdSpooka #endif
165*be085dcdSpooka #ifdef EPFNOSUPPORT
166*be085dcdSpooka 	case EPFNOSUPPORT   : return 46;
167*be085dcdSpooka #endif
168*be085dcdSpooka #ifdef EAFNOSUPPORT
169*be085dcdSpooka 	case EAFNOSUPPORT   : return 47;
170*be085dcdSpooka #endif
171*be085dcdSpooka #ifdef EADDRINUSE
172*be085dcdSpooka 	case EADDRINUSE     : return 48;
173*be085dcdSpooka #endif
174*be085dcdSpooka #ifdef EADDRNOTAVAIL
175*be085dcdSpooka 	case EADDRNOTAVAIL  : return 49;
176*be085dcdSpooka #endif
177*be085dcdSpooka #ifdef ENETDOWN
178*be085dcdSpooka 	case ENETDOWN       : return 50;
179*be085dcdSpooka #endif
180*be085dcdSpooka #ifdef ENETUNREACH
181*be085dcdSpooka 	case ENETUNREACH    : return 51;
182*be085dcdSpooka #endif
183*be085dcdSpooka #ifdef ENETRESET
184*be085dcdSpooka 	case ENETRESET      : return 52;
185*be085dcdSpooka #endif
186*be085dcdSpooka #ifdef ECONNABORTED
187*be085dcdSpooka 	case ECONNABORTED   : return 53;
188*be085dcdSpooka #endif
189*be085dcdSpooka #ifdef ECONNRESET
190*be085dcdSpooka 	case ECONNRESET     : return 54;
191*be085dcdSpooka #endif
192*be085dcdSpooka #ifdef ENOBUFS
193*be085dcdSpooka 	case ENOBUFS        : return 55;
194*be085dcdSpooka #endif
195*be085dcdSpooka #ifdef EISCONN
196*be085dcdSpooka 	case EISCONN        : return 56;
197*be085dcdSpooka #endif
198*be085dcdSpooka #ifdef ENOTCONN
199*be085dcdSpooka 	case ENOTCONN       : return 57;
200*be085dcdSpooka #endif
201*be085dcdSpooka #ifdef ESHUTDOWN
202*be085dcdSpooka 	case ESHUTDOWN      : return 58;
203*be085dcdSpooka #endif
204*be085dcdSpooka #ifdef ETOOMANYREFS
205*be085dcdSpooka 	case ETOOMANYREFS   : return 59;
206*be085dcdSpooka #endif
207*be085dcdSpooka #ifdef ETIMEDOUT
208*be085dcdSpooka 	case ETIMEDOUT      : return 60;
209*be085dcdSpooka #endif
210*be085dcdSpooka #ifdef ECONNREFUSED
211*be085dcdSpooka 	case ECONNREFUSED   : return 61;
212*be085dcdSpooka #endif
213*be085dcdSpooka #ifdef ELOOP
214*be085dcdSpooka 	case ELOOP          : return 62;
215*be085dcdSpooka #endif
216*be085dcdSpooka #ifdef ENAMETOOLONG
217*be085dcdSpooka 	case ENAMETOOLONG   : return 63;
218*be085dcdSpooka #endif
219*be085dcdSpooka #ifdef EHOSTDOWN
220*be085dcdSpooka 	case EHOSTDOWN      : return 64;
221*be085dcdSpooka #endif
222*be085dcdSpooka #ifdef EHOSTUNREACH
223*be085dcdSpooka 	case EHOSTUNREACH   : return 65;
224*be085dcdSpooka #endif
225*be085dcdSpooka #ifdef ENOTEMPTY
226*be085dcdSpooka 	case ENOTEMPTY      : return 66;
227*be085dcdSpooka #endif
228*be085dcdSpooka #ifdef EPROCLIM
229*be085dcdSpooka 	case EPROCLIM       : return 67;
230*be085dcdSpooka #endif
231*be085dcdSpooka #ifdef EUSERS
232*be085dcdSpooka 	case EUSERS         : return 68;
233*be085dcdSpooka #endif
234*be085dcdSpooka #ifdef EDQUOT
235*be085dcdSpooka 	case EDQUOT         : return 69;
236*be085dcdSpooka #endif
237*be085dcdSpooka #ifdef ESTALE
238*be085dcdSpooka 	case ESTALE         : return 70;
239*be085dcdSpooka #endif
240*be085dcdSpooka #ifdef EREMOTE
241*be085dcdSpooka 	case EREMOTE        : return 71;
242*be085dcdSpooka #endif
243*be085dcdSpooka #ifdef EBADRPC
244*be085dcdSpooka 	case EBADRPC        : return 72;
245*be085dcdSpooka #endif
246*be085dcdSpooka #ifdef ERPCMISMATCH
247*be085dcdSpooka 	case ERPCMISMATCH   : return 73;
248*be085dcdSpooka #endif
249*be085dcdSpooka #ifdef EPROGUNAVAIL
250*be085dcdSpooka 	case EPROGUNAVAIL   : return 74;
251*be085dcdSpooka #endif
252*be085dcdSpooka #ifdef EPROGMISMATCH
253*be085dcdSpooka 	case EPROGMISMATCH  : return 75;
254*be085dcdSpooka #endif
255*be085dcdSpooka #ifdef EPROCUNAVAIL
256*be085dcdSpooka 	case EPROCUNAVAIL   : return 76;
257*be085dcdSpooka #endif
258*be085dcdSpooka #ifdef ENOLCK
259*be085dcdSpooka 	case ENOLCK         : return 77;
260*be085dcdSpooka #endif
261*be085dcdSpooka #ifdef ENOSYS
262*be085dcdSpooka 	case ENOSYS         : return 78;
263*be085dcdSpooka #endif
264*be085dcdSpooka #ifdef EFTYPE
265*be085dcdSpooka 	case EFTYPE         : return 79;
266*be085dcdSpooka #endif
267*be085dcdSpooka #ifdef EAUTH
268*be085dcdSpooka 	case EAUTH          : return 80;
269*be085dcdSpooka #endif
270*be085dcdSpooka #ifdef ENEEDAUTH
271*be085dcdSpooka 	case ENEEDAUTH      : return 81;
272*be085dcdSpooka #endif
273*be085dcdSpooka #ifdef EIDRM
274*be085dcdSpooka 	case EIDRM          : return 82;
275*be085dcdSpooka #endif
276*be085dcdSpooka #ifdef ENOMSG
277*be085dcdSpooka 	case ENOMSG         : return 83;
278*be085dcdSpooka #endif
279*be085dcdSpooka #ifdef EOVERFLOW
280*be085dcdSpooka 	case EOVERFLOW      : return 84;
281*be085dcdSpooka #endif
282*be085dcdSpooka #ifdef EILSEQ
283*be085dcdSpooka 	case EILSEQ         : return 85;
284*be085dcdSpooka #endif
285*be085dcdSpooka #if defined(ENOTSUP) && (!defined(EOPNOTSUPP) || ENOTSUP != EOPNOTSUPP)
286*be085dcdSpooka 	case ENOTSUP        : return 86;
287*be085dcdSpooka #endif
288*be085dcdSpooka #ifdef ECANCELED
289*be085dcdSpooka 	case ECANCELED      : return 87;
290*be085dcdSpooka #endif
291*be085dcdSpooka #ifdef EBADMSG
292*be085dcdSpooka 	case EBADMSG        : return 88;
293*be085dcdSpooka #endif
294*be085dcdSpooka #ifdef ENODATA
295*be085dcdSpooka 	case ENODATA        : return 89;
296*be085dcdSpooka #endif
297*be085dcdSpooka #ifdef ENOSR
298*be085dcdSpooka 	case ENOSR          : return 90;
299*be085dcdSpooka #endif
300*be085dcdSpooka #ifdef ENOSTR
301*be085dcdSpooka 	case ENOSTR         : return 91;
302*be085dcdSpooka #endif
303*be085dcdSpooka #ifdef ETIME
304*be085dcdSpooka 	case ETIME          : return 92;
305*be085dcdSpooka #endif
306*be085dcdSpooka #ifdef ENOATTR
307*be085dcdSpooka 	case ENOATTR        : return 93;
308*be085dcdSpooka #endif
309*be085dcdSpooka #ifdef EMULTIHOP
310*be085dcdSpooka 	case EMULTIHOP      : return 94;
311*be085dcdSpooka #endif
312*be085dcdSpooka #ifdef ENOLINK
313*be085dcdSpooka 	case ENOLINK        : return 95;
314*be085dcdSpooka #endif
315*be085dcdSpooka #ifdef EPROTO
316*be085dcdSpooka 	case EPROTO         : return 96;
317*be085dcdSpooka #endif
318*be085dcdSpooka 
319*be085dcdSpooka 	default             : return 22; /* EINVAL */
320*be085dcdSpooka 	}
321*be085dcdSpooka }
322