#ifdef HAVE_CONFIG_H #include #endif #include #include #include #include "../cpu/cpu-sysdeps.h" #define CHECK_HOST_ERRNO(host_name, mcpu_name) \ do { \ int mapped = __cpu_errno_from_host( (host_name) ); \ if( mapped != (__MCPU_ ## mcpu_name) ) \ { \ fprintf( stderr, #host_name " mapping mismatch: got=%d expected=%d\n", \ mapped, (int)(__MCPU_ ## mcpu_name) ); \ return( 1 ); \ } \ } while( 0 ) int main( void ) { if( __cpu_errno_from_host( 0 ) != 0 ) return( 1 ); if( __cpu_errno_from_host( -1 ) != __MCPU_EUNKNOWN ) return( 1 ); if( __cpu_errno_from_host( 0x7fffffff ) != __MCPU_EUNKNOWN ) return( 1 ); #ifdef EPERM CHECK_HOST_ERRNO( EPERM, EPERM ); #endif #ifdef ENOENT CHECK_HOST_ERRNO( ENOENT, ENOENT ); #endif #ifdef ESRCH CHECK_HOST_ERRNO( ESRCH, ESRCH ); #endif #ifdef EINTR CHECK_HOST_ERRNO( EINTR, EINTR ); #endif #ifdef EIO CHECK_HOST_ERRNO( EIO, EIO ); #endif #ifdef ENXIO CHECK_HOST_ERRNO( ENXIO, ENXIO ); #endif #ifdef E2BIG CHECK_HOST_ERRNO( E2BIG, E2BIG ); #endif #ifdef ENOEXEC CHECK_HOST_ERRNO( ENOEXEC, ENOEXEC ); #endif #ifdef EBADF CHECK_HOST_ERRNO( EBADF, EBADF ); #endif #ifdef ECHILD CHECK_HOST_ERRNO( ECHILD, ECHILD ); #endif #ifdef EAGAIN CHECK_HOST_ERRNO( EAGAIN, EAGAIN ); #endif #ifdef ENOMEM CHECK_HOST_ERRNO( ENOMEM, ENOMEM ); #endif #ifdef EACCES CHECK_HOST_ERRNO( EACCES, EACCES ); #endif #ifdef EFAULT CHECK_HOST_ERRNO( EFAULT, EFAULT ); #endif #ifdef ENOTBLK CHECK_HOST_ERRNO( ENOTBLK, ENOTBLK ); #endif #ifdef EBUSY CHECK_HOST_ERRNO( EBUSY, EBUSY ); #endif #ifdef EEXIST CHECK_HOST_ERRNO( EEXIST, EEXIST ); #endif #ifdef EXDEV CHECK_HOST_ERRNO( EXDEV, EXDEV ); #endif #ifdef ENODEV CHECK_HOST_ERRNO( ENODEV, ENODEV ); #endif #ifdef ENOTDIR CHECK_HOST_ERRNO( ENOTDIR, ENOTDIR ); #endif #ifdef EISDIR CHECK_HOST_ERRNO( EISDIR, EISDIR ); #endif #ifdef EINVAL CHECK_HOST_ERRNO( EINVAL, EINVAL ); #endif #ifdef ENFILE CHECK_HOST_ERRNO( ENFILE, ENFILE ); #endif #ifdef EMFILE CHECK_HOST_ERRNO( EMFILE, EMFILE ); #endif #ifdef ENOTTY CHECK_HOST_ERRNO( ENOTTY, ENOTTY ); #endif #ifdef ETXTBSY CHECK_HOST_ERRNO( ETXTBSY, ETXTBSY ); #endif #ifdef EFBIG CHECK_HOST_ERRNO( EFBIG, EFBIG ); #endif #ifdef ENOSPC CHECK_HOST_ERRNO( ENOSPC, ENOSPC ); #endif #ifdef ESPIPE CHECK_HOST_ERRNO( ESPIPE, ESPIPE ); #endif #ifdef EROFS CHECK_HOST_ERRNO( EROFS, EROFS ); #endif #ifdef EMLINK CHECK_HOST_ERRNO( EMLINK, EMLINK ); #endif #ifdef EPIPE CHECK_HOST_ERRNO( EPIPE, EPIPE ); #endif #ifdef EDOM CHECK_HOST_ERRNO( EDOM, EDOM ); #endif #ifdef ERANGE CHECK_HOST_ERRNO( ERANGE, ERANGE ); #endif #ifdef EDEADLK CHECK_HOST_ERRNO( EDEADLK, EDEADLK ); #endif #ifdef ENAMETOOLONG CHECK_HOST_ERRNO( ENAMETOOLONG, ENAMETOOLONG ); #endif #ifdef ENOLCK CHECK_HOST_ERRNO( ENOLCK, ENOLCK ); #endif #ifdef ENOSYS CHECK_HOST_ERRNO( ENOSYS, ENOSYS ); #endif #ifdef ENOTEMPTY CHECK_HOST_ERRNO( ENOTEMPTY, ENOTEMPTY ); #endif #ifdef ELOOP CHECK_HOST_ERRNO( ELOOP, ELOOP ); #endif #ifdef ENOMSG CHECK_HOST_ERRNO( ENOMSG, ENOMSG ); #endif #ifdef EIDRM CHECK_HOST_ERRNO( EIDRM, EIDRM ); #endif #ifdef ECHRNG CHECK_HOST_ERRNO( ECHRNG, ECHRNG ); #endif #ifdef EL2NSYNC CHECK_HOST_ERRNO( EL2NSYNC, EL2NSYNC ); #endif #ifdef EL3HLT CHECK_HOST_ERRNO( EL3HLT, EL3HLT ); #endif #ifdef EL3RST CHECK_HOST_ERRNO( EL3RST, EL3RST ); #endif #ifdef ELNRNG CHECK_HOST_ERRNO( ELNRNG, ELNRNG ); #endif #ifdef EUNATCH CHECK_HOST_ERRNO( EUNATCH, EUNATCH ); #endif #ifdef ENOCSI CHECK_HOST_ERRNO( ENOCSI, ENOCSI ); #endif #ifdef EL2HLT CHECK_HOST_ERRNO( EL2HLT, EL2HLT ); #endif #ifdef EBADE CHECK_HOST_ERRNO( EBADE, EBADE ); #endif #ifdef EBADR CHECK_HOST_ERRNO( EBADR, EBADR ); #endif #ifdef EXFULL CHECK_HOST_ERRNO( EXFULL, EXFULL ); #endif #ifdef ENOANO CHECK_HOST_ERRNO( ENOANO, ENOANO ); #endif #ifdef EBADRQC CHECK_HOST_ERRNO( EBADRQC, EBADRQC ); #endif #ifdef EBADSLT CHECK_HOST_ERRNO( EBADSLT, EBADSLT ); #endif #ifdef EBFONT CHECK_HOST_ERRNO( EBFONT, EBFONT ); #endif #ifdef ENOSTR CHECK_HOST_ERRNO( ENOSTR, ENOSTR ); #endif #ifdef ENODATA CHECK_HOST_ERRNO( ENODATA, ENODATA ); #endif #ifdef ETIME CHECK_HOST_ERRNO( ETIME, ETIME ); #endif #ifdef ENOSR CHECK_HOST_ERRNO( ENOSR, ENOSR ); #endif #ifdef ENONET CHECK_HOST_ERRNO( ENONET, ENONET ); #endif #ifdef ENOPKG CHECK_HOST_ERRNO( ENOPKG, ENOPKG ); #endif #ifdef EREMOTE CHECK_HOST_ERRNO( EREMOTE, EREMOTE ); #endif #ifdef ENOLINK CHECK_HOST_ERRNO( ENOLINK, ENOLINK ); #endif #ifdef EADV CHECK_HOST_ERRNO( EADV, EADV ); #endif #ifdef ESRMNT CHECK_HOST_ERRNO( ESRMNT, ESRMNT ); #endif #ifdef ECOMM CHECK_HOST_ERRNO( ECOMM, ECOMM ); #endif #ifdef EPROTO CHECK_HOST_ERRNO( EPROTO, EPROTO ); #endif #ifdef EMULTIHOP CHECK_HOST_ERRNO( EMULTIHOP, EMULTIHOP ); #endif #ifdef EDOTDOT CHECK_HOST_ERRNO( EDOTDOT, EDOTDOT ); #endif #ifdef EBADMSG CHECK_HOST_ERRNO( EBADMSG, EBADMSG ); #endif #ifdef EOVERFLOW CHECK_HOST_ERRNO( EOVERFLOW, EOVERFLOW ); #endif #ifdef ENOTUNIQ CHECK_HOST_ERRNO( ENOTUNIQ, ENOTUNIQ ); #endif #ifdef EBADFD CHECK_HOST_ERRNO( EBADFD, EBADFD ); #endif #ifdef EREMCHG CHECK_HOST_ERRNO( EREMCHG, EREMCHG ); #endif #ifdef ELIBACC CHECK_HOST_ERRNO( ELIBACC, ELIBACC ); #endif #ifdef ELIBBAD CHECK_HOST_ERRNO( ELIBBAD, ELIBBAD ); #endif #ifdef ELIBSCN CHECK_HOST_ERRNO( ELIBSCN, ELIBSCN ); #endif #ifdef ELIBMAX CHECK_HOST_ERRNO( ELIBMAX, ELIBMAX ); #endif #ifdef ELIBEXEC CHECK_HOST_ERRNO( ELIBEXEC, ELIBEXEC ); #endif #ifdef EILSEQ CHECK_HOST_ERRNO( EILSEQ, EILSEQ ); #endif #ifdef ERESTART CHECK_HOST_ERRNO( ERESTART, ERESTART ); #endif #ifdef ESTRPIPE CHECK_HOST_ERRNO( ESTRPIPE, ESTRPIPE ); #endif #ifdef EUSERS CHECK_HOST_ERRNO( EUSERS, EUSERS ); #endif #ifdef ENOTSOCK CHECK_HOST_ERRNO( ENOTSOCK, ENOTSOCK ); #endif #ifdef EDESTADDRREQ CHECK_HOST_ERRNO( EDESTADDRREQ, EDESTADDRREQ ); #endif #ifdef EMSGSIZE CHECK_HOST_ERRNO( EMSGSIZE, EMSGSIZE ); #endif #ifdef EPROTOTYPE CHECK_HOST_ERRNO( EPROTOTYPE, EPROTOTYPE ); #endif #ifdef ENOPROTOOPT CHECK_HOST_ERRNO( ENOPROTOOPT, ENOPROTOOPT ); #endif #ifdef EPROTONOSUPPORT CHECK_HOST_ERRNO( EPROTONOSUPPORT, EPROTONOSUPPORT ); #endif #ifdef ESOCKTNOSUPPORT CHECK_HOST_ERRNO( ESOCKTNOSUPPORT, ESOCKTNOSUPPORT ); #endif #ifdef EOPNOTSUPP CHECK_HOST_ERRNO( EOPNOTSUPP, EOPNOTSUPP ); #endif #ifdef EPFNOSUPPORT CHECK_HOST_ERRNO( EPFNOSUPPORT, EPFNOSUPPORT ); #endif #ifdef EAFNOSUPPORT CHECK_HOST_ERRNO( EAFNOSUPPORT, EAFNOSUPPORT ); #endif #ifdef EADDRINUSE CHECK_HOST_ERRNO( EADDRINUSE, EADDRINUSE ); #endif #ifdef EADDRNOTAVAIL CHECK_HOST_ERRNO( EADDRNOTAVAIL, EADDRNOTAVAIL ); #endif #ifdef ENETDOWN CHECK_HOST_ERRNO( ENETDOWN, ENETDOWN ); #endif #ifdef ENETUNREACH CHECK_HOST_ERRNO( ENETUNREACH, ENETUNREACH ); #endif #ifdef ENETRESET CHECK_HOST_ERRNO( ENETRESET, ENETRESET ); #endif #ifdef ECONNABORTED CHECK_HOST_ERRNO( ECONNABORTED, ECONNABORTED ); #endif #ifdef ECONNRESET CHECK_HOST_ERRNO( ECONNRESET, ECONNRESET ); #endif #ifdef ENOBUFS CHECK_HOST_ERRNO( ENOBUFS, ENOBUFS ); #endif #ifdef EISCONN CHECK_HOST_ERRNO( EISCONN, EISCONN ); #endif #ifdef ENOTCONN CHECK_HOST_ERRNO( ENOTCONN, ENOTCONN ); #endif #ifdef ESHUTDOWN CHECK_HOST_ERRNO( ESHUTDOWN, ESHUTDOWN ); #endif #ifdef ETOOMANYREFS CHECK_HOST_ERRNO( ETOOMANYREFS, ETOOMANYREFS ); #endif #ifdef ETIMEDOUT CHECK_HOST_ERRNO( ETIMEDOUT, ETIMEDOUT ); #endif #ifdef ECONNREFUSED CHECK_HOST_ERRNO( ECONNREFUSED, ECONNREFUSED ); #endif #ifdef EHOSTDOWN CHECK_HOST_ERRNO( EHOSTDOWN, EHOSTDOWN ); #endif #ifdef EHOSTUNREACH CHECK_HOST_ERRNO( EHOSTUNREACH, EHOSTUNREACH ); #endif #ifdef EALREADY CHECK_HOST_ERRNO( EALREADY, EALREADY ); #endif #ifdef EINPROGRESS CHECK_HOST_ERRNO( EINPROGRESS, EINPROGRESS ); #endif #ifdef ESTALE CHECK_HOST_ERRNO( ESTALE, ESTALE ); #endif #ifdef EUCLEAN CHECK_HOST_ERRNO( EUCLEAN, EUCLEAN ); #endif #ifdef ENOTNAM CHECK_HOST_ERRNO( ENOTNAM, ENOTNAM ); #endif #ifdef ENAVAIL CHECK_HOST_ERRNO( ENAVAIL, ENAVAIL ); #endif #ifdef EISNAM CHECK_HOST_ERRNO( EISNAM, EISNAM ); #endif #ifdef EREMOTEIO CHECK_HOST_ERRNO( EREMOTEIO, EREMOTEIO ); #endif #ifdef EDQUOT CHECK_HOST_ERRNO( EDQUOT, EDQUOT ); #endif #ifdef ENOMEDIUM CHECK_HOST_ERRNO( ENOMEDIUM, ENOMEDIUM ); #endif #ifdef EMEDIUMTYPE CHECK_HOST_ERRNO( EMEDIUMTYPE, EMEDIUMTYPE ); #endif #ifdef ECANCELED CHECK_HOST_ERRNO( ECANCELED, ECANCELED ); #endif #ifdef ENOKEY CHECK_HOST_ERRNO( ENOKEY, ENOKEY ); #endif #ifdef EKEYEXPIRED CHECK_HOST_ERRNO( EKEYEXPIRED, EKEYEXPIRED ); #endif #ifdef EKEYREVOKED CHECK_HOST_ERRNO( EKEYREVOKED, EKEYREVOKED ); #endif #ifdef EKEYREJECTED CHECK_HOST_ERRNO( EKEYREJECTED, EKEYREJECTED ); #endif #ifdef EOWNERDEAD CHECK_HOST_ERRNO( EOWNERDEAD, EOWNERDEAD ); #endif #ifdef ENOTRECOVERABLE CHECK_HOST_ERRNO( ENOTRECOVERABLE, ENOTRECOVERABLE ); #endif #ifdef ERFKILL CHECK_HOST_ERRNO( ERFKILL, ERFKILL ); #endif #ifdef EHWPOISON CHECK_HOST_ERRNO( EHWPOISON, EHWPOISON ); #endif #ifdef EFTYPE CHECK_HOST_ERRNO( EFTYPE, EFTYPE ); #endif #ifdef EWOULDBLOCK CHECK_HOST_ERRNO( EWOULDBLOCK, EWOULDBLOCK ); #endif #ifdef EDEADLOCK CHECK_HOST_ERRNO( EDEADLOCK, EDEADLOCK ); #endif #ifdef ENOTSUP CHECK_HOST_ERRNO( ENOTSUP, ENOTSUP ); #endif return( 0 ); } /* End of main() */