diff options
Diffstat (limited to 'nix-test/src/errno.c')
-rw-r--r-- | nix-test/src/errno.c | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/nix-test/src/errno.c b/nix-test/src/errno.c new file mode 100644 index 00000000..9e4817dc --- /dev/null +++ b/nix-test/src/errno.c @@ -0,0 +1,190 @@ +#include <stdio.h> +#include <string.h> +#include <errno.h> + +#define ERRNO_EQ(ERR) \ + do { \ + if (0 == strcmp(err, #ERR)) { \ + return ERR; \ + } \ + } while (0) + +int +assert_errno_eq(const char* err) { + ERRNO_EQ(EPERM); + ERRNO_EQ(ENOENT); + ERRNO_EQ(ESRCH); + ERRNO_EQ(EINTR); + ERRNO_EQ(EIO); + ERRNO_EQ(ENXIO); + ERRNO_EQ(E2BIG); + ERRNO_EQ(ENOEXEC); + ERRNO_EQ(EBADF); + ERRNO_EQ(ECHILD); + ERRNO_EQ(EAGAIN); + ERRNO_EQ(ENOMEM); + ERRNO_EQ(EACCES); + ERRNO_EQ(EFAULT); + ERRNO_EQ(ENOTBLK); + ERRNO_EQ(EBUSY); + ERRNO_EQ(EEXIST); + ERRNO_EQ(EXDEV); + ERRNO_EQ(ENODEV); + ERRNO_EQ(ENOTDIR); + ERRNO_EQ(EISDIR); + ERRNO_EQ(EINVAL); + ERRNO_EQ(ENFILE); + ERRNO_EQ(EMFILE); + ERRNO_EQ(ENOTTY); + ERRNO_EQ(ETXTBSY); + ERRNO_EQ(EFBIG); + ERRNO_EQ(ENOSPC); + ERRNO_EQ(ESPIPE); + ERRNO_EQ(EROFS); + ERRNO_EQ(EMLINK); + ERRNO_EQ(EPIPE); + ERRNO_EQ(EDOM); + ERRNO_EQ(ERANGE); + ERRNO_EQ(EDEADLK); + ERRNO_EQ(ENAMETOOLONG); + ERRNO_EQ(ENOLCK); + ERRNO_EQ(ENOSYS); + ERRNO_EQ(ENOTEMPTY); + ERRNO_EQ(ELOOP); + ERRNO_EQ(ENOMSG); + ERRNO_EQ(EIDRM); + ERRNO_EQ(EINPROGRESS); + ERRNO_EQ(EALREADY); + ERRNO_EQ(ENOTSOCK); + ERRNO_EQ(EDESTADDRREQ); + ERRNO_EQ(EMSGSIZE); + ERRNO_EQ(EPROTOTYPE); + ERRNO_EQ(ENOPROTOOPT); + ERRNO_EQ(EPROTONOSUPPORT); + ERRNO_EQ(ESOCKTNOSUPPORT); + ERRNO_EQ(EPFNOSUPPORT); + ERRNO_EQ(EAFNOSUPPORT); + ERRNO_EQ(EADDRINUSE); + ERRNO_EQ(EADDRNOTAVAIL); + ERRNO_EQ(ENETDOWN); + ERRNO_EQ(ENETUNREACH); + ERRNO_EQ(ENETRESET); + ERRNO_EQ(ECONNABORTED); + ERRNO_EQ(ECONNRESET); + ERRNO_EQ(ENOBUFS); + ERRNO_EQ(EISCONN); + ERRNO_EQ(ENOTCONN); + ERRNO_EQ(ESHUTDOWN); + ERRNO_EQ(ETOOMANYREFS); + ERRNO_EQ(ETIMEDOUT); + ERRNO_EQ(ECONNREFUSED); + ERRNO_EQ(EHOSTDOWN); + ERRNO_EQ(EHOSTUNREACH); + +#ifdef LINUX + ERRNO_EQ(ECHRNG); + ERRNO_EQ(EL2NSYNC); + ERRNO_EQ(EL3HLT); + ERRNO_EQ(EL3RST); + ERRNO_EQ(ELNRNG); + ERRNO_EQ(EUNATCH); + ERRNO_EQ(ENOCSI); + ERRNO_EQ(EL2HLT); + ERRNO_EQ(EBADE); + ERRNO_EQ(EBADR); + ERRNO_EQ(EXFULL); + ERRNO_EQ(ENOANO); + ERRNO_EQ(EBADRQC); + ERRNO_EQ(EBADSLT); + ERRNO_EQ(EBFONT); + ERRNO_EQ(ENOSTR); + ERRNO_EQ(ENODATA); + ERRNO_EQ(ETIME); + ERRNO_EQ(ENOSR); + ERRNO_EQ(ENONET); + ERRNO_EQ(ENOPKG); + ERRNO_EQ(EREMOTE); + ERRNO_EQ(ENOLINK); + ERRNO_EQ(EADV); + ERRNO_EQ(ESRMNT); + ERRNO_EQ(ECOMM); + ERRNO_EQ(EPROTO); + ERRNO_EQ(EMULTIHOP); + ERRNO_EQ(EDOTDOT); + ERRNO_EQ(EBADMSG); + ERRNO_EQ(EOVERFLOW); + ERRNO_EQ(ENOTUNIQ); + ERRNO_EQ(EBADFD); + ERRNO_EQ(EREMCHG); + ERRNO_EQ(ELIBACC); + ERRNO_EQ(ELIBBAD); + ERRNO_EQ(ELIBSCN); + ERRNO_EQ(ELIBMAX); + ERRNO_EQ(ELIBEXEC); + ERRNO_EQ(EILSEQ); + ERRNO_EQ(ERESTART); + ERRNO_EQ(ESTRPIPE); + ERRNO_EQ(EUSERS); + ERRNO_EQ(EOPNOTSUPP); + ERRNO_EQ(ESTALE); + ERRNO_EQ(EUCLEAN); + ERRNO_EQ(ENOTNAM); + ERRNO_EQ(ENAVAIL); + ERRNO_EQ(EISNAM); + ERRNO_EQ(EREMOTEIO); + ERRNO_EQ(EDQUOT); + ERRNO_EQ(ENOMEDIUM); + ERRNO_EQ(EMEDIUMTYPE); + ERRNO_EQ(ECANCELED); + ERRNO_EQ(ENOKEY); + ERRNO_EQ(EKEYEXPIRED); + ERRNO_EQ(EKEYREVOKED); + ERRNO_EQ(EKEYREJECTED); + ERRNO_EQ(EOWNERDEAD); + ERRNO_EQ(ENOTRECOVERABLE); + ERRNO_EQ(ERFKILL); + ERRNO_EQ(EHWPOISON); +#endif + +#ifdef DARWIN + ERRNO_EQ(ENOTSUP); + ERRNO_EQ(EPROCLIM); + ERRNO_EQ(EUSERS); + ERRNO_EQ(EDQUOT); + ERRNO_EQ(ESTALE); + ERRNO_EQ(EREMOTE); + ERRNO_EQ(EBADRPC); + ERRNO_EQ(ERPCMISMATCH); + ERRNO_EQ(EPROGUNAVAIL); + ERRNO_EQ(EPROGMISMATCH); + ERRNO_EQ(EPROCUNAVAIL); + ERRNO_EQ(EFTYPE); + ERRNO_EQ(EAUTH); + ERRNO_EQ(ENEEDAUTH); + ERRNO_EQ(EPWROFF); + ERRNO_EQ(EDEVERR); + ERRNO_EQ(EOVERFLOW); + ERRNO_EQ(EBADEXEC); + ERRNO_EQ(EBADARCH); + ERRNO_EQ(ESHLIBVERS); + ERRNO_EQ(EBADMACHO); + ERRNO_EQ(ECANCELED); + ERRNO_EQ(EILSEQ); + ERRNO_EQ(ENOATTR); + ERRNO_EQ(EBADMSG); + ERRNO_EQ(EMULTIHOP); + ERRNO_EQ(ENODATA); + ERRNO_EQ(ENOLINK); + ERRNO_EQ(ENOSR); + ERRNO_EQ(ENOSTR); + ERRNO_EQ(EPROTO); + ERRNO_EQ(ETIME); + ERRNO_EQ(EOPNOTSUPP); + ERRNO_EQ(ENOPOLICY); + ERRNO_EQ(ENOTRECOVERABLE); + ERRNO_EQ(EOWNERDEAD); + ERRNO_EQ(EQFULL); +#endif + + return 0; +} |