diff options
Diffstat (limited to 'libc/src/unix/bsd/netbsdlike/netbsd')
| -rw-r--r-- | libc/src/unix/bsd/netbsdlike/netbsd/mod.rs | 92 | 
1 files changed, 54 insertions, 38 deletions
| diff --git a/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs b/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs index 9d710eb..893b157 100644 --- a/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -9,6 +9,22 @@ pub type mqd_t = ::c_int;  type __pthread_spin_t = __cpu_simple_lock_nv_t;  pub type vm_size_t = ::uintptr_t; +impl siginfo_t { +    pub unsafe fn si_value(&self) -> ::sigval { +        #[repr(C)] +        struct siginfo_timer { +            _si_signo: ::c_int, +            _si_errno: ::c_int, +            _si_code: ::c_int, +            __pad1: ::c_int, +            _pid: ::pid_t, +            _uid: ::uid_t, +            value: ::sigval, +        } +        (*(self as *const siginfo_t as *const siginfo_timer)).value +    } +} +  s! {      pub struct aiocb {          pub aio_offset: ::off_t, @@ -46,14 +62,6 @@ s! {          pub mq_curmsgs: ::c_long,      } -    pub struct sigevent { -        pub sigev_notify: ::c_int, -        pub sigev_signo: ::c_int, -        pub sigev_value: ::sigval, -        __unused1: *mut ::c_void,       //actually a function pointer -        pub sigev_notify_attributes: *mut ::c_void -    } -      pub struct sigset_t {          __bits: [u32; 4],      } @@ -356,6 +364,14 @@ s_no_extra_traits! {          __ss_pad2: i64,          __ss_pad3: [u8; 112],      } + +    pub struct sigevent { +        pub sigev_notify: ::c_int, +        pub sigev_signo: ::c_int, +        pub sigev_value: ::sigval, +        __unused1: *mut ::c_void,       //actually a function pointer +        pub sigev_notify_attributes: *mut ::c_void +    }  }  cfg_if! { @@ -658,6 +674,36 @@ cfg_if! {                  self.__ss_pad3.hash(state);              }          } + +        impl PartialEq for sigevent { +            fn eq(&self, other: &sigevent) -> bool { +                self.sigev_notify == other.sigev_notify +                    && self.sigev_signo == other.sigev_signo +                    && self.sigev_value == other.sigev_value +                    && self.sigev_notify_attributes +                        == other.sigev_notify_attributes +            } +        } +        impl Eq for sigevent {} +        impl ::fmt::Debug for sigevent { +            fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { +                f.debug_struct("sigevent") +                    .field("sigev_notify", &self.sigev_notify) +                    .field("sigev_signo", &self.sigev_signo) +                    .field("sigev_value", &self.sigev_value) +                    .field("sigev_notify_attributes", +                           &self.sigev_notify_attributes) +                    .finish() +            } +        } +        impl ::hash::Hash for sigevent { +            fn hash<H: ::hash::Hasher>(&self, state: &mut H) { +                self.sigev_notify.hash(state); +                self.sigev_signo.hash(state); +                self.sigev_value.hash(state); +                self.sigev_notify_attributes.hash(state); +            } +        }      }  } @@ -853,22 +899,6 @@ pub const AF_BLUETOOTH: ::c_int = 31;  pub const AF_IEEE80211: ::c_int = 32;  pub const AF_MPLS: ::c_int = 33;  pub const AF_ROUTE: ::c_int = 34; -#[doc(hidden)] -#[deprecated( -    since = "0.2.55", -    note = "If you are using this report to: \ -            https://github.com/rust-lang/libc/issues/665" -)] -pub const AF_MAX: ::c_int = 36; - -#[doc(hidden)] -#[deprecated( -    since = "0.2.55", -    note = "If you are using this report to: \ -            https://github.com/rust-lang/libc/issues/665" -)] -#[allow(deprecated)] -pub const NET_MAXID: ::c_int = AF_MAX;  pub const NET_RT_DUMP: ::c_int = 1;  pub const NET_RT_FLAGS: ::c_int = 2;  pub const NET_RT_OOOIFLIST: ::c_int = 3; @@ -884,15 +914,6 @@ pub const PF_BLUETOOTH: ::c_int = AF_BLUETOOTH;  pub const PF_MPLS: ::c_int = AF_MPLS;  pub const PF_ROUTE: ::c_int = AF_ROUTE; -#[doc(hidden)] -#[deprecated( -    since = "0.2.55", -    note = "If you are using this report to: \ -            https://github.com/rust-lang/libc/issues/665" -)] -#[allow(deprecated)] -pub const PF_MAX: ::c_int = AF_MAX; -  pub const MSG_NBIO: ::c_int = 0x1000;  pub const MSG_WAITFORONE: ::c_int = 0x2000;  pub const MSG_NOTIFICATION: ::c_int = 0x4000; @@ -1347,14 +1368,9 @@ pub const CHWFLOW: ::tcflag_t = ::MDMBUF | ::CRTSCTS | ::CDTRCTS;  pub const SOCK_CLOEXEC: ::c_int = 0x10000000;  pub const SOCK_NONBLOCK: ::c_int = 0x20000000; -pub const FIONCLEX: ::c_ulong = 0x20006602;  // Uncomment on next NetBSD release  // pub const FIOSEEKDATA: ::c_ulong = 0xc0086661;  // pub const FIOSEEKHOLE: ::c_ulong = 0xc0086662; -pub const FIONREAD: ::c_ulong = 0x4004667f; -pub const FIOASYNC: ::c_ulong = 0x8004667d; -pub const FIOSETOWN: ::c_ulong = 0x8004667c; -pub const FIOGETOWN: ::c_ulong = 0x4004667b;  pub const OFIOGETBMAP: ::c_ulong = 0xc004667a;  pub const FIOGETBMAP: ::c_ulong = 0xc008667a;  pub const FIONWRITE: ::c_ulong = 0x40046679; | 
