From 99881147d43a1c7dbff1ae881f350ffcf01ea1aa Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Fri, 16 Aug 2019 13:56:04 +0900 Subject: [PATCH] errno for non-linux unix --- vm/src/stdlib/errno.rs | 92 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) diff --git a/vm/src/stdlib/errno.rs b/vm/src/stdlib/errno.rs index 0a8587087..6f82351f2 100644 --- a/vm/src/stdlib/errno.rs +++ b/vm/src/stdlib/errno.rs @@ -149,6 +149,96 @@ const ERROR_CODES: &[(&str, i32)] = &[ ("ERFKILL", libc::ERFKILL), ]; +#[cfg(all(unix, not(target_os = "linux")))] +const ERROR_CODES: &[(&str, i32)] = &[ + ("ENODEV", libc::ENODEV), + ("EHOSTUNREACH", libc::EHOSTUNREACH), + ("ENOMSG", libc::ENOMSG), + ("ENODATA", libc::ENODATA), + ("ENOTBLK", libc::ENOTBLK), + ("ENOSYS", libc::ENOSYS), + ("EPIPE", libc::EPIPE), + ("EINVAL", libc::EINVAL), + ("EOVERFLOW", libc::EOVERFLOW), + ("EINTR", libc::EINTR), + ("EUSERS", libc::EUSERS), + ("ENOTEMPTY", libc::ENOTEMPTY), + ("ENOBUFS", libc::ENOBUFS), + ("EPROTO", libc::EPROTO), + ("EREMOTE", libc::EREMOTE), + ("ECHILD", libc::ECHILD), + ("ELOOP", libc::ELOOP), + ("EXDEV", libc::EXDEV), + ("E2BIG", libc::E2BIG), + ("ESRCH", libc::ESRCH), + ("EMSGSIZE", libc::EMSGSIZE), + ("EAFNOSUPPORT", libc::EAFNOSUPPORT), + ("EHOSTDOWN", libc::EHOSTDOWN), + ("EPFNOSUPPORT", libc::EPFNOSUPPORT), + ("ENOPROTOOPT", libc::ENOPROTOOPT), + ("EBUSY", libc::EBUSY), + ("EAGAIN", libc::EAGAIN), + ("EISCONN", libc::EISCONN), + ("ESHUTDOWN", libc::ESHUTDOWN), + ("EBADF", libc::EBADF), + ("EMULTIHOP", libc::EMULTIHOP), + ("EIO", libc::EIO), + ("EPROTOTYPE", libc::EPROTOTYPE), + ("ENOSPC", libc::ENOSPC), + ("ENOEXEC", libc::ENOEXEC), + ("EALREADY", libc::EALREADY), + ("ENETDOWN", libc::ENETDOWN), + ("EACCES", libc::EACCES), + ("EILSEQ", libc::EILSEQ), + ("ENOTDIR", libc::ENOTDIR), + ("EPERM", libc::EPERM), + ("EDOM", libc::EDOM), + ("ECONNREFUSED", libc::ECONNREFUSED), + ("EISDIR", libc::EISDIR), + ("EPROTONOSUPPORT", libc::EPROTONOSUPPORT), + ("EROFS", libc::EROFS), + ("EADDRNOTAVAIL", libc::EADDRNOTAVAIL), + ("EIDRM", libc::EIDRM), + ("EBADMSG", libc::EBADMSG), + ("ENFILE", libc::ENFILE), + ("ESPIPE", libc::ESPIPE), + ("ENOLINK", libc::ENOLINK), + ("ENETRESET", libc::ENETRESET), + ("ETIMEDOUT", libc::ETIMEDOUT), + ("ENOENT", libc::ENOENT), + ("EEXIST", libc::EEXIST), + ("EDQUOT", libc::EDQUOT), + ("ENOSTR", libc::ENOSTR), + ("EFAULT", libc::EFAULT), + ("EFBIG", libc::EFBIG), + ("ENOTCONN", libc::ENOTCONN), + ("EDESTADDRREQ", libc::EDESTADDRREQ), + ("ENOLCK", libc::ENOLCK), + ("ECONNABORTED", libc::ECONNABORTED), + ("ENETUNREACH", libc::ENETUNREACH), + ("ESTALE", libc::ESTALE), + ("ENOSR", libc::ENOSR), + ("ENOMEM", libc::ENOMEM), + ("ENOTSOCK", libc::ENOTSOCK), + ("EMLINK", libc::EMLINK), + ("ERANGE", libc::ERANGE), + ("ECONNRESET", libc::ECONNRESET), + ("EADDRINUSE", libc::EADDRINUSE), + ("ENOTSUP", libc::ENOTSUP), + ("ENAMETOOLONG", libc::ENAMETOOLONG), + ("ENOTTY", libc::ENOTTY), + ("ESOCKTNOSUPPORT", libc::ESOCKTNOSUPPORT), + ("ETIME", libc::ETIME), + ("ETOOMANYREFS", libc::ETOOMANYREFS), + ("EMFILE", libc::EMFILE), + ("ETXTBSY", libc::ETXTBSY), + ("EINPROGRESS", libc::EINPROGRESS), + ("ENXIO", libc::ENXIO), + ("ECANCELED", libc::ECANCELED), + ("EOWNERDEAD", libc::EOWNERDEAD), + ("ENOTRECOVERABLE", libc::ENOTRECOVERABLE), +]; + #[cfg(windows)] const ERROR_CODES: &[(&str, i32)] = &[ ("ENODEV", 19), @@ -254,5 +344,5 @@ const ERROR_CODES: &[(&str, i32)] = &[ ("ENOTSUP", 129), ]; -#[cfg(not(any(target_os = "linux", windows)))] +#[cfg(not(any(unix, windows)))] const ERROR_CODES: &[(&str, i32)] = &[];