libc/unix/bsd/apple/b64/
mod.rs1use crate::prelude::*;
4
5s! {
6 pub struct timeval32 {
7 pub tv_sec: i32,
8 pub tv_usec: i32,
9 }
10
11 pub struct if_data {
12 pub ifi_type: c_uchar,
13 pub ifi_typelen: c_uchar,
14 pub ifi_physical: c_uchar,
15 pub ifi_addrlen: c_uchar,
16 pub ifi_hdrlen: c_uchar,
17 pub ifi_recvquota: c_uchar,
18 pub ifi_xmitquota: c_uchar,
19 pub ifi_unused1: c_uchar,
20 pub ifi_mtu: u32,
21 pub ifi_metric: u32,
22 pub ifi_baudrate: u32,
23 pub ifi_ipackets: u32,
24 pub ifi_ierrors: u32,
25 pub ifi_opackets: u32,
26 pub ifi_oerrors: u32,
27 pub ifi_collisions: u32,
28 pub ifi_ibytes: u32,
29 pub ifi_obytes: u32,
30 pub ifi_imcasts: u32,
31 pub ifi_omcasts: u32,
32 pub ifi_iqdrops: u32,
33 pub ifi_noproto: u32,
34 pub ifi_recvtiming: u32,
35 pub ifi_xmittiming: u32,
36 pub ifi_lastchange: timeval32,
37 pub ifi_unused2: u32,
38 pub ifi_hwassist: u32,
39 pub ifi_reserved1: u32,
40 pub ifi_reserved2: u32,
41 }
42
43 pub struct bpf_hdr {
44 pub bh_tstamp: crate::timeval32,
45 pub bh_caplen: u32,
46 pub bh_datalen: u32,
47 pub bh_hdrlen: c_ushort,
48 }
49}
50
51s_no_extra_traits! {
52 pub struct pthread_attr_t {
53 __sig: c_long,
54 __opaque: [c_char; 56],
55 }
56
57 pub struct pthread_once_t {
58 __sig: c_long,
59 __opaque: [c_char; __PTHREAD_ONCE_SIZE__],
60 }
61}
62
63cfg_if! {
64 if #[cfg(feature = "extra_traits")] {
65 impl PartialEq for pthread_attr_t {
66 fn eq(&self, other: &pthread_attr_t) -> bool {
67 self.__sig == other.__sig
68 && self
69 .__opaque
70 .iter()
71 .zip(other.__opaque.iter())
72 .all(|(a, b)| a == b)
73 }
74 }
75 impl Eq for pthread_attr_t {}
76 impl hash::Hash for pthread_attr_t {
77 fn hash<H: hash::Hasher>(&self, state: &mut H) {
78 self.__sig.hash(state);
79 self.__opaque.hash(state);
80 }
81 }
82 impl PartialEq for pthread_once_t {
83 fn eq(&self, other: &pthread_once_t) -> bool {
84 self.__sig == other.__sig
85 && self
86 .__opaque
87 .iter()
88 .zip(other.__opaque.iter())
89 .all(|(a, b)| a == b)
90 }
91 }
92 impl Eq for pthread_once_t {}
93 impl hash::Hash for pthread_once_t {
94 fn hash<H: hash::Hasher>(&self, state: &mut H) {
95 self.__sig.hash(state);
96 self.__opaque.hash(state);
97 }
98 }
99 }
100}
101
102#[doc(hidden)]
103#[deprecated(since = "0.2.55")]
104pub const NET_RT_MAXID: c_int = 11;
105
106pub const __PTHREAD_MUTEX_SIZE__: usize = 56;
107pub const __PTHREAD_COND_SIZE__: usize = 40;
108pub const __PTHREAD_CONDATTR_SIZE__: usize = 8;
109pub const __PTHREAD_ONCE_SIZE__: usize = 8;
110pub const __PTHREAD_RWLOCK_SIZE__: usize = 192;
111pub const __PTHREAD_RWLOCKATTR_SIZE__: usize = 16;
112
113pub const TIOCTIMESTAMP: c_ulong = 0x40107459;
114pub const TIOCDCDTIMESTAMP: c_ulong = 0x40107458;
115
116pub const BIOCSETF: c_ulong = 0x80104267;
117pub const BIOCSRTIMEOUT: c_ulong = 0x8010426d;
118pub const BIOCGRTIMEOUT: c_ulong = 0x4010426e;
119pub const BIOCSETFNR: c_ulong = 0x8010427e;
120
121const _PTHREAD_ONCE_SIG_INIT: c_long = 0x30B1BCBA;
122pub const PTHREAD_ONCE_INIT: crate::pthread_once_t = crate::pthread_once_t {
123 __sig: _PTHREAD_ONCE_SIG_INIT,
124 __opaque: [0; 8],
125};
126
127extern "C" {
128 pub fn exchangedata(path1: *const c_char, path2: *const c_char, options: c_uint) -> c_int;
129}
130
131cfg_if! {
132 if #[cfg(target_arch = "x86_64")] {
133 mod x86_64;
134 pub use self::x86_64::*;
135 } else if #[cfg(target_arch = "aarch64")] {
136 mod aarch64;
137 pub use self::aarch64::*;
138 } else {
139 }
141}