From a859ee3c9396dfdb118fcc2c8ecc697e2d303467 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Sun, 26 Feb 2017 20:01:01 +0000 Subject: Switched bsd speed_t def. to libc::speed_t --- src/sys/termios.rs | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/sys/termios.rs b/src/sys/termios.rs index e8df1ed9..db80cc2d 100644 --- a/src/sys/termios.rs +++ b/src/sys/termios.rs @@ -96,22 +96,14 @@ mod ffi { #[cfg(any(target_os = "macos", target_os = "freebsd", target_os = "dragonfly", target_os = "openbsd", target_os = "netbsd"))] pub mod consts { - #[cfg(not(any(target_os = "dragonfly", target_os = "netbsd")))] - use libc::{c_int, c_ulong, c_uchar}; - #[cfg(any(target_os = "dragonfly", target_os = "netbsd"))] - use libc::{c_int, c_uint, c_uchar}; - #[cfg(not(any(target_os = "dragonfly", target_os = "netbsd")))] - pub type tcflag_t = c_ulong; - #[cfg(any(target_os = "dragonfly", target_os = "netbsd"))] - pub type tcflag_t = c_uint; + use libc; - pub type cc_t = c_uchar; + use libc::{c_int, c_uint, c_ulong, c_uchar}; - #[cfg(not(any(target_os = "dragonfly", target_os = "netbsd")))] - pub type speed_t = c_ulong; - #[cfg(any(target_os = "dragonfly", target_os = "netbsd"))] - pub type speed_t = c_uint; + pub type tcflag_t = libc::tcflag_t; + pub type cc_t = libc::cc_t; + pub type speed_t = libc::speed_t; #[repr(C)] #[derive(Clone, Copy)] -- cgit v1.2.3 From 219671727fdb354a87d6bf453ced0cdb16bbd232 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Sun, 26 Feb 2017 21:28:00 +0000 Subject: Fixes nix-rust/nix#532 --- src/sys/event.rs | 14 ++++++++++---- src/sys/termios.rs | 6 +++--- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/sys/event.rs b/src/sys/event.rs index 3e2a6d43..494c12dd 100644 --- a/src/sys/event.rs +++ b/src/sys/event.rs @@ -22,8 +22,14 @@ pub struct KEvent { target_os = "dragonfly", target_os = "macos", target_os = "ios"))] type type_of_udata = *mut ::c_void; +#[cfg(any(target_os = "openbsd", target_os = "freebsd", + target_os = "dragonfly", target_os = "macos", + target_os = "ios"))] +type type_of_data = libc::intptr_t; #[cfg(any(target_os = "netbsd"))] type type_of_udata = intptr_t; +#[cfg(any(target_os = "netbsd"))] +type type_of_data = libc::int64_t; #[cfg(not(target_os = "netbsd"))] type type_of_event_filter = i16; @@ -58,9 +64,9 @@ pub enum EventFilter { } #[cfg(target_os = "netbsd")] -type type_of_event_filter = i32; +type type_of_event_filter = libc::uint32_t; #[cfg(target_os = "netbsd")] -#[repr(u32)] +#[repr(i32)] #[derive(Clone, Copy, Debug, PartialEq)] pub enum EventFilter { EVFILT_READ = libc::EVFILT_READ, @@ -216,7 +222,7 @@ impl KEvent { filter: filter as type_of_event_filter, flags: flags.bits(), fflags: fflags.bits(), - data: data, + data: data as type_of_data, udata: udata as type_of_udata } } } @@ -238,7 +244,7 @@ impl KEvent { } pub fn data(&self) -> intptr_t { - self.kevent.data + self.kevent.data as intptr_t } pub fn udata(&self) -> intptr_t { diff --git a/src/sys/termios.rs b/src/sys/termios.rs index db80cc2d..6ff77747 100644 --- a/src/sys/termios.rs +++ b/src/sys/termios.rs @@ -158,7 +158,7 @@ mod ffi { B7200, B14400, B28800, B57600, B76800, B115200, B230400}; - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] use libc::{B460800, B921600}; match s { @@ -185,9 +185,9 @@ mod ffi { B76800 => BaudRate::B76800, B115200 => BaudRate::B115200, B230400 => BaudRate::B230400, - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] B460800 => BaudRate::B460800, - #[cfg(any(target_os = "netbsd", target_os = "freebsd"))] + #[cfg(target_os = "freebsd")] B921600 => BaudRate::B921600, b @ _ => unreachable!("Invalid baud constant: {}", b), } -- cgit v1.2.3 From 3354ffe91dcc217c6ac62f88d5e54a1ea34e5f7a Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Thu, 2 Mar 2017 18:01:58 +0000 Subject: Fixed constants for MIPS --- src/errno.rs | 558 ++++++++++++++++++++++++----------------------- src/sys/socket/consts.rs | 50 ++--- 2 files changed, 306 insertions(+), 302 deletions(-) (limited to 'src') diff --git a/src/errno.rs b/src/errno.rs index 4218bf9c..d8aaf7f3 100644 --- a/src/errno.rs +++ b/src/errno.rs @@ -374,10 +374,10 @@ fn desc(errno: Errno) -> &'static str { #[cfg(any(target_os = "linux", target_os = "android"))] ENOTRECOVERABLE => "State not recoverable", - #[cfg(target_os = "linux")] + #[cfg(all(target_os = "linux", not(target_arch="mips")))] ERFKILL => "Operation not possible due to RF-kill", - #[cfg(target_os = "linux")] + #[cfg(all(target_os = "linux", not(target_arch="mips")))] EHWPOISON => "Memory page has hardware error", #[cfg(any(target_os = "freebsd", target_os = "dragonfly"))] @@ -522,143 +522,145 @@ fn desc(errno: Errno) -> &'static str { #[cfg(any(target_os = "linux", target_os = "android"))] mod consts { + use libc; + #[derive(Debug, Clone, PartialEq, Copy)] pub enum Errno { UnknownErrno = 0, - EPERM = 1, - ENOENT = 2, - ESRCH = 3, - EINTR = 4, - EIO = 5, - ENXIO = 6, - E2BIG = 7, - ENOEXEC = 8, - EBADF = 9, - ECHILD = 10, - EAGAIN = 11, - ENOMEM = 12, - EACCES = 13, - EFAULT = 14, - ENOTBLK = 15, - EBUSY = 16, - EEXIST = 17, - EXDEV = 18, - ENODEV = 19, - ENOTDIR = 20, - EISDIR = 21, - EINVAL = 22, - ENFILE = 23, - EMFILE = 24, - ENOTTY = 25, - ETXTBSY = 26, - EFBIG = 27, - ENOSPC = 28, - ESPIPE = 29, - EROFS = 30, - EMLINK = 31, - EPIPE = 32, - EDOM = 33, - ERANGE = 34, - EDEADLK = 35, - ENAMETOOLONG = 36, - ENOLCK = 37, - ENOSYS = 38, - ENOTEMPTY = 39, - ELOOP = 40, - ENOMSG = 42, - EIDRM = 43, - ECHRNG = 44, - EL2NSYNC = 45, - EL3HLT = 46, - EL3RST = 47, - ELNRNG = 48, - EUNATCH = 49, - ENOCSI = 50, - EL2HLT = 51, - EBADE = 52, - EBADR = 53, - EXFULL = 54, - ENOANO = 55, - EBADRQC = 56, - EBADSLT = 57, - EBFONT = 59, - ENOSTR = 60, - ENODATA = 61, - ETIME = 62, - ENOSR = 63, - ENONET = 64, - ENOPKG = 65, - EREMOTE = 66, - ENOLINK = 67, - EADV = 68, - ESRMNT = 69, - ECOMM = 70, - EPROTO = 71, - EMULTIHOP = 72, - EDOTDOT = 73, - EBADMSG = 74, - EOVERFLOW = 75, - ENOTUNIQ = 76, - EBADFD = 77, - EREMCHG = 78, - ELIBACC = 79, - ELIBBAD = 80, - ELIBSCN = 81, - ELIBMAX = 82, - ELIBEXEC = 83, - EILSEQ = 84, - ERESTART = 85, - ESTRPIPE = 86, - EUSERS = 87, - ENOTSOCK = 88, - EDESTADDRREQ = 89, - EMSGSIZE = 90, - EPROTOTYPE = 91, - ENOPROTOOPT = 92, - EPROTONOSUPPORT = 93, - ESOCKTNOSUPPORT = 94, - EOPNOTSUPP = 95, - EPFNOSUPPORT = 96, - EAFNOSUPPORT = 97, - EADDRINUSE = 98, - EADDRNOTAVAIL = 99, - ENETDOWN = 100, - ENETUNREACH = 101, - ENETRESET = 102, - ECONNABORTED = 103, - ECONNRESET = 104, - ENOBUFS = 105, - EISCONN = 106, - ENOTCONN = 107, - ESHUTDOWN = 108, - ETOOMANYREFS = 109, - ETIMEDOUT = 110, - ECONNREFUSED = 111, - EHOSTDOWN = 112, - EHOSTUNREACH = 113, - EALREADY = 114, - EINPROGRESS = 115, - ESTALE = 116, - EUCLEAN = 117, - ENOTNAM = 118, - ENAVAIL = 119, - EISNAM = 120, - EREMOTEIO = 121, - EDQUOT = 122, - ENOMEDIUM = 123, - EMEDIUMTYPE = 124, - ECANCELED = 125, - ENOKEY = 126, - EKEYEXPIRED = 127, - EKEYREVOKED = 128, - EKEYREJECTED = 129, - EOWNERDEAD = 130, - ENOTRECOVERABLE = 131, - - #[cfg(not(target_os = "android"))] - ERFKILL = 132, - #[cfg(not(target_os = "android"))] - EHWPOISON = 133, + EPERM = libc::EPERM as isize, + ENOENT = libc::ENOENT as isize, + ESRCH = libc::ESRCH as isize, + EINTR = libc::EINTR as isize, + EIO = libc::EIO as isize, + ENXIO = libc::ENXIO as isize, + E2BIG = libc::E2BIG as isize, + ENOEXEC = libc::ENOEXEC as isize, + EBADF = libc::EBADF as isize, + ECHILD = libc::ECHILD as isize, + EAGAIN = libc::EAGAIN as isize, + ENOMEM = libc::ENOMEM as isize, + EACCES = libc::EACCES as isize, + EFAULT = libc::EFAULT as isize, + ENOTBLK = libc::ENOTBLK as isize, + EBUSY = libc::EBUSY as isize, + EEXIST = libc::EEXIST as isize, + EXDEV = libc::EXDEV as isize, + ENODEV = libc::ENODEV as isize, + ENOTDIR = libc::ENOTDIR as isize, + EISDIR = libc::EISDIR as isize, + EINVAL = libc::EINVAL as isize, + ENFILE = libc::ENFILE as isize, + EMFILE = libc::EMFILE as isize, + ENOTTY = libc::ENOTTY as isize, + ETXTBSY = libc::ETXTBSY as isize, + EFBIG = libc::EFBIG as isize, + ENOSPC = libc::ENOSPC as isize, + ESPIPE = libc::ESPIPE as isize, + EROFS = libc::EROFS as isize, + EMLINK = libc::EMLINK as isize, + EPIPE = libc::EPIPE as isize, + EDOM = libc::EDOM as isize, + ERANGE = libc::ERANGE as isize, + EDEADLK = libc::EDEADLK as isize, + ENAMETOOLONG = libc::ENAMETOOLONG as isize, + ENOLCK = libc::ENOLCK as isize, + ENOSYS = libc::ENOSYS as isize, + ENOTEMPTY = libc::ENOTEMPTY as isize, + ELOOP = libc::ELOOP as isize, + ENOMSG = libc::ENOMSG as isize, + EIDRM = libc::EIDRM as isize, + ECHRNG = libc::ECHRNG as isize, + EL2NSYNC = libc::EL2NSYNC as isize, + EL3HLT = libc::EL3HLT as isize, + EL3RST = libc::EL3RST as isize, + ELNRNG = libc::ELNRNG as isize, + EUNATCH = libc::EUNATCH as isize, + ENOCSI = libc::ENOCSI as isize, + EL2HLT = libc::EL2HLT as isize, + EBADE = libc::EBADE as isize, + EBADR = libc::EBADR as isize, + EXFULL = libc::EXFULL as isize, + ENOANO = libc::ENOANO as isize, + EBADRQC = libc::EBADRQC as isize, + EBADSLT = libc::EBADSLT as isize, + EBFONT = libc::EBFONT as isize, + ENOSTR = libc::ENOSTR as isize, + ENODATA = libc::ENODATA as isize, + ETIME = libc::ETIME as isize, + ENOSR = libc::ENOSR as isize, + ENONET = libc::ENONET as isize, + ENOPKG = libc::ENOPKG as isize, + EREMOTE = libc::EREMOTE as isize, + ENOLINK = libc::ENOLINK as isize, + EADV = libc::EADV as isize, + ESRMNT = libc::ESRMNT as isize, + ECOMM = libc::ECOMM as isize, + EPROTO = libc::EPROTO as isize, + EMULTIHOP = libc::EMULTIHOP as isize, + EDOTDOT = libc::EDOTDOT as isize, + EBADMSG = libc::EBADMSG as isize, + EOVERFLOW = libc::EOVERFLOW as isize, + ENOTUNIQ = libc::ENOTUNIQ as isize, + EBADFD = libc::EBADFD as isize, + EREMCHG = libc::EREMCHG as isize, + ELIBACC = libc::ELIBACC as isize, + ELIBBAD = libc::ELIBBAD as isize, + ELIBSCN = libc::ELIBSCN as isize, + ELIBMAX = libc::ELIBMAX as isize, + ELIBEXEC = libc::ELIBEXEC as isize, + EILSEQ = libc::EILSEQ as isize, + ERESTART = libc::ERESTART as isize, + ESTRPIPE = libc::ESTRPIPE as isize, + EUSERS = libc::EUSERS as isize, + ENOTSOCK = libc::ENOTSOCK as isize, + EDESTADDRREQ = libc::EDESTADDRREQ as isize, + EMSGSIZE = libc::EMSGSIZE as isize, + EPROTOTYPE = libc::EPROTOTYPE as isize, + ENOPROTOOPT = libc::ENOPROTOOPT as isize, + EPROTONOSUPPORT = libc::EPROTONOSUPPORT as isize, + ESOCKTNOSUPPORT = libc::ESOCKTNOSUPPORT as isize, + EOPNOTSUPP = libc::EOPNOTSUPP as isize, + EPFNOSUPPORT = libc::EPFNOSUPPORT as isize, + EAFNOSUPPORT = libc::EAFNOSUPPORT as isize, + EADDRINUSE = libc::EADDRINUSE as isize, + EADDRNOTAVAIL = libc::EADDRNOTAVAIL as isize, + ENETDOWN = libc::ENETDOWN as isize, + ENETUNREACH = libc::ENETUNREACH as isize, + ENETRESET = libc::ENETRESET as isize, + ECONNABORTED = libc::ECONNABORTED as isize, + ECONNRESET = libc::ECONNRESET as isize, + ENOBUFS = libc::ENOBUFS as isize, + EISCONN = libc::EISCONN as isize, + ENOTCONN = libc::ENOTCONN as isize, + ESHUTDOWN = libc::ESHUTDOWN as isize, + ETOOMANYREFS = libc::ETOOMANYREFS as isize, + ETIMEDOUT = libc::ETIMEDOUT as isize, + ECONNREFUSED = libc::ECONNREFUSED as isize, + EHOSTDOWN = libc::EHOSTDOWN as isize, + EHOSTUNREACH = libc::EHOSTUNREACH as isize, + EALREADY = libc::EALREADY as isize, + EINPROGRESS = libc::EINPROGRESS as isize, + ESTALE = libc::ESTALE as isize, + EUCLEAN = libc::EUCLEAN as isize, + ENOTNAM = libc::ENOTNAM as isize, + ENAVAIL = libc::ENAVAIL as isize, + EISNAM = libc::EISNAM as isize, + EREMOTEIO = libc::EREMOTEIO as isize, + EDQUOT = libc::EDQUOT as isize, + ENOMEDIUM = libc::ENOMEDIUM as isize, + EMEDIUMTYPE = libc::EMEDIUMTYPE as isize, + ECANCELED = libc::ECANCELED as isize, + ENOKEY = libc::ENOKEY as isize, + EKEYEXPIRED = libc::EKEYEXPIRED as isize, + EKEYREVOKED = libc::EKEYREVOKED as isize, + EKEYREJECTED = libc::EKEYREJECTED as isize, + EOWNERDEAD = libc::EOWNERDEAD as isize, + ENOTRECOVERABLE = libc::ENOTRECOVERABLE as isize, + + #[cfg(not(any(target_os = "android", target_arch="mips")))] + ERFKILL = libc::ERFKILL as isize, + #[cfg(not(any(target_os = "android", target_arch="mips")))] + EHWPOISON = libc::EHWPOISON as isize, } pub const EWOULDBLOCK: Errno = Errno::EAGAIN; @@ -669,140 +671,140 @@ mod consts { match e { 0 => UnknownErrno, - 1 => EPERM, - 2 => ENOENT, - 3 => ESRCH, - 4 => EINTR, - 5 => EIO, - 6 => ENXIO, - 7 => E2BIG, - 8 => ENOEXEC, - 9 => EBADF, - 10 => ECHILD, - 11 => EAGAIN, - 12 => ENOMEM, - 13 => EACCES, - 14 => EFAULT, - 15 => ENOTBLK, - 16 => EBUSY, - 17 => EEXIST, - 18 => EXDEV, - 19 => ENODEV, - 20 => ENOTDIR, - 21 => EISDIR, - 22 => EINVAL, - 23 => ENFILE, - 24 => EMFILE, - 25 => ENOTTY, - 26 => ETXTBSY, - 27 => EFBIG, - 28 => ENOSPC, - 29 => ESPIPE, - 30 => EROFS, - 31 => EMLINK, - 32 => EPIPE, - 33 => EDOM, - 34 => ERANGE, - 35 => EDEADLK, - 36 => ENAMETOOLONG, - 37 => ENOLCK, - 38 => ENOSYS, - 39 => ENOTEMPTY, - 40 => ELOOP, - 42 => ENOMSG, - 43 => EIDRM, - 44 => ECHRNG, - 45 => EL2NSYNC, - 46 => EL3HLT, - 47 => EL3RST, - 48 => ELNRNG, - 49 => EUNATCH, - 50 => ENOCSI, - 51 => EL2HLT, - 52 => EBADE, - 53 => EBADR, - 54 => EXFULL, - 55 => ENOANO, - 56 => EBADRQC, - 57 => EBADSLT, - 59 => EBFONT, - 60 => ENOSTR, - 61 => ENODATA, - 62 => ETIME, - 63 => ENOSR, - 64 => ENONET, - 65 => ENOPKG, - 66 => EREMOTE, - 67 => ENOLINK, - 68 => EADV, - 69 => ESRMNT, - 70 => ECOMM, - 71 => EPROTO, - 72 => EMULTIHOP, - 73 => EDOTDOT, - 74 => EBADMSG, - 75 => EOVERFLOW, - 76 => ENOTUNIQ, - 77 => EBADFD, - 78 => EREMCHG, - 79 => ELIBACC, - 80 => ELIBBAD, - 81 => ELIBSCN, - 82 => ELIBMAX, - 83 => ELIBEXEC, - 84 => EILSEQ, - 85 => ERESTART, - 86 => ESTRPIPE, - 87 => EUSERS, - 88 => ENOTSOCK, - 89 => EDESTADDRREQ, - 90 => EMSGSIZE, - 91 => EPROTOTYPE, - 92 => ENOPROTOOPT, - 93 => EPROTONOSUPPORT, - 94 => ESOCKTNOSUPPORT, - 95 => EOPNOTSUPP, - 96 => EPFNOSUPPORT, - 97 => EAFNOSUPPORT, - 98 => EADDRINUSE, - 99 => EADDRNOTAVAIL, - 100 => ENETDOWN, - 101 => ENETUNREACH, - 102 => ENETRESET, - 103 => ECONNABORTED, - 104 => ECONNRESET, - 105 => ENOBUFS, - 106 => EISCONN, - 107 => ENOTCONN, - 108 => ESHUTDOWN, - 109 => ETOOMANYREFS, - 110 => ETIMEDOUT, - 111 => ECONNREFUSED, - 112 => EHOSTDOWN, - 113 => EHOSTUNREACH, - 114 => EALREADY, - 115 => EINPROGRESS, - 116 => ESTALE, - 117 => EUCLEAN, - 118 => ENOTNAM, - 119 => ENAVAIL, - 120 => EISNAM, - 121 => EREMOTEIO, - 122 => EDQUOT, - 123 => ENOMEDIUM, - 124 => EMEDIUMTYPE, - 125 => ECANCELED, - 126 => ENOKEY, - 127 => EKEYEXPIRED, - 128 => EKEYREVOKED, - 129 => EKEYREJECTED, - 130 => EOWNERDEAD, - 131 => ENOTRECOVERABLE, - - #[cfg(not(target_os = "android"))] - 132 => ERFKILL, - #[cfg(not(target_os = "android"))] - 133 => EHWPOISON, + libc::EPERM => EPERM, + libc::ENOENT => ENOENT, + libc::ESRCH => ESRCH, + libc::EINTR => EINTR, + libc::EIO => EIO, + libc::ENXIO => ENXIO, + libc::E2BIG => E2BIG, + libc::ENOEXEC => ENOEXEC, + libc::EBADF => EBADF, + libc::ECHILD => ECHILD, + libc::EAGAIN => EAGAIN, + libc::ENOMEM => ENOMEM, + libc::EACCES => EACCES, + libc::EFAULT => EFAULT, + libc::ENOTBLK => ENOTBLK, + libc::EBUSY => EBUSY, + libc::EEXIST => EEXIST, + libc::EXDEV => EXDEV, + libc::ENODEV => ENODEV, + libc::ENOTDIR => ENOTDIR, + libc::EISDIR => EISDIR, + libc::EINVAL => EINVAL, + libc::ENFILE => ENFILE, + libc::EMFILE => EMFILE, + libc::ENOTTY => ENOTTY, + libc::ETXTBSY => ETXTBSY, + libc::EFBIG => EFBIG, + libc::ENOSPC => ENOSPC, + libc::ESPIPE => ESPIPE, + libc::EROFS => EROFS, + libc::EMLINK => EMLINK, + libc::EPIPE => EPIPE, + libc::EDOM => EDOM, + libc::ERANGE => ERANGE, + libc::EDEADLK => EDEADLK, + libc::ENAMETOOLONG => ENAMETOOLONG, + libc::ENOLCK => ENOLCK, + libc::ENOSYS => ENOSYS, + libc::ENOTEMPTY => ENOTEMPTY, + libc::ELOOP => ELOOP, + libc::ENOMSG => ENOMSG, + libc::EIDRM => EIDRM, + libc::ECHRNG => ECHRNG, + libc::EL2NSYNC => EL2NSYNC, + libc::EL3HLT => EL3HLT, + libc::EL3RST => EL3RST, + libc::ELNRNG => ELNRNG, + libc::EUNATCH => EUNATCH, + libc::ENOCSI => ENOCSI, + libc::EL2HLT => EL2HLT, + libc::EBADE => EBADE, + libc::EBADR => EBADR, + libc::EXFULL => EXFULL, + libc::ENOANO => ENOANO, + libc::EBADRQC => EBADRQC, + libc::EBADSLT => EBADSLT, + libc::EBFONT => EBFONT, + libc::ENOSTR => ENOSTR, + libc::ENODATA => ENODATA, + libc::ETIME => ETIME, + libc::ENOSR => ENOSR, + libc::ENONET => ENONET, + libc::ENOPKG => ENOPKG, + libc::EREMOTE => EREMOTE, + libc::ENOLINK => ENOLINK, + libc::EADV => EADV, + libc::ESRMNT => ESRMNT, + libc::ECOMM => ECOMM, + libc::EPROTO => EPROTO, + libc::EMULTIHOP => EMULTIHOP, + libc::EDOTDOT => EDOTDOT, + libc::EBADMSG => EBADMSG, + libc::EOVERFLOW => EOVERFLOW, + libc::ENOTUNIQ => ENOTUNIQ, + libc::EBADFD => EBADFD, + libc::EREMCHG => EREMCHG, + libc::ELIBACC => ELIBACC, + libc::ELIBBAD => ELIBBAD, + libc::ELIBSCN => ELIBSCN, + libc::ELIBMAX => ELIBMAX, + libc::ELIBEXEC => ELIBEXEC, + libc::EILSEQ => EILSEQ, + libc::ERESTART => ERESTART, + libc::ESTRPIPE => ESTRPIPE, + libc::EUSERS => EUSERS, + libc::ENOTSOCK => ENOTSOCK, + libc::EDESTADDRREQ => EDESTADDRREQ, + libc::EMSGSIZE => EMSGSIZE, + libc::EPROTOTYPE => EPROTOTYPE, + libc::ENOPROTOOPT => ENOPROTOOPT, + libc::EPROTONOSUPPORT => EPROTONOSUPPORT, + libc::ESOCKTNOSUPPORT => ESOCKTNOSUPPORT, + libc::EOPNOTSUPP => EOPNOTSUPP, + libc::EPFNOSUPPORT => EPFNOSUPPORT, + libc::EAFNOSUPPORT => EAFNOSUPPORT, + libc::EADDRINUSE => EADDRINUSE, + libc::EADDRNOTAVAIL => EADDRNOTAVAIL, + libc::ENETDOWN => ENETDOWN, + libc::ENETUNREACH => ENETUNREACH, + libc::ENETRESET => ENETRESET, + libc::ECONNABORTED => ECONNABORTED, + libc::ECONNRESET => ECONNRESET, + libc::ENOBUFS => ENOBUFS, + libc::EISCONN => EISCONN, + libc::ENOTCONN => ENOTCONN, + libc::ESHUTDOWN => ESHUTDOWN, + libc::ETOOMANYREFS => ETOOMANYREFS, + libc::ETIMEDOUT => ETIMEDOUT, + libc::ECONNREFUSED => ECONNREFUSED, + libc::EHOSTDOWN => EHOSTDOWN, + libc::EHOSTUNREACH => EHOSTUNREACH, + libc::EALREADY => EALREADY, + libc::EINPROGRESS => EINPROGRESS, + libc::ESTALE => ESTALE, + libc::EUCLEAN => EUCLEAN, + libc::ENOTNAM => ENOTNAM, + libc::ENAVAIL => ENAVAIL, + libc::EISNAM => EISNAM, + libc::EREMOTEIO => EREMOTEIO, + libc::EDQUOT => EDQUOT, + libc::ENOMEDIUM => ENOMEDIUM, + libc::EMEDIUMTYPE => EMEDIUMTYPE, + libc::ECANCELED => ECANCELED, + libc::ENOKEY => ENOKEY, + libc::EKEYEXPIRED => EKEYEXPIRED, + libc::EKEYREVOKED => EKEYREVOKED, + libc::EKEYREJECTED => EKEYREJECTED, + libc::EOWNERDEAD => EOWNERDEAD, + libc::ENOTRECOVERABLE => ENOTRECOVERABLE, + + #[cfg(not(any(target_os = "android", target_arch="mips")))] + libc::ERFKILL => ERFKILL, + #[cfg(not(any(target_os = "android", target_arch="mips")))] + libc::EHWPOISON => EHWPOISON, _ => UnknownErrno, } } @@ -2057,13 +2059,15 @@ mod test { ENOTRECOVERABLE); } - #[test] - #[cfg(target_os = "linux")] - pub fn test_linux_not_android_errnos() { - check_errno!( - ERFKILL /*, - EHWPOISON */); - } + // This test fails because MIPS does not have + // ERFKILL or EHWPOISON. + // #[test] + // #[cfg(target_os = "linux")] + // pub fn test_linux_not_android_errnos() { + // check_errno!( + // ERFKILL /*, + // EHWPOISON */); + // } #[test] #[cfg(target_os = "freebsd")] diff --git a/src/sys/socket/consts.rs b/src/sys/socket/consts.rs index 9a1861fa..8e5440e1 100644 --- a/src/sys/socket/consts.rs +++ b/src/sys/socket/consts.rs @@ -11,14 +11,14 @@ mod os { pub const AF_NETLINK: c_int = 16; pub const AF_PACKET: c_int = 17; - pub const SOCK_STREAM: c_int = 1; - pub const SOCK_DGRAM: c_int = 2; - pub const SOCK_SEQPACKET: c_int = 5; - pub const SOCK_RAW: c_int = 3; + pub const SOCK_STREAM: c_int = libc::SOCK_STREAM; + pub const SOCK_DGRAM: c_int = libc::SOCK_DGRAM; + pub const SOCK_SEQPACKET: c_int = libc::SOCK_SEQPACKET; + pub const SOCK_RAW: c_int = libc::SOCK_RAW; pub const SOCK_RDM: c_int = 4; pub const SOL_IP: c_int = 0; - pub const SOL_SOCKET: c_int = 1; + pub const SOL_SOCKET: c_int = libc::SOL_SOCKET; pub const SOL_TCP: c_int = 6; pub const SOL_UDP: c_int = 17; pub const SOL_IPV6: c_int = 41; @@ -28,36 +28,36 @@ mod os { pub const IPPROTO_TCP: c_int = SOL_TCP; pub const IPPROTO_UDP: c_int = SOL_UDP; - pub const SO_ACCEPTCONN: c_int = 30; + pub const SO_ACCEPTCONN: c_int = libc::SO_ACCEPTCONN; pub const SO_BINDTODEVICE: c_int = 25; - pub const SO_BROADCAST: c_int = 6; + pub const SO_BROADCAST: c_int = libc::SO_BROADCAST; pub const SO_BSDCOMPAT: c_int = 14; pub const SO_DEBUG: c_int = 1; pub const SO_DOMAIN: c_int = 39; - pub const SO_ERROR: c_int = 4; - pub const SO_DONTROUTE: c_int = 5; - pub const SO_KEEPALIVE: c_int = 9; - pub const SO_LINGER: c_int = 13; + pub const SO_ERROR: c_int = libc::SO_ERROR; + pub const SO_DONTROUTE: c_int = libc::SO_DONTROUTE; + pub const SO_KEEPALIVE: c_int = libc::SO_KEEPALIVE; + pub const SO_LINGER: c_int = libc::SO_LINGER; pub const SO_MARK: c_int = 36; - pub const SO_OOBINLINE: c_int = 10; - pub const SO_PASSCRED: c_int = 16; + pub const SO_OOBINLINE: c_int = libc::SO_OOBINLINE; + pub const SO_PASSCRED: c_int = libc::SO_PASSCRED; pub const SO_PEEK_OFF: c_int = 42; - pub const SO_PEERCRED: c_int = 17; + pub const SO_PEERCRED: c_int = libc::SO_PEERCRED; pub const SO_PRIORITY: c_int = 12; pub const SO_PROTOCOL: c_int = 38; - pub const SO_RCVBUF: c_int = 8; + pub const SO_RCVBUF: c_int = libc::SO_RCVBUF; pub const SO_RCVBUFFORCE: c_int = 33; - pub const SO_RCVLOWAT: c_int = 18; - pub const SO_SNDLOWAT: c_int = 19; - pub const SO_RCVTIMEO: c_int = 20; - pub const SO_SNDTIMEO: c_int = 21; - pub const SO_REUSEADDR: c_int = 2; - pub const SO_REUSEPORT: c_int = 15; + pub const SO_RCVLOWAT: c_int = libc::SO_RCVLOWAT; + pub const SO_SNDLOWAT: c_int = libc::SO_SNDLOWAT; + pub const SO_RCVTIMEO: c_int = libc::SO_RCVTIMEO; + pub const SO_SNDTIMEO: c_int = libc::SO_SNDTIMEO; + pub const SO_REUSEADDR: c_int = libc::SO_REUSEADDR; + pub const SO_REUSEPORT: c_int = libc::SO_REUSEPORT; pub const SO_RXQ_OVFL: c_int = 40; - pub const SO_SNDBUF: c_int = 7; - pub const SO_SNDBUFFORCE: c_int = 32; + pub const SO_SNDBUF: c_int = libc::SO_SNDBUF; + pub const SO_SNDBUFFORCE: c_int = libc::SO_SNDBUFFORCE; pub const SO_TIMESTAMP: c_int = 29; - pub const SO_TYPE: c_int = 3; + pub const SO_TYPE: c_int = libc::SO_TYPE; pub const SO_BUSY_POLL: c_int = 46; #[cfg(target_os = "linux")] pub const SO_ORIGINAL_DST: c_int = 80; @@ -152,7 +152,7 @@ mod os { #[cfg(any(target_os = "macos", target_os = "ios"))] pub const SYSPROTO_CONTROL: c_int = 2; - pub const SO_ACCEPTCONN: c_int = 0x0002; + pub const SO_ACCEPTCONN: c_int = libc::SO_ACCEPTCONN; pub const SO_BROADCAST: c_int = 0x0020; pub const SO_DEBUG: c_int = 0x0001; #[cfg(not(target_os = "netbsd"))] -- cgit v1.2.3 From 0db6ed1a28b4fb4d408cd9b7c4dba0a79bccf1f7 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Thu, 2 Mar 2017 18:45:51 +0000 Subject: Removed some socket constants from arch=arm --- src/sys/socket/consts.rs | 3 +++ src/sys/socket/sockopt.rs | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/sys/socket/consts.rs b/src/sys/socket/consts.rs index 8e5440e1..ba3981c2 100644 --- a/src/sys/socket/consts.rs +++ b/src/sys/socket/consts.rs @@ -40,8 +40,10 @@ mod os { pub const SO_LINGER: c_int = libc::SO_LINGER; pub const SO_MARK: c_int = 36; pub const SO_OOBINLINE: c_int = libc::SO_OOBINLINE; + #[cfg(not(target_arch="arm"))] pub const SO_PASSCRED: c_int = libc::SO_PASSCRED; pub const SO_PEEK_OFF: c_int = 42; + #[cfg(not(target_arch="arm"))] pub const SO_PEERCRED: c_int = libc::SO_PEERCRED; pub const SO_PRIORITY: c_int = 12; pub const SO_PROTOCOL: c_int = 38; @@ -55,6 +57,7 @@ mod os { pub const SO_REUSEPORT: c_int = libc::SO_REUSEPORT; pub const SO_RXQ_OVFL: c_int = 40; pub const SO_SNDBUF: c_int = libc::SO_SNDBUF; + #[cfg(not(target_arch="arm"))] pub const SO_SNDBUFFORCE: c_int = libc::SO_SNDBUFFORCE; pub const SO_TIMESTAMP: c_int = 29; pub const SO_TYPE: c_int = libc::SO_TYPE; diff --git a/src/sys/socket/sockopt.rs b/src/sys/socket/sockopt.rs index bf17347c..5d33341f 100644 --- a/src/sys/socket/sockopt.rs +++ b/src/sys/socket/sockopt.rs @@ -152,7 +152,7 @@ sockopt_impl!(Both, Broadcast, consts::SOL_SOCKET, consts::SO_BROADCAST, bool); sockopt_impl!(Both, OobInline, consts::SOL_SOCKET, consts::SO_OOBINLINE, bool); sockopt_impl!(GetOnly, SocketError, consts::SOL_SOCKET, consts::SO_ERROR, i32); sockopt_impl!(Both, KeepAlive, consts::SOL_SOCKET, consts::SO_KEEPALIVE, bool); -#[cfg(target_os = "linux")] +#[cfg(all(target_os = "linux", not(target_arch="arm")))] sockopt_impl!(GetOnly, PeerCredentials, consts::SOL_SOCKET, consts::SO_PEERCRED, super::ucred); #[cfg(any(target_os = "macos", target_os = "ios"))] @@ -167,7 +167,7 @@ sockopt_impl!(Both, RcvBuf, consts::SOL_SOCKET, consts::SO_RCVBUF, usize); sockopt_impl!(Both, SndBuf, consts::SOL_SOCKET, consts::SO_SNDBUF, usize); #[cfg(target_os = "linux")] sockopt_impl!(SetOnly, RcvBufForce, consts::SOL_SOCKET, consts::SO_RCVBUFFORCE, usize); -#[cfg(target_os = "linux")] +#[cfg(all(target_os = "linux", not(target_arch="arm")))] sockopt_impl!(SetOnly, SndBufForce, consts::SOL_SOCKET, consts::SO_SNDBUFFORCE, usize); sockopt_impl!(GetOnly, SockType, consts::SOL_SOCKET, consts::SO_TYPE, super::SockType); #[cfg(any(target_os = "freebsd", -- cgit v1.2.3 From 334e826c7cf319d386d98491fe2f2f26bb3ae209 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Sun, 5 Mar 2017 19:26:57 +0000 Subject: Re-enabled errorno test for not_android. --- src/errno.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/errno.rs b/src/errno.rs index d8aaf7f3..a27abaa7 100644 --- a/src/errno.rs +++ b/src/errno.rs @@ -2059,15 +2059,13 @@ mod test { ENOTRECOVERABLE); } - // This test fails because MIPS does not have - // ERFKILL or EHWPOISON. - // #[test] - // #[cfg(target_os = "linux")] - // pub fn test_linux_not_android_errnos() { - // check_errno!( - // ERFKILL /*, - // EHWPOISON */); - // } + #[test] + #[cfg(all(target_os = "linux", not(target_arch = "mips")))] + pub fn test_linux_not_android_errnos() { + check_errno!( + ERFKILL /*, + EHWPOISON */); + } #[test] #[cfg(target_os = "freebsd")] -- cgit v1.2.3 From 90b22ff160b7b20fd815a783343a081dfad31948 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Sat, 4 Mar 2017 23:27:34 +0000 Subject: Added missing syscalls for powerpc --- src/sys/syscall.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/sys/syscall.rs b/src/sys/syscall.rs index c2d9e51c..692b4cef 100644 --- a/src/sys/syscall.rs +++ b/src/sys/syscall.rs @@ -54,6 +54,16 @@ mod arch { pub static MEMFD_CREATE: Syscall = 354; } +#[cfg(target_arch = "powerpc")] +mod arch { + use libc::c_long; + + pub type Syscall = c_long; + + pub static SYSPIVOTROOT: Syscall = 203; + pub static MEMFD_CREATE: Syscall = 360; +} + extern { pub fn syscall(num: Syscall, ...) -> c_int; } -- cgit v1.2.3 From d623db97a26802bf5f5ed3ebdb87406f2f8ce9a1 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Fri, 10 Mar 2017 15:46:58 +0000 Subject: Removed unused libc imports in termios. --- src/sys/termios.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/sys/termios.rs b/src/sys/termios.rs index 6ff77747..126d149c 100644 --- a/src/sys/termios.rs +++ b/src/sys/termios.rs @@ -99,7 +99,7 @@ mod ffi { use libc; - use libc::{c_int, c_uint, c_ulong, c_uchar}; + use libc::c_int; pub type tcflag_t = libc::tcflag_t; pub type cc_t = libc::cc_t; -- cgit v1.2.3 From 09c00ed7d9d92db2a79baa3ed212e7e239edceb9 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Fri, 10 Mar 2017 16:48:43 +0000 Subject: Removed tests on ARM for non-existant constants. --- src/sys/socket/consts.rs | 3 +++ src/sys/socket/sockopt.rs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sys/socket/consts.rs b/src/sys/socket/consts.rs index ba3981c2..7c7e5848 100644 --- a/src/sys/socket/consts.rs +++ b/src/sys/socket/consts.rs @@ -434,12 +434,15 @@ mod test { TCP_CORK, // SO_BUSY_POLL, // SO_RXQ_OVFL, + #[cfg(not(target_arch="arm"))] SO_PASSCRED, SO_PRIORITY, // SO_PROTOCOL, SO_RCVBUFFORCE, // SO_PEEK_OFF, + #[cfg(not(target_arch="arm"))] SO_PEERCRED, + #[cfg(not(target_arch="arm"))] SO_SNDBUFFORCE, MSG_ERRQUEUE); } diff --git a/src/sys/socket/sockopt.rs b/src/sys/socket/sockopt.rs index 5d33341f..61d85ec3 100644 --- a/src/sys/socket/sockopt.rs +++ b/src/sys/socket/sockopt.rs @@ -378,7 +378,7 @@ impl<'a> Set<'a, usize> for SetUsize { #[cfg(test)] mod test { - #[cfg(target_os = "linux")] + #[cfg(all(target_os = "linux", not(target_arch = "arm")))] #[test] fn can_get_peercred_on_unix_socket() { use super::super::*; -- cgit v1.2.3 From 56d20ca225570ab1e855f7b1d44aef1619019d66 Mon Sep 17 00:00:00 2001 From: Zac Berkowitz Date: Fri, 10 Mar 2017 16:56:32 +0000 Subject: Split socket consts. test across ARM arch. --- src/sys/socket/consts.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/sys/socket/consts.rs b/src/sys/socket/consts.rs index 7c7e5848..54213ef1 100644 --- a/src/sys/socket/consts.rs +++ b/src/sys/socket/consts.rs @@ -420,7 +420,7 @@ mod test { #[cfg(target_os = "linux")] #[test] - pub fn test_linux_consts() { + pub fn test_general_linux_consts() { // TODO Figure out how to test new constants check_const!( SOL_IP, @@ -434,16 +434,21 @@ mod test { TCP_CORK, // SO_BUSY_POLL, // SO_RXQ_OVFL, - #[cfg(not(target_arch="arm"))] - SO_PASSCRED, SO_PRIORITY, // SO_PROTOCOL, SO_RCVBUFFORCE, // SO_PEEK_OFF, - #[cfg(not(target_arch="arm"))] - SO_PEERCRED, - #[cfg(not(target_arch="arm"))] - SO_SNDBUFFORCE, MSG_ERRQUEUE); } + + #[cfg(all(target_os = "linux", not(target_arch="arm")))] + #[test] + pub fn test_linux_not_arm_consts() { + // TODO Figure out how to test new constants + check_const!( + SO_PASSCRED, + SO_PEERCRED, + SO_SNDBUFFORCE); + } + } -- cgit v1.2.3