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*be085dcdSpookarumpuser__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