summaryrefslogtreecommitdiff
path: root/cpu/sysdeps/unix/sys-errno.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/sysdeps/unix/sys-errno.c')
-rw-r--r--cpu/sysdeps/unix/sys-errno.c442
1 files changed, 442 insertions, 0 deletions
diff --git a/cpu/sysdeps/unix/sys-errno.c b/cpu/sysdeps/unix/sys-errno.c
new file mode 100644
index 0000000..ffcbb1d
--- /dev/null
+++ b/cpu/sysdeps/unix/sys-errno.c
@@ -0,0 +1,442 @@
+/***************************************************************
+ SYS-ERRNO.C
+
+ This file contains Linux/x86_64/LP64 HOST errno to MCPU
+ errno translation.
+
+ PART OF : CPU - library .
+
+ USAGE : Internal only .
+
+ Copyright (C) 2026 by Andrew V.Kosteltsev.
+ All Rights Reserved.
+ ***************************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <errno.h>
+
+#include <libmcpu.h>
+#include <cpu-sysdeps.h>
+
+
+int
+__cpu_errno_from_host( int errnum )
+{
+ if( errnum == 0 ) return( 0 );
+ if( errnum < 0 ) return( __MCPU_EUNKNOWN );
+
+#ifdef EPERM
+ if( errnum == EPERM ) return( __MCPU_EPERM );
+#endif
+#ifdef ENOENT
+ if( errnum == ENOENT ) return( __MCPU_ENOENT );
+#endif
+#ifdef ESRCH
+ if( errnum == ESRCH ) return( __MCPU_ESRCH );
+#endif
+#ifdef EINTR
+ if( errnum == EINTR ) return( __MCPU_EINTR );
+#endif
+#ifdef EIO
+ if( errnum == EIO ) return( __MCPU_EIO );
+#endif
+#ifdef ENXIO
+ if( errnum == ENXIO ) return( __MCPU_ENXIO );
+#endif
+#ifdef E2BIG
+ if( errnum == E2BIG ) return( __MCPU_E2BIG );
+#endif
+#ifdef ENOEXEC
+ if( errnum == ENOEXEC ) return( __MCPU_ENOEXEC );
+#endif
+#ifdef EBADF
+ if( errnum == EBADF ) return( __MCPU_EBADF );
+#endif
+#ifdef ECHILD
+ if( errnum == ECHILD ) return( __MCPU_ECHILD );
+#endif
+#ifdef EAGAIN
+ if( errnum == EAGAIN ) return( __MCPU_EAGAIN );
+#endif
+#ifdef ENOMEM
+ if( errnum == ENOMEM ) return( __MCPU_ENOMEM );
+#endif
+#ifdef EACCES
+ if( errnum == EACCES ) return( __MCPU_EACCES );
+#endif
+#ifdef EFAULT
+ if( errnum == EFAULT ) return( __MCPU_EFAULT );
+#endif
+#ifdef ENOTBLK
+ if( errnum == ENOTBLK ) return( __MCPU_ENOTBLK );
+#endif
+#ifdef EBUSY
+ if( errnum == EBUSY ) return( __MCPU_EBUSY );
+#endif
+#ifdef EEXIST
+ if( errnum == EEXIST ) return( __MCPU_EEXIST );
+#endif
+#ifdef EXDEV
+ if( errnum == EXDEV ) return( __MCPU_EXDEV );
+#endif
+#ifdef ENODEV
+ if( errnum == ENODEV ) return( __MCPU_ENODEV );
+#endif
+#ifdef ENOTDIR
+ if( errnum == ENOTDIR ) return( __MCPU_ENOTDIR );
+#endif
+#ifdef EISDIR
+ if( errnum == EISDIR ) return( __MCPU_EISDIR );
+#endif
+#ifdef EINVAL
+ if( errnum == EINVAL ) return( __MCPU_EINVAL );
+#endif
+#ifdef ENFILE
+ if( errnum == ENFILE ) return( __MCPU_ENFILE );
+#endif
+#ifdef EMFILE
+ if( errnum == EMFILE ) return( __MCPU_EMFILE );
+#endif
+#ifdef ENOTTY
+ if( errnum == ENOTTY ) return( __MCPU_ENOTTY );
+#endif
+#ifdef ETXTBSY
+ if( errnum == ETXTBSY ) return( __MCPU_ETXTBSY );
+#endif
+#ifdef EFBIG
+ if( errnum == EFBIG ) return( __MCPU_EFBIG );
+#endif
+#ifdef ENOSPC
+ if( errnum == ENOSPC ) return( __MCPU_ENOSPC );
+#endif
+#ifdef ESPIPE
+ if( errnum == ESPIPE ) return( __MCPU_ESPIPE );
+#endif
+#ifdef EROFS
+ if( errnum == EROFS ) return( __MCPU_EROFS );
+#endif
+#ifdef EMLINK
+ if( errnum == EMLINK ) return( __MCPU_EMLINK );
+#endif
+#ifdef EPIPE
+ if( errnum == EPIPE ) return( __MCPU_EPIPE );
+#endif
+#ifdef EDOM
+ if( errnum == EDOM ) return( __MCPU_EDOM );
+#endif
+#ifdef ERANGE
+ if( errnum == ERANGE ) return( __MCPU_ERANGE );
+#endif
+#ifdef EDEADLK
+ if( errnum == EDEADLK ) return( __MCPU_EDEADLK );
+#endif
+#ifdef ENAMETOOLONG
+ if( errnum == ENAMETOOLONG ) return( __MCPU_ENAMETOOLONG );
+#endif
+#ifdef ENOLCK
+ if( errnum == ENOLCK ) return( __MCPU_ENOLCK );
+#endif
+#ifdef ENOSYS
+ if( errnum == ENOSYS ) return( __MCPU_ENOSYS );
+#endif
+#ifdef ENOTEMPTY
+ if( errnum == ENOTEMPTY ) return( __MCPU_ENOTEMPTY );
+#endif
+#ifdef ELOOP
+ if( errnum == ELOOP ) return( __MCPU_ELOOP );
+#endif
+#ifdef ENOMSG
+ if( errnum == ENOMSG ) return( __MCPU_ENOMSG );
+#endif
+#ifdef EIDRM
+ if( errnum == EIDRM ) return( __MCPU_EIDRM );
+#endif
+#ifdef ECHRNG
+ if( errnum == ECHRNG ) return( __MCPU_ECHRNG );
+#endif
+#ifdef EL2NSYNC
+ if( errnum == EL2NSYNC ) return( __MCPU_EL2NSYNC );
+#endif
+#ifdef EL3HLT
+ if( errnum == EL3HLT ) return( __MCPU_EL3HLT );
+#endif
+#ifdef EL3RST
+ if( errnum == EL3RST ) return( __MCPU_EL3RST );
+#endif
+#ifdef ELNRNG
+ if( errnum == ELNRNG ) return( __MCPU_ELNRNG );
+#endif
+#ifdef EUNATCH
+ if( errnum == EUNATCH ) return( __MCPU_EUNATCH );
+#endif
+#ifdef ENOCSI
+ if( errnum == ENOCSI ) return( __MCPU_ENOCSI );
+#endif
+#ifdef EL2HLT
+ if( errnum == EL2HLT ) return( __MCPU_EL2HLT );
+#endif
+#ifdef EBADE
+ if( errnum == EBADE ) return( __MCPU_EBADE );
+#endif
+#ifdef EBADR
+ if( errnum == EBADR ) return( __MCPU_EBADR );
+#endif
+#ifdef EXFULL
+ if( errnum == EXFULL ) return( __MCPU_EXFULL );
+#endif
+#ifdef ENOANO
+ if( errnum == ENOANO ) return( __MCPU_ENOANO );
+#endif
+#ifdef EBADRQC
+ if( errnum == EBADRQC ) return( __MCPU_EBADRQC );
+#endif
+#ifdef EBADSLT
+ if( errnum == EBADSLT ) return( __MCPU_EBADSLT );
+#endif
+#ifdef EBFONT
+ if( errnum == EBFONT ) return( __MCPU_EBFONT );
+#endif
+#ifdef ENOSTR
+ if( errnum == ENOSTR ) return( __MCPU_ENOSTR );
+#endif
+#ifdef ENODATA
+ if( errnum == ENODATA ) return( __MCPU_ENODATA );
+#endif
+#ifdef ETIME
+ if( errnum == ETIME ) return( __MCPU_ETIME );
+#endif
+#ifdef ENOSR
+ if( errnum == ENOSR ) return( __MCPU_ENOSR );
+#endif
+#ifdef ENONET
+ if( errnum == ENONET ) return( __MCPU_ENONET );
+#endif
+#ifdef ENOPKG
+ if( errnum == ENOPKG ) return( __MCPU_ENOPKG );
+#endif
+#ifdef EREMOTE
+ if( errnum == EREMOTE ) return( __MCPU_EREMOTE );
+#endif
+#ifdef ENOLINK
+ if( errnum == ENOLINK ) return( __MCPU_ENOLINK );
+#endif
+#ifdef EADV
+ if( errnum == EADV ) return( __MCPU_EADV );
+#endif
+#ifdef ESRMNT
+ if( errnum == ESRMNT ) return( __MCPU_ESRMNT );
+#endif
+#ifdef ECOMM
+ if( errnum == ECOMM ) return( __MCPU_ECOMM );
+#endif
+#ifdef EPROTO
+ if( errnum == EPROTO ) return( __MCPU_EPROTO );
+#endif
+#ifdef EMULTIHOP
+ if( errnum == EMULTIHOP ) return( __MCPU_EMULTIHOP );
+#endif
+#ifdef EDOTDOT
+ if( errnum == EDOTDOT ) return( __MCPU_EDOTDOT );
+#endif
+#ifdef EBADMSG
+ if( errnum == EBADMSG ) return( __MCPU_EBADMSG );
+#endif
+#ifdef EOVERFLOW
+ if( errnum == EOVERFLOW ) return( __MCPU_EOVERFLOW );
+#endif
+#ifdef ENOTUNIQ
+ if( errnum == ENOTUNIQ ) return( __MCPU_ENOTUNIQ );
+#endif
+#ifdef EBADFD
+ if( errnum == EBADFD ) return( __MCPU_EBADFD );
+#endif
+#ifdef EREMCHG
+ if( errnum == EREMCHG ) return( __MCPU_EREMCHG );
+#endif
+#ifdef ELIBACC
+ if( errnum == ELIBACC ) return( __MCPU_ELIBACC );
+#endif
+#ifdef ELIBBAD
+ if( errnum == ELIBBAD ) return( __MCPU_ELIBBAD );
+#endif
+#ifdef ELIBSCN
+ if( errnum == ELIBSCN ) return( __MCPU_ELIBSCN );
+#endif
+#ifdef ELIBMAX
+ if( errnum == ELIBMAX ) return( __MCPU_ELIBMAX );
+#endif
+#ifdef ELIBEXEC
+ if( errnum == ELIBEXEC ) return( __MCPU_ELIBEXEC );
+#endif
+#ifdef EILSEQ
+ if( errnum == EILSEQ ) return( __MCPU_EILSEQ );
+#endif
+#ifdef ERESTART
+ if( errnum == ERESTART ) return( __MCPU_ERESTART );
+#endif
+#ifdef ESTRPIPE
+ if( errnum == ESTRPIPE ) return( __MCPU_ESTRPIPE );
+#endif
+#ifdef EUSERS
+ if( errnum == EUSERS ) return( __MCPU_EUSERS );
+#endif
+#ifdef ENOTSOCK
+ if( errnum == ENOTSOCK ) return( __MCPU_ENOTSOCK );
+#endif
+#ifdef EDESTADDRREQ
+ if( errnum == EDESTADDRREQ ) return( __MCPU_EDESTADDRREQ );
+#endif
+#ifdef EMSGSIZE
+ if( errnum == EMSGSIZE ) return( __MCPU_EMSGSIZE );
+#endif
+#ifdef EPROTOTYPE
+ if( errnum == EPROTOTYPE ) return( __MCPU_EPROTOTYPE );
+#endif
+#ifdef ENOPROTOOPT
+ if( errnum == ENOPROTOOPT ) return( __MCPU_ENOPROTOOPT );
+#endif
+#ifdef EPROTONOSUPPORT
+ if( errnum == EPROTONOSUPPORT ) return( __MCPU_EPROTONOSUPPORT );
+#endif
+#ifdef ESOCKTNOSUPPORT
+ if( errnum == ESOCKTNOSUPPORT ) return( __MCPU_ESOCKTNOSUPPORT );
+#endif
+#ifdef EOPNOTSUPP
+ if( errnum == EOPNOTSUPP ) return( __MCPU_EOPNOTSUPP );
+#endif
+#ifdef EPFNOSUPPORT
+ if( errnum == EPFNOSUPPORT ) return( __MCPU_EPFNOSUPPORT );
+#endif
+#ifdef EAFNOSUPPORT
+ if( errnum == EAFNOSUPPORT ) return( __MCPU_EAFNOSUPPORT );
+#endif
+#ifdef EADDRINUSE
+ if( errnum == EADDRINUSE ) return( __MCPU_EADDRINUSE );
+#endif
+#ifdef EADDRNOTAVAIL
+ if( errnum == EADDRNOTAVAIL ) return( __MCPU_EADDRNOTAVAIL );
+#endif
+#ifdef ENETDOWN
+ if( errnum == ENETDOWN ) return( __MCPU_ENETDOWN );
+#endif
+#ifdef ENETUNREACH
+ if( errnum == ENETUNREACH ) return( __MCPU_ENETUNREACH );
+#endif
+#ifdef ENETRESET
+ if( errnum == ENETRESET ) return( __MCPU_ENETRESET );
+#endif
+#ifdef ECONNABORTED
+ if( errnum == ECONNABORTED ) return( __MCPU_ECONNABORTED );
+#endif
+#ifdef ECONNRESET
+ if( errnum == ECONNRESET ) return( __MCPU_ECONNRESET );
+#endif
+#ifdef ENOBUFS
+ if( errnum == ENOBUFS ) return( __MCPU_ENOBUFS );
+#endif
+#ifdef EISCONN
+ if( errnum == EISCONN ) return( __MCPU_EISCONN );
+#endif
+#ifdef ENOTCONN
+ if( errnum == ENOTCONN ) return( __MCPU_ENOTCONN );
+#endif
+#ifdef ESHUTDOWN
+ if( errnum == ESHUTDOWN ) return( __MCPU_ESHUTDOWN );
+#endif
+#ifdef ETOOMANYREFS
+ if( errnum == ETOOMANYREFS ) return( __MCPU_ETOOMANYREFS );
+#endif
+#ifdef ETIMEDOUT
+ if( errnum == ETIMEDOUT ) return( __MCPU_ETIMEDOUT );
+#endif
+#ifdef ECONNREFUSED
+ if( errnum == ECONNREFUSED ) return( __MCPU_ECONNREFUSED );
+#endif
+#ifdef EHOSTDOWN
+ if( errnum == EHOSTDOWN ) return( __MCPU_EHOSTDOWN );
+#endif
+#ifdef EHOSTUNREACH
+ if( errnum == EHOSTUNREACH ) return( __MCPU_EHOSTUNREACH );
+#endif
+#ifdef EALREADY
+ if( errnum == EALREADY ) return( __MCPU_EALREADY );
+#endif
+#ifdef EINPROGRESS
+ if( errnum == EINPROGRESS ) return( __MCPU_EINPROGRESS );
+#endif
+#ifdef ESTALE
+ if( errnum == ESTALE ) return( __MCPU_ESTALE );
+#endif
+#ifdef EUCLEAN
+ if( errnum == EUCLEAN ) return( __MCPU_EUCLEAN );
+#endif
+#ifdef ENOTNAM
+ if( errnum == ENOTNAM ) return( __MCPU_ENOTNAM );
+#endif
+#ifdef ENAVAIL
+ if( errnum == ENAVAIL ) return( __MCPU_ENAVAIL );
+#endif
+#ifdef EISNAM
+ if( errnum == EISNAM ) return( __MCPU_EISNAM );
+#endif
+#ifdef EREMOTEIO
+ if( errnum == EREMOTEIO ) return( __MCPU_EREMOTEIO );
+#endif
+#ifdef EDQUOT
+ if( errnum == EDQUOT ) return( __MCPU_EDQUOT );
+#endif
+#ifdef ENOMEDIUM
+ if( errnum == ENOMEDIUM ) return( __MCPU_ENOMEDIUM );
+#endif
+#ifdef EMEDIUMTYPE
+ if( errnum == EMEDIUMTYPE ) return( __MCPU_EMEDIUMTYPE );
+#endif
+#ifdef ECANCELED
+ if( errnum == ECANCELED ) return( __MCPU_ECANCELED );
+#endif
+#ifdef ENOKEY
+ if( errnum == ENOKEY ) return( __MCPU_ENOKEY );
+#endif
+#ifdef EKEYEXPIRED
+ if( errnum == EKEYEXPIRED ) return( __MCPU_EKEYEXPIRED );
+#endif
+#ifdef EKEYREVOKED
+ if( errnum == EKEYREVOKED ) return( __MCPU_EKEYREVOKED );
+#endif
+#ifdef EKEYREJECTED
+ if( errnum == EKEYREJECTED ) return( __MCPU_EKEYREJECTED );
+#endif
+#ifdef EOWNERDEAD
+ if( errnum == EOWNERDEAD ) return( __MCPU_EOWNERDEAD );
+#endif
+#ifdef ENOTRECOVERABLE
+ if( errnum == ENOTRECOVERABLE ) return( __MCPU_ENOTRECOVERABLE );
+#endif
+#ifdef ERFKILL
+ if( errnum == ERFKILL ) return( __MCPU_ERFKILL );
+#endif
+#ifdef EHWPOISON
+ if( errnum == EHWPOISON ) return( __MCPU_EHWPOISON );
+#endif
+#ifdef EFTYPE
+ if( errnum == EFTYPE ) return( __MCPU_EFTYPE );
+#endif
+#ifdef EWOULDBLOCK
+ if( errnum == EWOULDBLOCK ) return( __MCPU_EWOULDBLOCK );
+#endif
+#ifdef EDEADLOCK
+ if( errnum == EDEADLOCK ) return( __MCPU_EDEADLOCK );
+#endif
+#ifdef ENOTSUP
+ if( errnum == ENOTSUP ) return( __MCPU_ENOTSUP );
+#endif
+#ifdef EUNKNOWN
+ if( errnum == EUNKNOWN ) return( __MCPU_EUNKNOWN );
+#endif
+
+ return( __MCPU_EUNKNOWN );
+
+} /* End of __cpu_errno_from_host() */