1 pub type c_long = i32; 2 pub type c_ulong = u32; 3 pub type nlink_t = u32; 4 pub type blksize_t = ::c_long; 5 pub type __u64 = ::c_ulonglong; 6 pub type regoff_t = ::c_int; 7 8 s! { 9 pub struct pthread_attr_t { 10 __size: [u32; 9] 11 } 12 13 pub struct sigset_t { 14 __val: [::c_ulong; 32], 15 } 16 17 pub struct msghdr { 18 pub msg_name: *mut ::c_void, 19 pub msg_namelen: ::socklen_t, 20 pub msg_iov: *mut ::iovec, 21 pub msg_iovlen: ::c_int, 22 pub msg_control: *mut ::c_void, 23 pub msg_controllen: ::socklen_t, 24 pub msg_flags: ::c_int, 25 } 26 27 pub struct cmsghdr { 28 pub cmsg_len: ::socklen_t, 29 pub cmsg_level: ::c_int, 30 pub cmsg_type: ::c_int, 31 } 32 33 pub struct sem_t { 34 __val: [::c_int; 4], 35 } 36 } 37 38 pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 32; 39 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 24; 40 41 pub const TIOCINQ: ::c_int = ::FIONREAD; 42 43 extern "C" { 44 pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; 45 } 46 47 cfg_if! { 48 if #[cfg(any(target_arch = "x86"))] { 49 mod x86; 50 pub use self::x86::*; 51 } else if #[cfg(any(target_arch = "mips"))] { 52 mod mips; 53 pub use self::mips::*; 54 } else if #[cfg(any(target_arch = "arm"))] { 55 mod arm; 56 pub use self::arm::*; 57 } else if #[cfg(any(target_arch = "powerpc"))] { 58 mod powerpc; 59 pub use self::powerpc::*; 60 } else if #[cfg(any(target_arch = "hexagon"))] { 61 mod hexagon; 62 pub use self::hexagon::*; 63 } else { 64 // Unknown target_arch 65 } 66 } 67