Skip to main content

tract_proxy_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    fn extract_bit(byte: u8, index: usize) -> bool {
20        let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
21        let mask = 1 << bit_index;
22        byte & mask == mask
23    }
24    #[inline]
25    pub fn get_bit(&self, index: usize) -> bool {
26        debug_assert!(index / 8 < self.storage.as_ref().len());
27        let byte_index = index / 8;
28        let byte = self.storage.as_ref()[byte_index];
29        Self::extract_bit(byte, index)
30    }
31    #[inline]
32    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
33        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
34        let byte_index = index / 8;
35        let byte = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize);
36        Self::extract_bit(byte, index)
37    }
38    #[inline]
39    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
40        let bit_index = if cfg!(target_endian = "big") { 7 - (index % 8) } else { index % 8 };
41        let mask = 1 << bit_index;
42        if val {
43            byte | mask
44        } else {
45            byte & !mask
46        }
47    }
48    #[inline]
49    pub fn set_bit(&mut self, index: usize, val: bool) {
50        debug_assert!(index / 8 < self.storage.as_ref().len());
51        let byte_index = index / 8;
52        let byte = &mut self.storage.as_mut()[byte_index];
53        *byte = Self::change_bit(*byte, index, val);
54    }
55    #[inline]
56    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
57        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
58        let byte_index = index / 8;
59        let byte =
60            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize);
61        *byte = Self::change_bit(*byte, index, val);
62    }
63    #[inline]
64    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
65        debug_assert!(bit_width <= 64);
66        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
67        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
68        let mut val = 0;
69        for i in 0..(bit_width as usize) {
70            if self.get_bit(i + bit_offset) {
71                let index =
72                    if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
73                val |= 1 << index;
74            }
75        }
76        val
77    }
78    #[inline]
79    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
80        debug_assert!(bit_width <= 64);
81        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
82        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
83        let mut val = 0;
84        for i in 0..(bit_width as usize) {
85            if Self::raw_get_bit(this, i + bit_offset) {
86                let index =
87                    if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
88                val |= 1 << index;
89            }
90        }
91        val
92    }
93    #[inline]
94    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
95        debug_assert!(bit_width <= 64);
96        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
97        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
98        for i in 0..(bit_width as usize) {
99            let mask = 1 << i;
100            let val_bit_is_set = val & mask == mask;
101            let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
102            self.set_bit(index + bit_offset, val_bit_is_set);
103        }
104    }
105    #[inline]
106    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
107        debug_assert!(bit_width <= 64);
108        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
109        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
110        for i in 0..(bit_width as usize) {
111            let mask = 1 << i;
112            let val_bit_is_set = val & mask == mask;
113            let index = if cfg!(target_endian = "big") { bit_width as usize - 1 - i } else { i };
114            Self::raw_set_bit(this, index + bit_offset, val_bit_is_set);
115        }
116    }
117}
118pub const __bool_true_false_are_defined: u32 = 1;
119pub const true_: u32 = 1;
120pub const false_: u32 = 0;
121pub const __WORDSIZE: u32 = 64;
122pub const __has_safe_buffers: u32 = 1;
123pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
124pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
125pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
126pub const __DARWIN_UNIX03: u32 = 1;
127pub const __DARWIN_64_BIT_INO_T: u32 = 1;
128pub const __DARWIN_VERS_1050: u32 = 1;
129pub const __DARWIN_NON_CANCELABLE: u32 = 0;
130pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
131pub const __DARWIN_C_ANSI: u32 = 4096;
132pub const __DARWIN_C_FULL: u32 = 900000;
133pub const __DARWIN_C_LEVEL: u32 = 900000;
134pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
135pub const __DARWIN_NO_LONG_LONG: u32 = 0;
136pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
137pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
138pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
139pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
140pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
141pub const __has_ptrcheck: u32 = 0;
142pub const USE_CLANG_TYPES: u32 = 0;
143pub const __PTHREAD_SIZE__: u32 = 8176;
144pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
145pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
146pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
147pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
148pub const __PTHREAD_COND_SIZE__: u32 = 40;
149pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
150pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
151pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
152pub const INT8_MAX: u32 = 127;
153pub const INT16_MAX: u32 = 32767;
154pub const INT32_MAX: u32 = 2147483647;
155pub const INT64_MAX: u64 = 9223372036854775807;
156pub const INT8_MIN: i32 = -128;
157pub const INT16_MIN: i32 = -32768;
158pub const INT32_MIN: i32 = -2147483648;
159pub const INT64_MIN: i64 = -9223372036854775808;
160pub const UINT8_MAX: u32 = 255;
161pub const UINT16_MAX: u32 = 65535;
162pub const UINT32_MAX: u32 = 4294967295;
163pub const UINT64_MAX: i32 = -1;
164pub const INT_LEAST8_MIN: i32 = -128;
165pub const INT_LEAST16_MIN: i32 = -32768;
166pub const INT_LEAST32_MIN: i32 = -2147483648;
167pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
168pub const INT_LEAST8_MAX: u32 = 127;
169pub const INT_LEAST16_MAX: u32 = 32767;
170pub const INT_LEAST32_MAX: u32 = 2147483647;
171pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
172pub const UINT_LEAST8_MAX: u32 = 255;
173pub const UINT_LEAST16_MAX: u32 = 65535;
174pub const UINT_LEAST32_MAX: u32 = 4294967295;
175pub const UINT_LEAST64_MAX: i32 = -1;
176pub const INT_FAST8_MIN: i32 = -128;
177pub const INT_FAST16_MIN: i32 = -32768;
178pub const INT_FAST32_MIN: i32 = -2147483648;
179pub const INT_FAST64_MIN: i64 = -9223372036854775808;
180pub const INT_FAST8_MAX: u32 = 127;
181pub const INT_FAST16_MAX: u32 = 32767;
182pub const INT_FAST32_MAX: u32 = 2147483647;
183pub const INT_FAST64_MAX: u64 = 9223372036854775807;
184pub const UINT_FAST8_MAX: u32 = 255;
185pub const UINT_FAST16_MAX: u32 = 65535;
186pub const UINT_FAST32_MAX: u32 = 4294967295;
187pub const UINT_FAST64_MAX: i32 = -1;
188pub const INTPTR_MAX: u64 = 9223372036854775807;
189pub const INTPTR_MIN: i64 = -9223372036854775808;
190pub const UINTPTR_MAX: i32 = -1;
191pub const SIZE_MAX: i32 = -1;
192pub const RSIZE_MAX: i32 = -1;
193pub const WINT_MIN: i32 = -2147483648;
194pub const WINT_MAX: u32 = 2147483647;
195pub const SIG_ATOMIC_MIN: i32 = -2147483648;
196pub const SIG_ATOMIC_MAX: u32 = 2147483647;
197pub const __API_TO_BE_DEPRECATED: u32 = 100000;
198pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
199pub const __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION: u32 = 100000;
200pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
201pub const __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION: u32 = 100000;
202pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
203pub const __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION: u32 = 100000;
204pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
205pub const __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION: u32 = 100000;
206pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
207pub const __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION: u32 = 100000;
208pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
209pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
210pub const __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION: u32 = 100000;
211pub const __API_TO_BE_DEPRECATED_KERNELKIT: u32 = 100000;
212pub const __MAC_10_0: u32 = 1000;
213pub const __MAC_10_1: u32 = 1010;
214pub const __MAC_10_2: u32 = 1020;
215pub const __MAC_10_3: u32 = 1030;
216pub const __MAC_10_4: u32 = 1040;
217pub const __MAC_10_5: u32 = 1050;
218pub const __MAC_10_6: u32 = 1060;
219pub const __MAC_10_7: u32 = 1070;
220pub const __MAC_10_8: u32 = 1080;
221pub const __MAC_10_9: u32 = 1090;
222pub const __MAC_10_10: u32 = 101000;
223pub const __MAC_10_10_2: u32 = 101002;
224pub const __MAC_10_10_3: u32 = 101003;
225pub const __MAC_10_11: u32 = 101100;
226pub const __MAC_10_11_2: u32 = 101102;
227pub const __MAC_10_11_3: u32 = 101103;
228pub const __MAC_10_11_4: u32 = 101104;
229pub const __MAC_10_12: u32 = 101200;
230pub const __MAC_10_12_1: u32 = 101201;
231pub const __MAC_10_12_2: u32 = 101202;
232pub const __MAC_10_12_4: u32 = 101204;
233pub const __MAC_10_13: u32 = 101300;
234pub const __MAC_10_13_1: u32 = 101301;
235pub const __MAC_10_13_2: u32 = 101302;
236pub const __MAC_10_13_4: u32 = 101304;
237pub const __MAC_10_14: u32 = 101400;
238pub const __MAC_10_14_1: u32 = 101401;
239pub const __MAC_10_14_4: u32 = 101404;
240pub const __MAC_10_14_5: u32 = 101405;
241pub const __MAC_10_14_6: u32 = 101406;
242pub const __MAC_10_15: u32 = 101500;
243pub const __MAC_10_15_1: u32 = 101501;
244pub const __MAC_10_15_4: u32 = 101504;
245pub const __MAC_10_16: u32 = 101600;
246pub const __MAC_11_0: u32 = 110000;
247pub const __MAC_11_1: u32 = 110100;
248pub const __MAC_11_3: u32 = 110300;
249pub const __MAC_11_4: u32 = 110400;
250pub const __MAC_11_5: u32 = 110500;
251pub const __MAC_11_6: u32 = 110600;
252pub const __MAC_12_0: u32 = 120000;
253pub const __MAC_12_1: u32 = 120100;
254pub const __MAC_12_2: u32 = 120200;
255pub const __MAC_12_3: u32 = 120300;
256pub const __MAC_12_4: u32 = 120400;
257pub const __MAC_12_5: u32 = 120500;
258pub const __MAC_12_6: u32 = 120600;
259pub const __MAC_12_7: u32 = 120700;
260pub const __MAC_13_0: u32 = 130000;
261pub const __MAC_13_1: u32 = 130100;
262pub const __MAC_13_2: u32 = 130200;
263pub const __MAC_13_3: u32 = 130300;
264pub const __MAC_13_4: u32 = 130400;
265pub const __MAC_13_5: u32 = 130500;
266pub const __MAC_13_6: u32 = 130600;
267pub const __MAC_13_7: u32 = 130700;
268pub const __MAC_14_0: u32 = 140000;
269pub const __MAC_14_1: u32 = 140100;
270pub const __MAC_14_2: u32 = 140200;
271pub const __MAC_14_3: u32 = 140300;
272pub const __MAC_14_4: u32 = 140400;
273pub const __MAC_14_5: u32 = 140500;
274pub const __MAC_14_6: u32 = 140600;
275pub const __MAC_14_7: u32 = 140700;
276pub const __MAC_15_0: u32 = 150000;
277pub const __MAC_15_1: u32 = 150100;
278pub const __MAC_15_2: u32 = 150200;
279pub const __MAC_15_3: u32 = 150300;
280pub const __MAC_15_4: u32 = 150400;
281pub const __IPHONE_2_0: u32 = 20000;
282pub const __IPHONE_2_1: u32 = 20100;
283pub const __IPHONE_2_2: u32 = 20200;
284pub const __IPHONE_3_0: u32 = 30000;
285pub const __IPHONE_3_1: u32 = 30100;
286pub const __IPHONE_3_2: u32 = 30200;
287pub const __IPHONE_4_0: u32 = 40000;
288pub const __IPHONE_4_1: u32 = 40100;
289pub const __IPHONE_4_2: u32 = 40200;
290pub const __IPHONE_4_3: u32 = 40300;
291pub const __IPHONE_5_0: u32 = 50000;
292pub const __IPHONE_5_1: u32 = 50100;
293pub const __IPHONE_6_0: u32 = 60000;
294pub const __IPHONE_6_1: u32 = 60100;
295pub const __IPHONE_7_0: u32 = 70000;
296pub const __IPHONE_7_1: u32 = 70100;
297pub const __IPHONE_8_0: u32 = 80000;
298pub const __IPHONE_8_1: u32 = 80100;
299pub const __IPHONE_8_2: u32 = 80200;
300pub const __IPHONE_8_3: u32 = 80300;
301pub const __IPHONE_8_4: u32 = 80400;
302pub const __IPHONE_9_0: u32 = 90000;
303pub const __IPHONE_9_1: u32 = 90100;
304pub const __IPHONE_9_2: u32 = 90200;
305pub const __IPHONE_9_3: u32 = 90300;
306pub const __IPHONE_10_0: u32 = 100000;
307pub const __IPHONE_10_1: u32 = 100100;
308pub const __IPHONE_10_2: u32 = 100200;
309pub const __IPHONE_10_3: u32 = 100300;
310pub const __IPHONE_11_0: u32 = 110000;
311pub const __IPHONE_11_1: u32 = 110100;
312pub const __IPHONE_11_2: u32 = 110200;
313pub const __IPHONE_11_3: u32 = 110300;
314pub const __IPHONE_11_4: u32 = 110400;
315pub const __IPHONE_12_0: u32 = 120000;
316pub const __IPHONE_12_1: u32 = 120100;
317pub const __IPHONE_12_2: u32 = 120200;
318pub const __IPHONE_12_3: u32 = 120300;
319pub const __IPHONE_12_4: u32 = 120400;
320pub const __IPHONE_13_0: u32 = 130000;
321pub const __IPHONE_13_1: u32 = 130100;
322pub const __IPHONE_13_2: u32 = 130200;
323pub const __IPHONE_13_3: u32 = 130300;
324pub const __IPHONE_13_4: u32 = 130400;
325pub const __IPHONE_13_5: u32 = 130500;
326pub const __IPHONE_13_6: u32 = 130600;
327pub const __IPHONE_13_7: u32 = 130700;
328pub const __IPHONE_14_0: u32 = 140000;
329pub const __IPHONE_14_1: u32 = 140100;
330pub const __IPHONE_14_2: u32 = 140200;
331pub const __IPHONE_14_3: u32 = 140300;
332pub const __IPHONE_14_5: u32 = 140500;
333pub const __IPHONE_14_4: u32 = 140400;
334pub const __IPHONE_14_6: u32 = 140600;
335pub const __IPHONE_14_7: u32 = 140700;
336pub const __IPHONE_14_8: u32 = 140800;
337pub const __IPHONE_15_0: u32 = 150000;
338pub const __IPHONE_15_1: u32 = 150100;
339pub const __IPHONE_15_2: u32 = 150200;
340pub const __IPHONE_15_3: u32 = 150300;
341pub const __IPHONE_15_4: u32 = 150400;
342pub const __IPHONE_15_5: u32 = 150500;
343pub const __IPHONE_15_6: u32 = 150600;
344pub const __IPHONE_15_7: u32 = 150700;
345pub const __IPHONE_15_8: u32 = 150800;
346pub const __IPHONE_16_0: u32 = 160000;
347pub const __IPHONE_16_1: u32 = 160100;
348pub const __IPHONE_16_2: u32 = 160200;
349pub const __IPHONE_16_3: u32 = 160300;
350pub const __IPHONE_16_4: u32 = 160400;
351pub const __IPHONE_16_5: u32 = 160500;
352pub const __IPHONE_16_6: u32 = 160600;
353pub const __IPHONE_16_7: u32 = 160700;
354pub const __IPHONE_17_0: u32 = 170000;
355pub const __IPHONE_17_1: u32 = 170100;
356pub const __IPHONE_17_2: u32 = 170200;
357pub const __IPHONE_17_3: u32 = 170300;
358pub const __IPHONE_17_4: u32 = 170400;
359pub const __IPHONE_17_5: u32 = 170500;
360pub const __IPHONE_17_6: u32 = 170600;
361pub const __IPHONE_17_7: u32 = 170700;
362pub const __IPHONE_18_0: u32 = 180000;
363pub const __IPHONE_18_1: u32 = 180100;
364pub const __IPHONE_18_2: u32 = 180200;
365pub const __IPHONE_18_3: u32 = 180300;
366pub const __IPHONE_18_4: u32 = 180400;
367pub const __WATCHOS_1_0: u32 = 10000;
368pub const __WATCHOS_2_0: u32 = 20000;
369pub const __WATCHOS_2_1: u32 = 20100;
370pub const __WATCHOS_2_2: u32 = 20200;
371pub const __WATCHOS_3_0: u32 = 30000;
372pub const __WATCHOS_3_1: u32 = 30100;
373pub const __WATCHOS_3_1_1: u32 = 30101;
374pub const __WATCHOS_3_2: u32 = 30200;
375pub const __WATCHOS_4_0: u32 = 40000;
376pub const __WATCHOS_4_1: u32 = 40100;
377pub const __WATCHOS_4_2: u32 = 40200;
378pub const __WATCHOS_4_3: u32 = 40300;
379pub const __WATCHOS_5_0: u32 = 50000;
380pub const __WATCHOS_5_1: u32 = 50100;
381pub const __WATCHOS_5_2: u32 = 50200;
382pub const __WATCHOS_5_3: u32 = 50300;
383pub const __WATCHOS_6_0: u32 = 60000;
384pub const __WATCHOS_6_1: u32 = 60100;
385pub const __WATCHOS_6_2: u32 = 60200;
386pub const __WATCHOS_7_0: u32 = 70000;
387pub const __WATCHOS_7_1: u32 = 70100;
388pub const __WATCHOS_7_2: u32 = 70200;
389pub const __WATCHOS_7_3: u32 = 70300;
390pub const __WATCHOS_7_4: u32 = 70400;
391pub const __WATCHOS_7_5: u32 = 70500;
392pub const __WATCHOS_7_6: u32 = 70600;
393pub const __WATCHOS_8_0: u32 = 80000;
394pub const __WATCHOS_8_1: u32 = 80100;
395pub const __WATCHOS_8_3: u32 = 80300;
396pub const __WATCHOS_8_4: u32 = 80400;
397pub const __WATCHOS_8_5: u32 = 80500;
398pub const __WATCHOS_8_6: u32 = 80600;
399pub const __WATCHOS_8_7: u32 = 80700;
400pub const __WATCHOS_8_8: u32 = 80800;
401pub const __WATCHOS_9_0: u32 = 90000;
402pub const __WATCHOS_9_1: u32 = 90100;
403pub const __WATCHOS_9_2: u32 = 90200;
404pub const __WATCHOS_9_3: u32 = 90300;
405pub const __WATCHOS_9_4: u32 = 90400;
406pub const __WATCHOS_9_5: u32 = 90500;
407pub const __WATCHOS_9_6: u32 = 90600;
408pub const __WATCHOS_10_0: u32 = 100000;
409pub const __WATCHOS_10_1: u32 = 100100;
410pub const __WATCHOS_10_2: u32 = 100200;
411pub const __WATCHOS_10_3: u32 = 100300;
412pub const __WATCHOS_10_4: u32 = 100400;
413pub const __WATCHOS_10_5: u32 = 100500;
414pub const __WATCHOS_10_6: u32 = 100600;
415pub const __WATCHOS_10_7: u32 = 100700;
416pub const __WATCHOS_11_0: u32 = 110000;
417pub const __WATCHOS_11_1: u32 = 110100;
418pub const __WATCHOS_11_2: u32 = 110200;
419pub const __WATCHOS_11_3: u32 = 110300;
420pub const __WATCHOS_11_4: u32 = 110400;
421pub const __TVOS_9_0: u32 = 90000;
422pub const __TVOS_9_1: u32 = 90100;
423pub const __TVOS_9_2: u32 = 90200;
424pub const __TVOS_10_0: u32 = 100000;
425pub const __TVOS_10_0_1: u32 = 100001;
426pub const __TVOS_10_1: u32 = 100100;
427pub const __TVOS_10_2: u32 = 100200;
428pub const __TVOS_11_0: u32 = 110000;
429pub const __TVOS_11_1: u32 = 110100;
430pub const __TVOS_11_2: u32 = 110200;
431pub const __TVOS_11_3: u32 = 110300;
432pub const __TVOS_11_4: u32 = 110400;
433pub const __TVOS_12_0: u32 = 120000;
434pub const __TVOS_12_1: u32 = 120100;
435pub const __TVOS_12_2: u32 = 120200;
436pub const __TVOS_12_3: u32 = 120300;
437pub const __TVOS_12_4: u32 = 120400;
438pub const __TVOS_13_0: u32 = 130000;
439pub const __TVOS_13_2: u32 = 130200;
440pub const __TVOS_13_3: u32 = 130300;
441pub const __TVOS_13_4: u32 = 130400;
442pub const __TVOS_14_0: u32 = 140000;
443pub const __TVOS_14_1: u32 = 140100;
444pub const __TVOS_14_2: u32 = 140200;
445pub const __TVOS_14_3: u32 = 140300;
446pub const __TVOS_14_5: u32 = 140500;
447pub const __TVOS_14_6: u32 = 140600;
448pub const __TVOS_14_7: u32 = 140700;
449pub const __TVOS_15_0: u32 = 150000;
450pub const __TVOS_15_1: u32 = 150100;
451pub const __TVOS_15_2: u32 = 150200;
452pub const __TVOS_15_3: u32 = 150300;
453pub const __TVOS_15_4: u32 = 150400;
454pub const __TVOS_15_5: u32 = 150500;
455pub const __TVOS_15_6: u32 = 150600;
456pub const __TVOS_16_0: u32 = 160000;
457pub const __TVOS_16_1: u32 = 160100;
458pub const __TVOS_16_2: u32 = 160200;
459pub const __TVOS_16_3: u32 = 160300;
460pub const __TVOS_16_4: u32 = 160400;
461pub const __TVOS_16_5: u32 = 160500;
462pub const __TVOS_16_6: u32 = 160600;
463pub const __TVOS_17_0: u32 = 170000;
464pub const __TVOS_17_1: u32 = 170100;
465pub const __TVOS_17_2: u32 = 170200;
466pub const __TVOS_17_3: u32 = 170300;
467pub const __TVOS_17_4: u32 = 170400;
468pub const __TVOS_17_5: u32 = 170500;
469pub const __TVOS_17_6: u32 = 170600;
470pub const __TVOS_18_0: u32 = 180000;
471pub const __TVOS_18_1: u32 = 180100;
472pub const __TVOS_18_2: u32 = 180200;
473pub const __TVOS_18_3: u32 = 180300;
474pub const __TVOS_18_4: u32 = 180400;
475pub const __BRIDGEOS_2_0: u32 = 20000;
476pub const __BRIDGEOS_3_0: u32 = 30000;
477pub const __BRIDGEOS_3_1: u32 = 30100;
478pub const __BRIDGEOS_3_4: u32 = 30400;
479pub const __BRIDGEOS_4_0: u32 = 40000;
480pub const __BRIDGEOS_4_1: u32 = 40100;
481pub const __BRIDGEOS_5_0: u32 = 50000;
482pub const __BRIDGEOS_5_1: u32 = 50100;
483pub const __BRIDGEOS_5_3: u32 = 50300;
484pub const __BRIDGEOS_6_0: u32 = 60000;
485pub const __BRIDGEOS_6_2: u32 = 60200;
486pub const __BRIDGEOS_6_4: u32 = 60400;
487pub const __BRIDGEOS_6_5: u32 = 60500;
488pub const __BRIDGEOS_6_6: u32 = 60600;
489pub const __BRIDGEOS_7_0: u32 = 70000;
490pub const __BRIDGEOS_7_1: u32 = 70100;
491pub const __BRIDGEOS_7_2: u32 = 70200;
492pub const __BRIDGEOS_7_3: u32 = 70300;
493pub const __BRIDGEOS_7_4: u32 = 70400;
494pub const __BRIDGEOS_7_6: u32 = 70600;
495pub const __BRIDGEOS_8_0: u32 = 80000;
496pub const __BRIDGEOS_8_1: u32 = 80100;
497pub const __BRIDGEOS_8_2: u32 = 80200;
498pub const __BRIDGEOS_8_3: u32 = 80300;
499pub const __BRIDGEOS_8_4: u32 = 80400;
500pub const __BRIDGEOS_8_5: u32 = 80500;
501pub const __BRIDGEOS_8_6: u32 = 80600;
502pub const __BRIDGEOS_9_0: u32 = 90000;
503pub const __BRIDGEOS_9_1: u32 = 90100;
504pub const __BRIDGEOS_9_2: u32 = 90200;
505pub const __BRIDGEOS_9_3: u32 = 90300;
506pub const __BRIDGEOS_9_4: u32 = 90400;
507pub const __DRIVERKIT_19_0: u32 = 190000;
508pub const __DRIVERKIT_20_0: u32 = 200000;
509pub const __DRIVERKIT_21_0: u32 = 210000;
510pub const __DRIVERKIT_22_0: u32 = 220000;
511pub const __DRIVERKIT_22_4: u32 = 220400;
512pub const __DRIVERKIT_22_5: u32 = 220500;
513pub const __DRIVERKIT_22_6: u32 = 220600;
514pub const __DRIVERKIT_23_0: u32 = 230000;
515pub const __DRIVERKIT_23_1: u32 = 230100;
516pub const __DRIVERKIT_23_2: u32 = 230200;
517pub const __DRIVERKIT_23_3: u32 = 230300;
518pub const __DRIVERKIT_23_4: u32 = 230400;
519pub const __DRIVERKIT_23_5: u32 = 230500;
520pub const __DRIVERKIT_23_6: u32 = 230600;
521pub const __DRIVERKIT_24_0: u32 = 240000;
522pub const __DRIVERKIT_24_1: u32 = 240100;
523pub const __DRIVERKIT_24_2: u32 = 240200;
524pub const __DRIVERKIT_24_3: u32 = 240300;
525pub const __DRIVERKIT_24_4: u32 = 240400;
526pub const __VISIONOS_1_0: u32 = 10000;
527pub const __VISIONOS_1_1: u32 = 10100;
528pub const __VISIONOS_1_2: u32 = 10200;
529pub const __VISIONOS_1_3: u32 = 10300;
530pub const __VISIONOS_2_0: u32 = 20000;
531pub const __VISIONOS_2_1: u32 = 20100;
532pub const __VISIONOS_2_2: u32 = 20200;
533pub const __VISIONOS_2_3: u32 = 20300;
534pub const __VISIONOS_2_4: u32 = 20400;
535pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
536pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
537pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
538pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
539pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
540pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
541pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
542pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
543pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
544pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
545pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
546pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
547pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
548pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
549pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
550pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
551pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
552pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
553pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
554pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
555pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
556pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
557pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
558pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
559pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
560pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
561pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
562pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
563pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
564pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
565pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
566pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
567pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
568pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
569pub const MAC_OS_VERSION_11_0: u32 = 110000;
570pub const MAC_OS_VERSION_11_1: u32 = 110100;
571pub const MAC_OS_VERSION_11_3: u32 = 110300;
572pub const MAC_OS_VERSION_11_4: u32 = 110400;
573pub const MAC_OS_VERSION_11_5: u32 = 110500;
574pub const MAC_OS_VERSION_11_6: u32 = 110600;
575pub const MAC_OS_VERSION_12_0: u32 = 120000;
576pub const MAC_OS_VERSION_12_1: u32 = 120100;
577pub const MAC_OS_VERSION_12_2: u32 = 120200;
578pub const MAC_OS_VERSION_12_3: u32 = 120300;
579pub const MAC_OS_VERSION_12_4: u32 = 120400;
580pub const MAC_OS_VERSION_12_5: u32 = 120500;
581pub const MAC_OS_VERSION_12_6: u32 = 120600;
582pub const MAC_OS_VERSION_12_7: u32 = 120700;
583pub const MAC_OS_VERSION_13_0: u32 = 130000;
584pub const MAC_OS_VERSION_13_1: u32 = 130100;
585pub const MAC_OS_VERSION_13_2: u32 = 130200;
586pub const MAC_OS_VERSION_13_3: u32 = 130300;
587pub const MAC_OS_VERSION_13_4: u32 = 130400;
588pub const MAC_OS_VERSION_13_5: u32 = 130500;
589pub const MAC_OS_VERSION_13_6: u32 = 130600;
590pub const MAC_OS_VERSION_13_7: u32 = 130700;
591pub const MAC_OS_VERSION_14_0: u32 = 140000;
592pub const MAC_OS_VERSION_14_1: u32 = 140100;
593pub const MAC_OS_VERSION_14_2: u32 = 140200;
594pub const MAC_OS_VERSION_14_3: u32 = 140300;
595pub const MAC_OS_VERSION_14_4: u32 = 140400;
596pub const MAC_OS_VERSION_14_5: u32 = 140500;
597pub const MAC_OS_VERSION_14_6: u32 = 140600;
598pub const MAC_OS_VERSION_14_7: u32 = 140700;
599pub const MAC_OS_VERSION_15_0: u32 = 150000;
600pub const MAC_OS_VERSION_15_1: u32 = 150100;
601pub const MAC_OS_VERSION_15_2: u32 = 150200;
602pub const MAC_OS_VERSION_15_3: u32 = 150300;
603pub const MAC_OS_VERSION_15_4: u32 = 150400;
604pub const __AVAILABILITY_VERSIONS_VERSION_HASH: u32 = 93585900;
605pub const __AVAILABILITY_VERSIONS_VERSION_STRING: &[u8; 6] = b"Local\0";
606pub const __AVAILABILITY_FILE: &[u8; 23] = b"AvailabilityVersions.h\0";
607pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 150400;
608pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
609pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
610pub const _FORTIFY_SOURCE: u32 = 2;
611pub const __DARWIN_NSIG: u32 = 32;
612pub const NSIG: u32 = 32;
613pub const _ARM_SIGNAL_: u32 = 1;
614pub const SIGHUP: u32 = 1;
615pub const SIGINT: u32 = 2;
616pub const SIGQUIT: u32 = 3;
617pub const SIGILL: u32 = 4;
618pub const SIGTRAP: u32 = 5;
619pub const SIGABRT: u32 = 6;
620pub const SIGIOT: u32 = 6;
621pub const SIGEMT: u32 = 7;
622pub const SIGFPE: u32 = 8;
623pub const SIGKILL: u32 = 9;
624pub const SIGBUS: u32 = 10;
625pub const SIGSEGV: u32 = 11;
626pub const SIGSYS: u32 = 12;
627pub const SIGPIPE: u32 = 13;
628pub const SIGALRM: u32 = 14;
629pub const SIGTERM: u32 = 15;
630pub const SIGURG: u32 = 16;
631pub const SIGSTOP: u32 = 17;
632pub const SIGTSTP: u32 = 18;
633pub const SIGCONT: u32 = 19;
634pub const SIGCHLD: u32 = 20;
635pub const SIGTTIN: u32 = 21;
636pub const SIGTTOU: u32 = 22;
637pub const SIGIO: u32 = 23;
638pub const SIGXCPU: u32 = 24;
639pub const SIGXFSZ: u32 = 25;
640pub const SIGVTALRM: u32 = 26;
641pub const SIGPROF: u32 = 27;
642pub const SIGWINCH: u32 = 28;
643pub const SIGINFO: u32 = 29;
644pub const SIGUSR1: u32 = 30;
645pub const SIGUSR2: u32 = 31;
646pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0;
647pub const USE_CLANG_STDDEF: u32 = 0;
648pub const SIGEV_NONE: u32 = 0;
649pub const SIGEV_SIGNAL: u32 = 1;
650pub const SIGEV_THREAD: u32 = 3;
651pub const ILL_NOOP: u32 = 0;
652pub const ILL_ILLOPC: u32 = 1;
653pub const ILL_ILLTRP: u32 = 2;
654pub const ILL_PRVOPC: u32 = 3;
655pub const ILL_ILLOPN: u32 = 4;
656pub const ILL_ILLADR: u32 = 5;
657pub const ILL_PRVREG: u32 = 6;
658pub const ILL_COPROC: u32 = 7;
659pub const ILL_BADSTK: u32 = 8;
660pub const FPE_NOOP: u32 = 0;
661pub const FPE_FLTDIV: u32 = 1;
662pub const FPE_FLTOVF: u32 = 2;
663pub const FPE_FLTUND: u32 = 3;
664pub const FPE_FLTRES: u32 = 4;
665pub const FPE_FLTINV: u32 = 5;
666pub const FPE_FLTSUB: u32 = 6;
667pub const FPE_INTDIV: u32 = 7;
668pub const FPE_INTOVF: u32 = 8;
669pub const SEGV_NOOP: u32 = 0;
670pub const SEGV_MAPERR: u32 = 1;
671pub const SEGV_ACCERR: u32 = 2;
672pub const BUS_NOOP: u32 = 0;
673pub const BUS_ADRALN: u32 = 1;
674pub const BUS_ADRERR: u32 = 2;
675pub const BUS_OBJERR: u32 = 3;
676pub const TRAP_BRKPT: u32 = 1;
677pub const TRAP_TRACE: u32 = 2;
678pub const CLD_NOOP: u32 = 0;
679pub const CLD_EXITED: u32 = 1;
680pub const CLD_KILLED: u32 = 2;
681pub const CLD_DUMPED: u32 = 3;
682pub const CLD_TRAPPED: u32 = 4;
683pub const CLD_STOPPED: u32 = 5;
684pub const CLD_CONTINUED: u32 = 6;
685pub const POLL_IN: u32 = 1;
686pub const POLL_OUT: u32 = 2;
687pub const POLL_MSG: u32 = 3;
688pub const POLL_ERR: u32 = 4;
689pub const POLL_PRI: u32 = 5;
690pub const POLL_HUP: u32 = 6;
691pub const SA_ONSTACK: u32 = 1;
692pub const SA_RESTART: u32 = 2;
693pub const SA_RESETHAND: u32 = 4;
694pub const SA_NOCLDSTOP: u32 = 8;
695pub const SA_NODEFER: u32 = 16;
696pub const SA_NOCLDWAIT: u32 = 32;
697pub const SA_SIGINFO: u32 = 64;
698pub const SA_USERTRAMP: u32 = 256;
699pub const SA_64REGSET: u32 = 512;
700pub const SA_USERSPACE_MASK: u32 = 127;
701pub const SIG_BLOCK: u32 = 1;
702pub const SIG_UNBLOCK: u32 = 2;
703pub const SIG_SETMASK: u32 = 3;
704pub const SI_USER: u32 = 65537;
705pub const SI_QUEUE: u32 = 65538;
706pub const SI_TIMER: u32 = 65539;
707pub const SI_ASYNCIO: u32 = 65540;
708pub const SI_MESGQ: u32 = 65541;
709pub const SS_ONSTACK: u32 = 1;
710pub const SS_DISABLE: u32 = 4;
711pub const MINSIGSTKSZ: u32 = 32768;
712pub const SIGSTKSZ: u32 = 131072;
713pub const SV_ONSTACK: u32 = 1;
714pub const SV_INTERRUPT: u32 = 2;
715pub const SV_RESETHAND: u32 = 4;
716pub const SV_NODEFER: u32 = 16;
717pub const SV_NOCLDSTOP: u32 = 8;
718pub const SV_SIGINFO: u32 = 64;
719pub const PRIO_PROCESS: u32 = 0;
720pub const PRIO_PGRP: u32 = 1;
721pub const PRIO_USER: u32 = 2;
722pub const PRIO_DARWIN_THREAD: u32 = 3;
723pub const PRIO_DARWIN_PROCESS: u32 = 4;
724pub const PRIO_MIN: i32 = -20;
725pub const PRIO_MAX: u32 = 20;
726pub const PRIO_DARWIN_BG: u32 = 4096;
727pub const PRIO_DARWIN_NONUI: u32 = 4097;
728pub const RUSAGE_SELF: u32 = 0;
729pub const RUSAGE_CHILDREN: i32 = -1;
730pub const RUSAGE_INFO_V0: u32 = 0;
731pub const RUSAGE_INFO_V1: u32 = 1;
732pub const RUSAGE_INFO_V2: u32 = 2;
733pub const RUSAGE_INFO_V3: u32 = 3;
734pub const RUSAGE_INFO_V4: u32 = 4;
735pub const RUSAGE_INFO_V5: u32 = 5;
736pub const RUSAGE_INFO_V6: u32 = 6;
737pub const RUSAGE_INFO_CURRENT: u32 = 6;
738pub const RU_PROC_RUNS_RESLIDE: u32 = 1;
739pub const RLIMIT_CPU: u32 = 0;
740pub const RLIMIT_FSIZE: u32 = 1;
741pub const RLIMIT_DATA: u32 = 2;
742pub const RLIMIT_STACK: u32 = 3;
743pub const RLIMIT_CORE: u32 = 4;
744pub const RLIMIT_AS: u32 = 5;
745pub const RLIMIT_RSS: u32 = 5;
746pub const RLIMIT_MEMLOCK: u32 = 6;
747pub const RLIMIT_NPROC: u32 = 7;
748pub const RLIMIT_NOFILE: u32 = 8;
749pub const RLIM_NLIMITS: u32 = 9;
750pub const _RLIMIT_POSIX_FLAG: u32 = 4096;
751pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1;
752pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2;
753pub const RLIMIT_THREAD_CPULIMITS: u32 = 3;
754pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4;
755pub const WAKEMON_ENABLE: u32 = 1;
756pub const WAKEMON_DISABLE: u32 = 2;
757pub const WAKEMON_GET_PARAMS: u32 = 4;
758pub const WAKEMON_SET_DEFAULTS: u32 = 8;
759pub const WAKEMON_MAKE_FATAL: u32 = 16;
760pub const CPUMON_MAKE_FATAL: u32 = 4096;
761pub const FOOTPRINT_INTERVAL_RESET: u32 = 1;
762pub const IOPOL_TYPE_DISK: u32 = 0;
763pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2;
764pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3;
765pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4;
766pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5;
767pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6;
768pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7;
769pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8;
770pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9;
771pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10;
772pub const IOPOL_SCOPE_PROCESS: u32 = 0;
773pub const IOPOL_SCOPE_THREAD: u32 = 1;
774pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2;
775pub const IOPOL_DEFAULT: u32 = 0;
776pub const IOPOL_IMPORTANT: u32 = 1;
777pub const IOPOL_PASSIVE: u32 = 2;
778pub const IOPOL_THROTTLE: u32 = 3;
779pub const IOPOL_UTILITY: u32 = 4;
780pub const IOPOL_STANDARD: u32 = 5;
781pub const IOPOL_APPLICATION: u32 = 5;
782pub const IOPOL_NORMAL: u32 = 1;
783pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0;
784pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1;
785pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0;
786pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1;
787pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2;
788pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0;
789pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1;
790pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0;
791pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1;
792pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0;
793pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1;
794pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0;
795pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1;
796pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0;
797pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1;
798pub const IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE: u32 = 2;
799pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0;
800pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1;
801pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0;
802pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1;
803pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT: u32 = 0;
804pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON: u32 = 1;
805pub const WNOHANG: u32 = 1;
806pub const WUNTRACED: u32 = 2;
807pub const WCOREFLAG: u32 = 128;
808pub const _WSTOPPED: u32 = 127;
809pub const WEXITED: u32 = 4;
810pub const WSTOPPED: u32 = 8;
811pub const WCONTINUED: u32 = 16;
812pub const WNOWAIT: u32 = 32;
813pub const WAIT_ANY: i32 = -1;
814pub const WAIT_MYPGRP: u32 = 0;
815pub const _QUAD_HIGHWORD: u32 = 1;
816pub const _QUAD_LOWWORD: u32 = 0;
817pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234;
818pub const __DARWIN_BIG_ENDIAN: u32 = 4321;
819pub const __DARWIN_PDP_ENDIAN: u32 = 3412;
820pub const LITTLE_ENDIAN: u32 = 1234;
821pub const BIG_ENDIAN: u32 = 4321;
822pub const PDP_ENDIAN: u32 = 3412;
823pub const __DARWIN_BYTE_ORDER: u32 = 1234;
824pub const BYTE_ORDER: u32 = 1234;
825pub const EXIT_FAILURE: u32 = 1;
826pub const EXIT_SUCCESS: u32 = 0;
827pub const RAND_MAX: u32 = 2147483647;
828pub type __gnuc_va_list = __builtin_va_list;
829pub type va_list = __builtin_va_list;
830pub type int_least8_t = i8;
831pub type int_least16_t = i16;
832pub type int_least32_t = i32;
833pub type int_least64_t = i64;
834pub type uint_least8_t = u8;
835pub type uint_least16_t = u16;
836pub type uint_least32_t = u32;
837pub type uint_least64_t = u64;
838pub type int_fast8_t = i8;
839pub type int_fast16_t = i16;
840pub type int_fast32_t = i32;
841pub type int_fast64_t = i64;
842pub type uint_fast8_t = u8;
843pub type uint_fast16_t = u16;
844pub type uint_fast32_t = u32;
845pub type uint_fast64_t = u64;
846pub type __int8_t = ::std::os::raw::c_schar;
847pub type __uint8_t = ::std::os::raw::c_uchar;
848pub type __int16_t = ::std::os::raw::c_short;
849pub type __uint16_t = ::std::os::raw::c_ushort;
850pub type __int32_t = ::std::os::raw::c_int;
851pub type __uint32_t = ::std::os::raw::c_uint;
852pub type __int64_t = ::std::os::raw::c_longlong;
853pub type __uint64_t = ::std::os::raw::c_ulonglong;
854pub type __darwin_intptr_t = ::std::os::raw::c_long;
855pub type __darwin_natural_t = ::std::os::raw::c_uint;
856pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
857#[repr(C)]
858#[derive(Copy, Clone)]
859pub union __mbstate_t {
860    pub __mbstate8: [::std::os::raw::c_char; 128usize],
861    pub _mbstateL: ::std::os::raw::c_longlong,
862}
863#[test]
864fn bindgen_test_layout___mbstate_t() {
865    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
866    let ptr = UNINIT.as_ptr();
867    assert_eq!(::std::mem::size_of::<__mbstate_t>(), 128usize, "Size of __mbstate_t");
868    assert_eq!(::std::mem::align_of::<__mbstate_t>(), 8usize, "Alignment of __mbstate_t");
869    assert_eq!(
870        unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
871        0usize,
872        "Offset of field: __mbstate_t::__mbstate8"
873    );
874    assert_eq!(
875        unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
876        0usize,
877        "Offset of field: __mbstate_t::_mbstateL"
878    );
879}
880pub type __darwin_mbstate_t = __mbstate_t;
881pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
882pub type __darwin_size_t = ::std::os::raw::c_ulong;
883pub type __darwin_va_list = __builtin_va_list;
884pub type __darwin_wchar_t = ::std::os::raw::c_int;
885pub type __darwin_rune_t = __darwin_wchar_t;
886pub type __darwin_wint_t = ::std::os::raw::c_int;
887pub type __darwin_clock_t = ::std::os::raw::c_ulong;
888pub type __darwin_socklen_t = __uint32_t;
889pub type __darwin_ssize_t = ::std::os::raw::c_long;
890pub type __darwin_time_t = ::std::os::raw::c_long;
891pub type __darwin_blkcnt_t = __int64_t;
892pub type __darwin_blksize_t = __int32_t;
893pub type __darwin_dev_t = __int32_t;
894pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
895pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
896pub type __darwin_gid_t = __uint32_t;
897pub type __darwin_id_t = __uint32_t;
898pub type __darwin_ino64_t = __uint64_t;
899pub type __darwin_ino_t = __darwin_ino64_t;
900pub type __darwin_mach_port_name_t = __darwin_natural_t;
901pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
902pub type __darwin_mode_t = __uint16_t;
903pub type __darwin_off_t = __int64_t;
904pub type __darwin_pid_t = __int32_t;
905pub type __darwin_sigset_t = __uint32_t;
906pub type __darwin_suseconds_t = __int32_t;
907pub type __darwin_uid_t = __uint32_t;
908pub type __darwin_useconds_t = __uint32_t;
909pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
910pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
911#[repr(C)]
912#[derive(Debug, Copy, Clone)]
913pub struct __darwin_pthread_handler_rec {
914    pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
915    pub __arg: *mut ::std::os::raw::c_void,
916    pub __next: *mut __darwin_pthread_handler_rec,
917}
918#[test]
919fn bindgen_test_layout___darwin_pthread_handler_rec() {
920    const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
921        ::std::mem::MaybeUninit::uninit();
922    let ptr = UNINIT.as_ptr();
923    assert_eq!(
924        ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
925        24usize,
926        "Size of __darwin_pthread_handler_rec"
927    );
928    assert_eq!(
929        ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
930        8usize,
931        "Alignment of __darwin_pthread_handler_rec"
932    );
933    assert_eq!(
934        unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
935        0usize,
936        "Offset of field: __darwin_pthread_handler_rec::__routine"
937    );
938    assert_eq!(
939        unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
940        8usize,
941        "Offset of field: __darwin_pthread_handler_rec::__arg"
942    );
943    assert_eq!(
944        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
945        16usize,
946        "Offset of field: __darwin_pthread_handler_rec::__next"
947    );
948}
949#[repr(C)]
950#[derive(Debug, Copy, Clone)]
951pub struct _opaque_pthread_attr_t {
952    pub __sig: ::std::os::raw::c_long,
953    pub __opaque: [::std::os::raw::c_char; 56usize],
954}
955#[test]
956fn bindgen_test_layout__opaque_pthread_attr_t() {
957    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
958        ::std::mem::MaybeUninit::uninit();
959    let ptr = UNINIT.as_ptr();
960    assert_eq!(
961        ::std::mem::size_of::<_opaque_pthread_attr_t>(),
962        64usize,
963        "Size of _opaque_pthread_attr_t"
964    );
965    assert_eq!(
966        ::std::mem::align_of::<_opaque_pthread_attr_t>(),
967        8usize,
968        "Alignment of _opaque_pthread_attr_t"
969    );
970    assert_eq!(
971        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
972        0usize,
973        "Offset of field: _opaque_pthread_attr_t::__sig"
974    );
975    assert_eq!(
976        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
977        8usize,
978        "Offset of field: _opaque_pthread_attr_t::__opaque"
979    );
980}
981#[repr(C)]
982#[derive(Debug, Copy, Clone)]
983pub struct _opaque_pthread_cond_t {
984    pub __sig: ::std::os::raw::c_long,
985    pub __opaque: [::std::os::raw::c_char; 40usize],
986}
987#[test]
988fn bindgen_test_layout__opaque_pthread_cond_t() {
989    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
990        ::std::mem::MaybeUninit::uninit();
991    let ptr = UNINIT.as_ptr();
992    assert_eq!(
993        ::std::mem::size_of::<_opaque_pthread_cond_t>(),
994        48usize,
995        "Size of _opaque_pthread_cond_t"
996    );
997    assert_eq!(
998        ::std::mem::align_of::<_opaque_pthread_cond_t>(),
999        8usize,
1000        "Alignment of _opaque_pthread_cond_t"
1001    );
1002    assert_eq!(
1003        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1004        0usize,
1005        "Offset of field: _opaque_pthread_cond_t::__sig"
1006    );
1007    assert_eq!(
1008        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1009        8usize,
1010        "Offset of field: _opaque_pthread_cond_t::__opaque"
1011    );
1012}
1013#[repr(C)]
1014#[derive(Debug, Copy, Clone)]
1015pub struct _opaque_pthread_condattr_t {
1016    pub __sig: ::std::os::raw::c_long,
1017    pub __opaque: [::std::os::raw::c_char; 8usize],
1018}
1019#[test]
1020fn bindgen_test_layout__opaque_pthread_condattr_t() {
1021    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
1022        ::std::mem::MaybeUninit::uninit();
1023    let ptr = UNINIT.as_ptr();
1024    assert_eq!(
1025        ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
1026        16usize,
1027        "Size of _opaque_pthread_condattr_t"
1028    );
1029    assert_eq!(
1030        ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
1031        8usize,
1032        "Alignment of _opaque_pthread_condattr_t"
1033    );
1034    assert_eq!(
1035        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1036        0usize,
1037        "Offset of field: _opaque_pthread_condattr_t::__sig"
1038    );
1039    assert_eq!(
1040        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1041        8usize,
1042        "Offset of field: _opaque_pthread_condattr_t::__opaque"
1043    );
1044}
1045#[repr(C)]
1046#[derive(Debug, Copy, Clone)]
1047pub struct _opaque_pthread_mutex_t {
1048    pub __sig: ::std::os::raw::c_long,
1049    pub __opaque: [::std::os::raw::c_char; 56usize],
1050}
1051#[test]
1052fn bindgen_test_layout__opaque_pthread_mutex_t() {
1053    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
1054        ::std::mem::MaybeUninit::uninit();
1055    let ptr = UNINIT.as_ptr();
1056    assert_eq!(
1057        ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
1058        64usize,
1059        "Size of _opaque_pthread_mutex_t"
1060    );
1061    assert_eq!(
1062        ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
1063        8usize,
1064        "Alignment of _opaque_pthread_mutex_t"
1065    );
1066    assert_eq!(
1067        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1068        0usize,
1069        "Offset of field: _opaque_pthread_mutex_t::__sig"
1070    );
1071    assert_eq!(
1072        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1073        8usize,
1074        "Offset of field: _opaque_pthread_mutex_t::__opaque"
1075    );
1076}
1077#[repr(C)]
1078#[derive(Debug, Copy, Clone)]
1079pub struct _opaque_pthread_mutexattr_t {
1080    pub __sig: ::std::os::raw::c_long,
1081    pub __opaque: [::std::os::raw::c_char; 8usize],
1082}
1083#[test]
1084fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
1085    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
1086        ::std::mem::MaybeUninit::uninit();
1087    let ptr = UNINIT.as_ptr();
1088    assert_eq!(
1089        ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
1090        16usize,
1091        "Size of _opaque_pthread_mutexattr_t"
1092    );
1093    assert_eq!(
1094        ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
1095        8usize,
1096        "Alignment of _opaque_pthread_mutexattr_t"
1097    );
1098    assert_eq!(
1099        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1100        0usize,
1101        "Offset of field: _opaque_pthread_mutexattr_t::__sig"
1102    );
1103    assert_eq!(
1104        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1105        8usize,
1106        "Offset of field: _opaque_pthread_mutexattr_t::__opaque"
1107    );
1108}
1109#[repr(C)]
1110#[derive(Debug, Copy, Clone)]
1111pub struct _opaque_pthread_once_t {
1112    pub __sig: ::std::os::raw::c_long,
1113    pub __opaque: [::std::os::raw::c_char; 8usize],
1114}
1115#[test]
1116fn bindgen_test_layout__opaque_pthread_once_t() {
1117    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
1118        ::std::mem::MaybeUninit::uninit();
1119    let ptr = UNINIT.as_ptr();
1120    assert_eq!(
1121        ::std::mem::size_of::<_opaque_pthread_once_t>(),
1122        16usize,
1123        "Size of _opaque_pthread_once_t"
1124    );
1125    assert_eq!(
1126        ::std::mem::align_of::<_opaque_pthread_once_t>(),
1127        8usize,
1128        "Alignment of _opaque_pthread_once_t"
1129    );
1130    assert_eq!(
1131        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1132        0usize,
1133        "Offset of field: _opaque_pthread_once_t::__sig"
1134    );
1135    assert_eq!(
1136        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1137        8usize,
1138        "Offset of field: _opaque_pthread_once_t::__opaque"
1139    );
1140}
1141#[repr(C)]
1142#[derive(Debug, Copy, Clone)]
1143pub struct _opaque_pthread_rwlock_t {
1144    pub __sig: ::std::os::raw::c_long,
1145    pub __opaque: [::std::os::raw::c_char; 192usize],
1146}
1147#[test]
1148fn bindgen_test_layout__opaque_pthread_rwlock_t() {
1149    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
1150        ::std::mem::MaybeUninit::uninit();
1151    let ptr = UNINIT.as_ptr();
1152    assert_eq!(
1153        ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
1154        200usize,
1155        "Size of _opaque_pthread_rwlock_t"
1156    );
1157    assert_eq!(
1158        ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
1159        8usize,
1160        "Alignment of _opaque_pthread_rwlock_t"
1161    );
1162    assert_eq!(
1163        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1164        0usize,
1165        "Offset of field: _opaque_pthread_rwlock_t::__sig"
1166    );
1167    assert_eq!(
1168        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1169        8usize,
1170        "Offset of field: _opaque_pthread_rwlock_t::__opaque"
1171    );
1172}
1173#[repr(C)]
1174#[derive(Debug, Copy, Clone)]
1175pub struct _opaque_pthread_rwlockattr_t {
1176    pub __sig: ::std::os::raw::c_long,
1177    pub __opaque: [::std::os::raw::c_char; 16usize],
1178}
1179#[test]
1180fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
1181    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
1182        ::std::mem::MaybeUninit::uninit();
1183    let ptr = UNINIT.as_ptr();
1184    assert_eq!(
1185        ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
1186        24usize,
1187        "Size of _opaque_pthread_rwlockattr_t"
1188    );
1189    assert_eq!(
1190        ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
1191        8usize,
1192        "Alignment of _opaque_pthread_rwlockattr_t"
1193    );
1194    assert_eq!(
1195        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1196        0usize,
1197        "Offset of field: _opaque_pthread_rwlockattr_t::__sig"
1198    );
1199    assert_eq!(
1200        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1201        8usize,
1202        "Offset of field: _opaque_pthread_rwlockattr_t::__opaque"
1203    );
1204}
1205#[repr(C)]
1206#[derive(Debug, Copy, Clone)]
1207pub struct _opaque_pthread_t {
1208    pub __sig: ::std::os::raw::c_long,
1209    pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
1210    pub __opaque: [::std::os::raw::c_char; 8176usize],
1211}
1212#[test]
1213fn bindgen_test_layout__opaque_pthread_t() {
1214    const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
1215    let ptr = UNINIT.as_ptr();
1216    assert_eq!(::std::mem::size_of::<_opaque_pthread_t>(), 8192usize, "Size of _opaque_pthread_t");
1217    assert_eq!(
1218        ::std::mem::align_of::<_opaque_pthread_t>(),
1219        8usize,
1220        "Alignment of _opaque_pthread_t"
1221    );
1222    assert_eq!(
1223        unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1224        0usize,
1225        "Offset of field: _opaque_pthread_t::__sig"
1226    );
1227    assert_eq!(
1228        unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
1229        8usize,
1230        "Offset of field: _opaque_pthread_t::__cleanup_stack"
1231    );
1232    assert_eq!(
1233        unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1234        16usize,
1235        "Offset of field: _opaque_pthread_t::__opaque"
1236    );
1237}
1238pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
1239pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
1240pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
1241pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
1242pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
1243pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
1244pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
1245pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
1246pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
1247pub type __darwin_pthread_t = *mut _opaque_pthread_t;
1248pub type intmax_t = ::std::os::raw::c_long;
1249pub type uintmax_t = ::std::os::raw::c_ulong;
1250pub type __darwin_nl_item = ::std::os::raw::c_int;
1251pub type __darwin_wctrans_t = ::std::os::raw::c_int;
1252pub type __darwin_wctype_t = __uint32_t;
1253pub const idtype_t_P_ALL: idtype_t = 0;
1254pub const idtype_t_P_PID: idtype_t = 1;
1255pub const idtype_t_P_PGID: idtype_t = 2;
1256pub type idtype_t = ::std::os::raw::c_uint;
1257pub type pid_t = __darwin_pid_t;
1258pub type id_t = __darwin_id_t;
1259pub type sig_atomic_t = ::std::os::raw::c_int;
1260pub type u_int8_t = ::std::os::raw::c_uchar;
1261pub type u_int16_t = ::std::os::raw::c_ushort;
1262pub type u_int32_t = ::std::os::raw::c_uint;
1263pub type u_int64_t = ::std::os::raw::c_ulonglong;
1264pub type register_t = i64;
1265pub type user_addr_t = u_int64_t;
1266pub type user_size_t = u_int64_t;
1267pub type user_ssize_t = i64;
1268pub type user_long_t = i64;
1269pub type user_ulong_t = u_int64_t;
1270pub type user_time_t = i64;
1271pub type user_off_t = i64;
1272pub type syscall_arg_t = u_int64_t;
1273#[repr(C)]
1274#[derive(Debug, Copy, Clone)]
1275pub struct __darwin_arm_exception_state {
1276    pub __exception: __uint32_t,
1277    pub __fsr: __uint32_t,
1278    pub __far: __uint32_t,
1279}
1280#[test]
1281fn bindgen_test_layout___darwin_arm_exception_state() {
1282    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state> =
1283        ::std::mem::MaybeUninit::uninit();
1284    let ptr = UNINIT.as_ptr();
1285    assert_eq!(
1286        ::std::mem::size_of::<__darwin_arm_exception_state>(),
1287        12usize,
1288        "Size of __darwin_arm_exception_state"
1289    );
1290    assert_eq!(
1291        ::std::mem::align_of::<__darwin_arm_exception_state>(),
1292        4usize,
1293        "Alignment of __darwin_arm_exception_state"
1294    );
1295    assert_eq!(
1296        unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize },
1297        0usize,
1298        "Offset of field: __darwin_arm_exception_state::__exception"
1299    );
1300    assert_eq!(
1301        unsafe { ::std::ptr::addr_of!((*ptr).__fsr) as usize - ptr as usize },
1302        4usize,
1303        "Offset of field: __darwin_arm_exception_state::__fsr"
1304    );
1305    assert_eq!(
1306        unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize },
1307        8usize,
1308        "Offset of field: __darwin_arm_exception_state::__far"
1309    );
1310}
1311#[repr(C)]
1312#[derive(Debug, Copy, Clone)]
1313pub struct __darwin_arm_exception_state64 {
1314    pub __far: __uint64_t,
1315    pub __esr: __uint32_t,
1316    pub __exception: __uint32_t,
1317}
1318#[test]
1319fn bindgen_test_layout___darwin_arm_exception_state64() {
1320    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64> =
1321        ::std::mem::MaybeUninit::uninit();
1322    let ptr = UNINIT.as_ptr();
1323    assert_eq!(
1324        ::std::mem::size_of::<__darwin_arm_exception_state64>(),
1325        16usize,
1326        "Size of __darwin_arm_exception_state64"
1327    );
1328    assert_eq!(
1329        ::std::mem::align_of::<__darwin_arm_exception_state64>(),
1330        8usize,
1331        "Alignment of __darwin_arm_exception_state64"
1332    );
1333    assert_eq!(
1334        unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize },
1335        0usize,
1336        "Offset of field: __darwin_arm_exception_state64::__far"
1337    );
1338    assert_eq!(
1339        unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize },
1340        8usize,
1341        "Offset of field: __darwin_arm_exception_state64::__esr"
1342    );
1343    assert_eq!(
1344        unsafe { ::std::ptr::addr_of!((*ptr).__exception) as usize - ptr as usize },
1345        12usize,
1346        "Offset of field: __darwin_arm_exception_state64::__exception"
1347    );
1348}
1349#[repr(C)]
1350#[derive(Debug, Copy, Clone)]
1351pub struct __darwin_arm_exception_state64_v2 {
1352    pub __far: __uint64_t,
1353    pub __esr: __uint64_t,
1354}
1355#[test]
1356fn bindgen_test_layout___darwin_arm_exception_state64_v2() {
1357    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_exception_state64_v2> =
1358        ::std::mem::MaybeUninit::uninit();
1359    let ptr = UNINIT.as_ptr();
1360    assert_eq!(
1361        ::std::mem::size_of::<__darwin_arm_exception_state64_v2>(),
1362        16usize,
1363        "Size of __darwin_arm_exception_state64_v2"
1364    );
1365    assert_eq!(
1366        ::std::mem::align_of::<__darwin_arm_exception_state64_v2>(),
1367        8usize,
1368        "Alignment of __darwin_arm_exception_state64_v2"
1369    );
1370    assert_eq!(
1371        unsafe { ::std::ptr::addr_of!((*ptr).__far) as usize - ptr as usize },
1372        0usize,
1373        "Offset of field: __darwin_arm_exception_state64_v2::__far"
1374    );
1375    assert_eq!(
1376        unsafe { ::std::ptr::addr_of!((*ptr).__esr) as usize - ptr as usize },
1377        8usize,
1378        "Offset of field: __darwin_arm_exception_state64_v2::__esr"
1379    );
1380}
1381#[repr(C)]
1382#[derive(Debug, Copy, Clone)]
1383pub struct __darwin_arm_thread_state {
1384    pub __r: [__uint32_t; 13usize],
1385    pub __sp: __uint32_t,
1386    pub __lr: __uint32_t,
1387    pub __pc: __uint32_t,
1388    pub __cpsr: __uint32_t,
1389}
1390#[test]
1391fn bindgen_test_layout___darwin_arm_thread_state() {
1392    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state> =
1393        ::std::mem::MaybeUninit::uninit();
1394    let ptr = UNINIT.as_ptr();
1395    assert_eq!(
1396        ::std::mem::size_of::<__darwin_arm_thread_state>(),
1397        68usize,
1398        "Size of __darwin_arm_thread_state"
1399    );
1400    assert_eq!(
1401        ::std::mem::align_of::<__darwin_arm_thread_state>(),
1402        4usize,
1403        "Alignment of __darwin_arm_thread_state"
1404    );
1405    assert_eq!(
1406        unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize },
1407        0usize,
1408        "Offset of field: __darwin_arm_thread_state::__r"
1409    );
1410    assert_eq!(
1411        unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize },
1412        52usize,
1413        "Offset of field: __darwin_arm_thread_state::__sp"
1414    );
1415    assert_eq!(
1416        unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize },
1417        56usize,
1418        "Offset of field: __darwin_arm_thread_state::__lr"
1419    );
1420    assert_eq!(
1421        unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize },
1422        60usize,
1423        "Offset of field: __darwin_arm_thread_state::__pc"
1424    );
1425    assert_eq!(
1426        unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize },
1427        64usize,
1428        "Offset of field: __darwin_arm_thread_state::__cpsr"
1429    );
1430}
1431#[repr(C)]
1432#[derive(Debug, Copy, Clone)]
1433pub struct __darwin_arm_thread_state64 {
1434    pub __x: [__uint64_t; 29usize],
1435    pub __fp: __uint64_t,
1436    pub __lr: __uint64_t,
1437    pub __sp: __uint64_t,
1438    pub __pc: __uint64_t,
1439    pub __cpsr: __uint32_t,
1440    pub __pad: __uint32_t,
1441}
1442#[test]
1443fn bindgen_test_layout___darwin_arm_thread_state64() {
1444    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_thread_state64> =
1445        ::std::mem::MaybeUninit::uninit();
1446    let ptr = UNINIT.as_ptr();
1447    assert_eq!(
1448        ::std::mem::size_of::<__darwin_arm_thread_state64>(),
1449        272usize,
1450        "Size of __darwin_arm_thread_state64"
1451    );
1452    assert_eq!(
1453        ::std::mem::align_of::<__darwin_arm_thread_state64>(),
1454        8usize,
1455        "Alignment of __darwin_arm_thread_state64"
1456    );
1457    assert_eq!(
1458        unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
1459        0usize,
1460        "Offset of field: __darwin_arm_thread_state64::__x"
1461    );
1462    assert_eq!(
1463        unsafe { ::std::ptr::addr_of!((*ptr).__fp) as usize - ptr as usize },
1464        232usize,
1465        "Offset of field: __darwin_arm_thread_state64::__fp"
1466    );
1467    assert_eq!(
1468        unsafe { ::std::ptr::addr_of!((*ptr).__lr) as usize - ptr as usize },
1469        240usize,
1470        "Offset of field: __darwin_arm_thread_state64::__lr"
1471    );
1472    assert_eq!(
1473        unsafe { ::std::ptr::addr_of!((*ptr).__sp) as usize - ptr as usize },
1474        248usize,
1475        "Offset of field: __darwin_arm_thread_state64::__sp"
1476    );
1477    assert_eq!(
1478        unsafe { ::std::ptr::addr_of!((*ptr).__pc) as usize - ptr as usize },
1479        256usize,
1480        "Offset of field: __darwin_arm_thread_state64::__pc"
1481    );
1482    assert_eq!(
1483        unsafe { ::std::ptr::addr_of!((*ptr).__cpsr) as usize - ptr as usize },
1484        264usize,
1485        "Offset of field: __darwin_arm_thread_state64::__cpsr"
1486    );
1487    assert_eq!(
1488        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
1489        268usize,
1490        "Offset of field: __darwin_arm_thread_state64::__pad"
1491    );
1492}
1493#[repr(C)]
1494#[derive(Debug, Copy, Clone)]
1495pub struct __darwin_arm_vfp_state {
1496    pub __r: [__uint32_t; 64usize],
1497    pub __fpscr: __uint32_t,
1498}
1499#[test]
1500fn bindgen_test_layout___darwin_arm_vfp_state() {
1501    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_vfp_state> =
1502        ::std::mem::MaybeUninit::uninit();
1503    let ptr = UNINIT.as_ptr();
1504    assert_eq!(
1505        ::std::mem::size_of::<__darwin_arm_vfp_state>(),
1506        260usize,
1507        "Size of __darwin_arm_vfp_state"
1508    );
1509    assert_eq!(
1510        ::std::mem::align_of::<__darwin_arm_vfp_state>(),
1511        4usize,
1512        "Alignment of __darwin_arm_vfp_state"
1513    );
1514    assert_eq!(
1515        unsafe { ::std::ptr::addr_of!((*ptr).__r) as usize - ptr as usize },
1516        0usize,
1517        "Offset of field: __darwin_arm_vfp_state::__r"
1518    );
1519    assert_eq!(
1520        unsafe { ::std::ptr::addr_of!((*ptr).__fpscr) as usize - ptr as usize },
1521        256usize,
1522        "Offset of field: __darwin_arm_vfp_state::__fpscr"
1523    );
1524}
1525#[repr(C)]
1526#[repr(align(16))]
1527#[derive(Debug, Copy, Clone)]
1528pub struct __darwin_arm_neon_state64 {
1529    pub __v: [__uint128_t; 32usize],
1530    pub __fpsr: __uint32_t,
1531    pub __fpcr: __uint32_t,
1532}
1533#[test]
1534fn bindgen_test_layout___darwin_arm_neon_state64() {
1535    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state64> =
1536        ::std::mem::MaybeUninit::uninit();
1537    let ptr = UNINIT.as_ptr();
1538    assert_eq!(
1539        ::std::mem::size_of::<__darwin_arm_neon_state64>(),
1540        528usize,
1541        "Size of __darwin_arm_neon_state64"
1542    );
1543    assert_eq!(
1544        ::std::mem::align_of::<__darwin_arm_neon_state64>(),
1545        16usize,
1546        "Alignment of __darwin_arm_neon_state64"
1547    );
1548    assert_eq!(
1549        unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize },
1550        0usize,
1551        "Offset of field: __darwin_arm_neon_state64::__v"
1552    );
1553    assert_eq!(
1554        unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize },
1555        512usize,
1556        "Offset of field: __darwin_arm_neon_state64::__fpsr"
1557    );
1558    assert_eq!(
1559        unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize },
1560        516usize,
1561        "Offset of field: __darwin_arm_neon_state64::__fpcr"
1562    );
1563}
1564#[repr(C)]
1565#[repr(align(16))]
1566#[derive(Debug, Copy, Clone)]
1567pub struct __darwin_arm_neon_state {
1568    pub __v: [__uint128_t; 16usize],
1569    pub __fpsr: __uint32_t,
1570    pub __fpcr: __uint32_t,
1571}
1572#[test]
1573fn bindgen_test_layout___darwin_arm_neon_state() {
1574    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_neon_state> =
1575        ::std::mem::MaybeUninit::uninit();
1576    let ptr = UNINIT.as_ptr();
1577    assert_eq!(
1578        ::std::mem::size_of::<__darwin_arm_neon_state>(),
1579        272usize,
1580        "Size of __darwin_arm_neon_state"
1581    );
1582    assert_eq!(
1583        ::std::mem::align_of::<__darwin_arm_neon_state>(),
1584        16usize,
1585        "Alignment of __darwin_arm_neon_state"
1586    );
1587    assert_eq!(
1588        unsafe { ::std::ptr::addr_of!((*ptr).__v) as usize - ptr as usize },
1589        0usize,
1590        "Offset of field: __darwin_arm_neon_state::__v"
1591    );
1592    assert_eq!(
1593        unsafe { ::std::ptr::addr_of!((*ptr).__fpsr) as usize - ptr as usize },
1594        256usize,
1595        "Offset of field: __darwin_arm_neon_state::__fpsr"
1596    );
1597    assert_eq!(
1598        unsafe { ::std::ptr::addr_of!((*ptr).__fpcr) as usize - ptr as usize },
1599        260usize,
1600        "Offset of field: __darwin_arm_neon_state::__fpcr"
1601    );
1602}
1603#[repr(C)]
1604#[derive(Debug, Copy, Clone)]
1605pub struct __arm_pagein_state {
1606    pub __pagein_error: ::std::os::raw::c_int,
1607}
1608#[test]
1609fn bindgen_test_layout___arm_pagein_state() {
1610    const UNINIT: ::std::mem::MaybeUninit<__arm_pagein_state> = ::std::mem::MaybeUninit::uninit();
1611    let ptr = UNINIT.as_ptr();
1612    assert_eq!(::std::mem::size_of::<__arm_pagein_state>(), 4usize, "Size of __arm_pagein_state");
1613    assert_eq!(
1614        ::std::mem::align_of::<__arm_pagein_state>(),
1615        4usize,
1616        "Alignment of __arm_pagein_state"
1617    );
1618    assert_eq!(
1619        unsafe { ::std::ptr::addr_of!((*ptr).__pagein_error) as usize - ptr as usize },
1620        0usize,
1621        "Offset of field: __arm_pagein_state::__pagein_error"
1622    );
1623}
1624#[repr(C)]
1625#[derive(Debug, Copy, Clone)]
1626pub struct __darwin_arm_sme_state {
1627    pub __svcr: __uint64_t,
1628    pub __tpidr2_el0: __uint64_t,
1629    pub __svl_b: __uint16_t,
1630}
1631#[test]
1632fn bindgen_test_layout___darwin_arm_sme_state() {
1633    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme_state> =
1634        ::std::mem::MaybeUninit::uninit();
1635    let ptr = UNINIT.as_ptr();
1636    assert_eq!(
1637        ::std::mem::size_of::<__darwin_arm_sme_state>(),
1638        24usize,
1639        "Size of __darwin_arm_sme_state"
1640    );
1641    assert_eq!(
1642        ::std::mem::align_of::<__darwin_arm_sme_state>(),
1643        8usize,
1644        "Alignment of __darwin_arm_sme_state"
1645    );
1646    assert_eq!(
1647        unsafe { ::std::ptr::addr_of!((*ptr).__svcr) as usize - ptr as usize },
1648        0usize,
1649        "Offset of field: __darwin_arm_sme_state::__svcr"
1650    );
1651    assert_eq!(
1652        unsafe { ::std::ptr::addr_of!((*ptr).__tpidr2_el0) as usize - ptr as usize },
1653        8usize,
1654        "Offset of field: __darwin_arm_sme_state::__tpidr2_el0"
1655    );
1656    assert_eq!(
1657        unsafe { ::std::ptr::addr_of!((*ptr).__svl_b) as usize - ptr as usize },
1658        16usize,
1659        "Offset of field: __darwin_arm_sme_state::__svl_b"
1660    );
1661}
1662#[repr(C)]
1663#[repr(align(4))]
1664#[derive(Debug, Copy, Clone)]
1665pub struct __darwin_arm_sve_z_state {
1666    pub __z: [[::std::os::raw::c_char; 256usize]; 16usize],
1667}
1668#[test]
1669fn bindgen_test_layout___darwin_arm_sve_z_state() {
1670    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sve_z_state> =
1671        ::std::mem::MaybeUninit::uninit();
1672    let ptr = UNINIT.as_ptr();
1673    assert_eq!(
1674        ::std::mem::size_of::<__darwin_arm_sve_z_state>(),
1675        4096usize,
1676        "Size of __darwin_arm_sve_z_state"
1677    );
1678    assert_eq!(
1679        ::std::mem::align_of::<__darwin_arm_sve_z_state>(),
1680        4usize,
1681        "Alignment of __darwin_arm_sve_z_state"
1682    );
1683    assert_eq!(
1684        unsafe { ::std::ptr::addr_of!((*ptr).__z) as usize - ptr as usize },
1685        0usize,
1686        "Offset of field: __darwin_arm_sve_z_state::__z"
1687    );
1688}
1689#[repr(C)]
1690#[repr(align(4))]
1691#[derive(Debug, Copy, Clone)]
1692pub struct __darwin_arm_sve_p_state {
1693    pub __p: [[::std::os::raw::c_char; 32usize]; 16usize],
1694}
1695#[test]
1696fn bindgen_test_layout___darwin_arm_sve_p_state() {
1697    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sve_p_state> =
1698        ::std::mem::MaybeUninit::uninit();
1699    let ptr = UNINIT.as_ptr();
1700    assert_eq!(
1701        ::std::mem::size_of::<__darwin_arm_sve_p_state>(),
1702        512usize,
1703        "Size of __darwin_arm_sve_p_state"
1704    );
1705    assert_eq!(
1706        ::std::mem::align_of::<__darwin_arm_sve_p_state>(),
1707        4usize,
1708        "Alignment of __darwin_arm_sve_p_state"
1709    );
1710    assert_eq!(
1711        unsafe { ::std::ptr::addr_of!((*ptr).__p) as usize - ptr as usize },
1712        0usize,
1713        "Offset of field: __darwin_arm_sve_p_state::__p"
1714    );
1715}
1716#[repr(C)]
1717#[repr(align(4))]
1718#[derive(Debug, Copy, Clone)]
1719pub struct __darwin_arm_sme_za_state {
1720    pub __za: [::std::os::raw::c_char; 4096usize],
1721}
1722#[test]
1723fn bindgen_test_layout___darwin_arm_sme_za_state() {
1724    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme_za_state> =
1725        ::std::mem::MaybeUninit::uninit();
1726    let ptr = UNINIT.as_ptr();
1727    assert_eq!(
1728        ::std::mem::size_of::<__darwin_arm_sme_za_state>(),
1729        4096usize,
1730        "Size of __darwin_arm_sme_za_state"
1731    );
1732    assert_eq!(
1733        ::std::mem::align_of::<__darwin_arm_sme_za_state>(),
1734        4usize,
1735        "Alignment of __darwin_arm_sme_za_state"
1736    );
1737    assert_eq!(
1738        unsafe { ::std::ptr::addr_of!((*ptr).__za) as usize - ptr as usize },
1739        0usize,
1740        "Offset of field: __darwin_arm_sme_za_state::__za"
1741    );
1742}
1743#[repr(C)]
1744#[repr(align(4))]
1745#[derive(Debug, Copy, Clone)]
1746pub struct __darwin_arm_sme2_state {
1747    pub __zt0: [::std::os::raw::c_char; 64usize],
1748}
1749#[test]
1750fn bindgen_test_layout___darwin_arm_sme2_state() {
1751    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_sme2_state> =
1752        ::std::mem::MaybeUninit::uninit();
1753    let ptr = UNINIT.as_ptr();
1754    assert_eq!(
1755        ::std::mem::size_of::<__darwin_arm_sme2_state>(),
1756        64usize,
1757        "Size of __darwin_arm_sme2_state"
1758    );
1759    assert_eq!(
1760        ::std::mem::align_of::<__darwin_arm_sme2_state>(),
1761        4usize,
1762        "Alignment of __darwin_arm_sme2_state"
1763    );
1764    assert_eq!(
1765        unsafe { ::std::ptr::addr_of!((*ptr).__zt0) as usize - ptr as usize },
1766        0usize,
1767        "Offset of field: __darwin_arm_sme2_state::__zt0"
1768    );
1769}
1770#[repr(C)]
1771#[derive(Debug, Copy, Clone)]
1772pub struct __arm_legacy_debug_state {
1773    pub __bvr: [__uint32_t; 16usize],
1774    pub __bcr: [__uint32_t; 16usize],
1775    pub __wvr: [__uint32_t; 16usize],
1776    pub __wcr: [__uint32_t; 16usize],
1777}
1778#[test]
1779fn bindgen_test_layout___arm_legacy_debug_state() {
1780    const UNINIT: ::std::mem::MaybeUninit<__arm_legacy_debug_state> =
1781        ::std::mem::MaybeUninit::uninit();
1782    let ptr = UNINIT.as_ptr();
1783    assert_eq!(
1784        ::std::mem::size_of::<__arm_legacy_debug_state>(),
1785        256usize,
1786        "Size of __arm_legacy_debug_state"
1787    );
1788    assert_eq!(
1789        ::std::mem::align_of::<__arm_legacy_debug_state>(),
1790        4usize,
1791        "Alignment of __arm_legacy_debug_state"
1792    );
1793    assert_eq!(
1794        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
1795        0usize,
1796        "Offset of field: __arm_legacy_debug_state::__bvr"
1797    );
1798    assert_eq!(
1799        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
1800        64usize,
1801        "Offset of field: __arm_legacy_debug_state::__bcr"
1802    );
1803    assert_eq!(
1804        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
1805        128usize,
1806        "Offset of field: __arm_legacy_debug_state::__wvr"
1807    );
1808    assert_eq!(
1809        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
1810        192usize,
1811        "Offset of field: __arm_legacy_debug_state::__wcr"
1812    );
1813}
1814#[repr(C)]
1815#[derive(Debug, Copy, Clone)]
1816pub struct __darwin_arm_debug_state32 {
1817    pub __bvr: [__uint32_t; 16usize],
1818    pub __bcr: [__uint32_t; 16usize],
1819    pub __wvr: [__uint32_t; 16usize],
1820    pub __wcr: [__uint32_t; 16usize],
1821    pub __mdscr_el1: __uint64_t,
1822}
1823#[test]
1824fn bindgen_test_layout___darwin_arm_debug_state32() {
1825    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state32> =
1826        ::std::mem::MaybeUninit::uninit();
1827    let ptr = UNINIT.as_ptr();
1828    assert_eq!(
1829        ::std::mem::size_of::<__darwin_arm_debug_state32>(),
1830        264usize,
1831        "Size of __darwin_arm_debug_state32"
1832    );
1833    assert_eq!(
1834        ::std::mem::align_of::<__darwin_arm_debug_state32>(),
1835        8usize,
1836        "Alignment of __darwin_arm_debug_state32"
1837    );
1838    assert_eq!(
1839        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
1840        0usize,
1841        "Offset of field: __darwin_arm_debug_state32::__bvr"
1842    );
1843    assert_eq!(
1844        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
1845        64usize,
1846        "Offset of field: __darwin_arm_debug_state32::__bcr"
1847    );
1848    assert_eq!(
1849        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
1850        128usize,
1851        "Offset of field: __darwin_arm_debug_state32::__wvr"
1852    );
1853    assert_eq!(
1854        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
1855        192usize,
1856        "Offset of field: __darwin_arm_debug_state32::__wcr"
1857    );
1858    assert_eq!(
1859        unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize },
1860        256usize,
1861        "Offset of field: __darwin_arm_debug_state32::__mdscr_el1"
1862    );
1863}
1864#[repr(C)]
1865#[derive(Debug, Copy, Clone)]
1866pub struct __darwin_arm_debug_state64 {
1867    pub __bvr: [__uint64_t; 16usize],
1868    pub __bcr: [__uint64_t; 16usize],
1869    pub __wvr: [__uint64_t; 16usize],
1870    pub __wcr: [__uint64_t; 16usize],
1871    pub __mdscr_el1: __uint64_t,
1872}
1873#[test]
1874fn bindgen_test_layout___darwin_arm_debug_state64() {
1875    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_debug_state64> =
1876        ::std::mem::MaybeUninit::uninit();
1877    let ptr = UNINIT.as_ptr();
1878    assert_eq!(
1879        ::std::mem::size_of::<__darwin_arm_debug_state64>(),
1880        520usize,
1881        "Size of __darwin_arm_debug_state64"
1882    );
1883    assert_eq!(
1884        ::std::mem::align_of::<__darwin_arm_debug_state64>(),
1885        8usize,
1886        "Alignment of __darwin_arm_debug_state64"
1887    );
1888    assert_eq!(
1889        unsafe { ::std::ptr::addr_of!((*ptr).__bvr) as usize - ptr as usize },
1890        0usize,
1891        "Offset of field: __darwin_arm_debug_state64::__bvr"
1892    );
1893    assert_eq!(
1894        unsafe { ::std::ptr::addr_of!((*ptr).__bcr) as usize - ptr as usize },
1895        128usize,
1896        "Offset of field: __darwin_arm_debug_state64::__bcr"
1897    );
1898    assert_eq!(
1899        unsafe { ::std::ptr::addr_of!((*ptr).__wvr) as usize - ptr as usize },
1900        256usize,
1901        "Offset of field: __darwin_arm_debug_state64::__wvr"
1902    );
1903    assert_eq!(
1904        unsafe { ::std::ptr::addr_of!((*ptr).__wcr) as usize - ptr as usize },
1905        384usize,
1906        "Offset of field: __darwin_arm_debug_state64::__wcr"
1907    );
1908    assert_eq!(
1909        unsafe { ::std::ptr::addr_of!((*ptr).__mdscr_el1) as usize - ptr as usize },
1910        512usize,
1911        "Offset of field: __darwin_arm_debug_state64::__mdscr_el1"
1912    );
1913}
1914#[repr(C)]
1915#[derive(Debug, Copy, Clone)]
1916pub struct __darwin_arm_cpmu_state64 {
1917    pub __ctrs: [__uint64_t; 16usize],
1918}
1919#[test]
1920fn bindgen_test_layout___darwin_arm_cpmu_state64() {
1921    const UNINIT: ::std::mem::MaybeUninit<__darwin_arm_cpmu_state64> =
1922        ::std::mem::MaybeUninit::uninit();
1923    let ptr = UNINIT.as_ptr();
1924    assert_eq!(
1925        ::std::mem::size_of::<__darwin_arm_cpmu_state64>(),
1926        128usize,
1927        "Size of __darwin_arm_cpmu_state64"
1928    );
1929    assert_eq!(
1930        ::std::mem::align_of::<__darwin_arm_cpmu_state64>(),
1931        8usize,
1932        "Alignment of __darwin_arm_cpmu_state64"
1933    );
1934    assert_eq!(
1935        unsafe { ::std::ptr::addr_of!((*ptr).__ctrs) as usize - ptr as usize },
1936        0usize,
1937        "Offset of field: __darwin_arm_cpmu_state64::__ctrs"
1938    );
1939}
1940#[repr(C)]
1941#[derive(Debug, Copy, Clone)]
1942pub struct __darwin_mcontext32 {
1943    pub __es: __darwin_arm_exception_state,
1944    pub __ss: __darwin_arm_thread_state,
1945    pub __fs: __darwin_arm_vfp_state,
1946}
1947#[test]
1948fn bindgen_test_layout___darwin_mcontext32() {
1949    const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext32> = ::std::mem::MaybeUninit::uninit();
1950    let ptr = UNINIT.as_ptr();
1951    assert_eq!(
1952        ::std::mem::size_of::<__darwin_mcontext32>(),
1953        340usize,
1954        "Size of __darwin_mcontext32"
1955    );
1956    assert_eq!(
1957        ::std::mem::align_of::<__darwin_mcontext32>(),
1958        4usize,
1959        "Alignment of __darwin_mcontext32"
1960    );
1961    assert_eq!(
1962        unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize },
1963        0usize,
1964        "Offset of field: __darwin_mcontext32::__es"
1965    );
1966    assert_eq!(
1967        unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize },
1968        12usize,
1969        "Offset of field: __darwin_mcontext32::__ss"
1970    );
1971    assert_eq!(
1972        unsafe { ::std::ptr::addr_of!((*ptr).__fs) as usize - ptr as usize },
1973        80usize,
1974        "Offset of field: __darwin_mcontext32::__fs"
1975    );
1976}
1977#[repr(C)]
1978#[repr(align(16))]
1979#[derive(Debug, Copy, Clone)]
1980pub struct __darwin_mcontext64 {
1981    pub __es: __darwin_arm_exception_state64,
1982    pub __ss: __darwin_arm_thread_state64,
1983    pub __ns: __darwin_arm_neon_state64,
1984}
1985#[test]
1986fn bindgen_test_layout___darwin_mcontext64() {
1987    const UNINIT: ::std::mem::MaybeUninit<__darwin_mcontext64> = ::std::mem::MaybeUninit::uninit();
1988    let ptr = UNINIT.as_ptr();
1989    assert_eq!(
1990        ::std::mem::size_of::<__darwin_mcontext64>(),
1991        816usize,
1992        "Size of __darwin_mcontext64"
1993    );
1994    assert_eq!(
1995        ::std::mem::align_of::<__darwin_mcontext64>(),
1996        16usize,
1997        "Alignment of __darwin_mcontext64"
1998    );
1999    assert_eq!(
2000        unsafe { ::std::ptr::addr_of!((*ptr).__es) as usize - ptr as usize },
2001        0usize,
2002        "Offset of field: __darwin_mcontext64::__es"
2003    );
2004    assert_eq!(
2005        unsafe { ::std::ptr::addr_of!((*ptr).__ss) as usize - ptr as usize },
2006        16usize,
2007        "Offset of field: __darwin_mcontext64::__ss"
2008    );
2009    assert_eq!(
2010        unsafe { ::std::ptr::addr_of!((*ptr).__ns) as usize - ptr as usize },
2011        288usize,
2012        "Offset of field: __darwin_mcontext64::__ns"
2013    );
2014}
2015pub type mcontext_t = *mut __darwin_mcontext64;
2016pub type pthread_attr_t = __darwin_pthread_attr_t;
2017#[repr(C)]
2018#[derive(Debug, Copy, Clone)]
2019pub struct __darwin_sigaltstack {
2020    pub ss_sp: *mut ::std::os::raw::c_void,
2021    pub ss_size: __darwin_size_t,
2022    pub ss_flags: ::std::os::raw::c_int,
2023}
2024#[test]
2025fn bindgen_test_layout___darwin_sigaltstack() {
2026    const UNINIT: ::std::mem::MaybeUninit<__darwin_sigaltstack> = ::std::mem::MaybeUninit::uninit();
2027    let ptr = UNINIT.as_ptr();
2028    assert_eq!(
2029        ::std::mem::size_of::<__darwin_sigaltstack>(),
2030        24usize,
2031        "Size of __darwin_sigaltstack"
2032    );
2033    assert_eq!(
2034        ::std::mem::align_of::<__darwin_sigaltstack>(),
2035        8usize,
2036        "Alignment of __darwin_sigaltstack"
2037    );
2038    assert_eq!(
2039        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
2040        0usize,
2041        "Offset of field: __darwin_sigaltstack::ss_sp"
2042    );
2043    assert_eq!(
2044        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
2045        8usize,
2046        "Offset of field: __darwin_sigaltstack::ss_size"
2047    );
2048    assert_eq!(
2049        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
2050        16usize,
2051        "Offset of field: __darwin_sigaltstack::ss_flags"
2052    );
2053}
2054pub type stack_t = __darwin_sigaltstack;
2055#[repr(C)]
2056#[derive(Debug, Copy, Clone)]
2057pub struct __darwin_ucontext {
2058    pub uc_onstack: ::std::os::raw::c_int,
2059    pub uc_sigmask: __darwin_sigset_t,
2060    pub uc_stack: __darwin_sigaltstack,
2061    pub uc_link: *mut __darwin_ucontext,
2062    pub uc_mcsize: __darwin_size_t,
2063    pub uc_mcontext: *mut __darwin_mcontext64,
2064}
2065#[test]
2066fn bindgen_test_layout___darwin_ucontext() {
2067    const UNINIT: ::std::mem::MaybeUninit<__darwin_ucontext> = ::std::mem::MaybeUninit::uninit();
2068    let ptr = UNINIT.as_ptr();
2069    assert_eq!(::std::mem::size_of::<__darwin_ucontext>(), 56usize, "Size of __darwin_ucontext");
2070    assert_eq!(
2071        ::std::mem::align_of::<__darwin_ucontext>(),
2072        8usize,
2073        "Alignment of __darwin_ucontext"
2074    );
2075    assert_eq!(
2076        unsafe { ::std::ptr::addr_of!((*ptr).uc_onstack) as usize - ptr as usize },
2077        0usize,
2078        "Offset of field: __darwin_ucontext::uc_onstack"
2079    );
2080    assert_eq!(
2081        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
2082        4usize,
2083        "Offset of field: __darwin_ucontext::uc_sigmask"
2084    );
2085    assert_eq!(
2086        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
2087        8usize,
2088        "Offset of field: __darwin_ucontext::uc_stack"
2089    );
2090    assert_eq!(
2091        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
2092        32usize,
2093        "Offset of field: __darwin_ucontext::uc_link"
2094    );
2095    assert_eq!(
2096        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcsize) as usize - ptr as usize },
2097        40usize,
2098        "Offset of field: __darwin_ucontext::uc_mcsize"
2099    );
2100    assert_eq!(
2101        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
2102        48usize,
2103        "Offset of field: __darwin_ucontext::uc_mcontext"
2104    );
2105}
2106pub type ucontext_t = __darwin_ucontext;
2107pub type sigset_t = __darwin_sigset_t;
2108pub type uid_t = __darwin_uid_t;
2109#[repr(C)]
2110#[derive(Copy, Clone)]
2111pub union sigval {
2112    pub sival_int: ::std::os::raw::c_int,
2113    pub sival_ptr: *mut ::std::os::raw::c_void,
2114}
2115#[test]
2116fn bindgen_test_layout_sigval() {
2117    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
2118    let ptr = UNINIT.as_ptr();
2119    assert_eq!(::std::mem::size_of::<sigval>(), 8usize, "Size of sigval");
2120    assert_eq!(::std::mem::align_of::<sigval>(), 8usize, "Alignment of sigval");
2121    assert_eq!(
2122        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
2123        0usize,
2124        "Offset of field: sigval::sival_int"
2125    );
2126    assert_eq!(
2127        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
2128        0usize,
2129        "Offset of field: sigval::sival_ptr"
2130    );
2131}
2132#[repr(C)]
2133#[derive(Copy, Clone)]
2134pub struct sigevent {
2135    pub sigev_notify: ::std::os::raw::c_int,
2136    pub sigev_signo: ::std::os::raw::c_int,
2137    pub sigev_value: sigval,
2138    pub sigev_notify_function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval)>,
2139    pub sigev_notify_attributes: *mut pthread_attr_t,
2140}
2141#[test]
2142fn bindgen_test_layout_sigevent() {
2143    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
2144    let ptr = UNINIT.as_ptr();
2145    assert_eq!(::std::mem::size_of::<sigevent>(), 32usize, "Size of sigevent");
2146    assert_eq!(::std::mem::align_of::<sigevent>(), 8usize, "Alignment of sigevent");
2147    assert_eq!(
2148        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
2149        0usize,
2150        "Offset of field: sigevent::sigev_notify"
2151    );
2152    assert_eq!(
2153        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
2154        4usize,
2155        "Offset of field: sigevent::sigev_signo"
2156    );
2157    assert_eq!(
2158        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
2159        8usize,
2160        "Offset of field: sigevent::sigev_value"
2161    );
2162    assert_eq!(
2163        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_function) as usize - ptr as usize },
2164        16usize,
2165        "Offset of field: sigevent::sigev_notify_function"
2166    );
2167    assert_eq!(
2168        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify_attributes) as usize - ptr as usize },
2169        24usize,
2170        "Offset of field: sigevent::sigev_notify_attributes"
2171    );
2172}
2173#[repr(C)]
2174#[derive(Copy, Clone)]
2175pub struct __siginfo {
2176    pub si_signo: ::std::os::raw::c_int,
2177    pub si_errno: ::std::os::raw::c_int,
2178    pub si_code: ::std::os::raw::c_int,
2179    pub si_pid: pid_t,
2180    pub si_uid: uid_t,
2181    pub si_status: ::std::os::raw::c_int,
2182    pub si_addr: *mut ::std::os::raw::c_void,
2183    pub si_value: sigval,
2184    pub si_band: ::std::os::raw::c_long,
2185    pub __pad: [::std::os::raw::c_ulong; 7usize],
2186}
2187#[test]
2188fn bindgen_test_layout___siginfo() {
2189    const UNINIT: ::std::mem::MaybeUninit<__siginfo> = ::std::mem::MaybeUninit::uninit();
2190    let ptr = UNINIT.as_ptr();
2191    assert_eq!(::std::mem::size_of::<__siginfo>(), 104usize, "Size of __siginfo");
2192    assert_eq!(::std::mem::align_of::<__siginfo>(), 8usize, "Alignment of __siginfo");
2193    assert_eq!(
2194        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
2195        0usize,
2196        "Offset of field: __siginfo::si_signo"
2197    );
2198    assert_eq!(
2199        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
2200        4usize,
2201        "Offset of field: __siginfo::si_errno"
2202    );
2203    assert_eq!(
2204        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
2205        8usize,
2206        "Offset of field: __siginfo::si_code"
2207    );
2208    assert_eq!(
2209        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
2210        12usize,
2211        "Offset of field: __siginfo::si_pid"
2212    );
2213    assert_eq!(
2214        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
2215        16usize,
2216        "Offset of field: __siginfo::si_uid"
2217    );
2218    assert_eq!(
2219        unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize },
2220        20usize,
2221        "Offset of field: __siginfo::si_status"
2222    );
2223    assert_eq!(
2224        unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize },
2225        24usize,
2226        "Offset of field: __siginfo::si_addr"
2227    );
2228    assert_eq!(
2229        unsafe { ::std::ptr::addr_of!((*ptr).si_value) as usize - ptr as usize },
2230        32usize,
2231        "Offset of field: __siginfo::si_value"
2232    );
2233    assert_eq!(
2234        unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize },
2235        40usize,
2236        "Offset of field: __siginfo::si_band"
2237    );
2238    assert_eq!(
2239        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
2240        48usize,
2241        "Offset of field: __siginfo::__pad"
2242    );
2243}
2244pub type siginfo_t = __siginfo;
2245#[repr(C)]
2246#[derive(Copy, Clone)]
2247pub union __sigaction_u {
2248    pub __sa_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2249    pub __sa_sigaction: ::std::option::Option<
2250        unsafe extern "C" fn(
2251            arg1: ::std::os::raw::c_int,
2252            arg2: *mut __siginfo,
2253            arg3: *mut ::std::os::raw::c_void,
2254        ),
2255    >,
2256}
2257#[test]
2258fn bindgen_test_layout___sigaction_u() {
2259    const UNINIT: ::std::mem::MaybeUninit<__sigaction_u> = ::std::mem::MaybeUninit::uninit();
2260    let ptr = UNINIT.as_ptr();
2261    assert_eq!(::std::mem::size_of::<__sigaction_u>(), 8usize, "Size of __sigaction_u");
2262    assert_eq!(::std::mem::align_of::<__sigaction_u>(), 8usize, "Alignment of __sigaction_u");
2263    assert_eq!(
2264        unsafe { ::std::ptr::addr_of!((*ptr).__sa_handler) as usize - ptr as usize },
2265        0usize,
2266        "Offset of field: __sigaction_u::__sa_handler"
2267    );
2268    assert_eq!(
2269        unsafe { ::std::ptr::addr_of!((*ptr).__sa_sigaction) as usize - ptr as usize },
2270        0usize,
2271        "Offset of field: __sigaction_u::__sa_sigaction"
2272    );
2273}
2274#[repr(C)]
2275#[derive(Copy, Clone)]
2276pub struct __sigaction {
2277    pub __sigaction_u: __sigaction_u,
2278    pub sa_tramp: ::std::option::Option<
2279        unsafe extern "C" fn(
2280            arg1: *mut ::std::os::raw::c_void,
2281            arg2: ::std::os::raw::c_int,
2282            arg3: ::std::os::raw::c_int,
2283            arg4: *mut siginfo_t,
2284            arg5: *mut ::std::os::raw::c_void,
2285        ),
2286    >,
2287    pub sa_mask: sigset_t,
2288    pub sa_flags: ::std::os::raw::c_int,
2289}
2290#[test]
2291fn bindgen_test_layout___sigaction() {
2292    const UNINIT: ::std::mem::MaybeUninit<__sigaction> = ::std::mem::MaybeUninit::uninit();
2293    let ptr = UNINIT.as_ptr();
2294    assert_eq!(::std::mem::size_of::<__sigaction>(), 24usize, "Size of __sigaction");
2295    assert_eq!(::std::mem::align_of::<__sigaction>(), 8usize, "Alignment of __sigaction");
2296    assert_eq!(
2297        unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize },
2298        0usize,
2299        "Offset of field: __sigaction::__sigaction_u"
2300    );
2301    assert_eq!(
2302        unsafe { ::std::ptr::addr_of!((*ptr).sa_tramp) as usize - ptr as usize },
2303        8usize,
2304        "Offset of field: __sigaction::sa_tramp"
2305    );
2306    assert_eq!(
2307        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
2308        16usize,
2309        "Offset of field: __sigaction::sa_mask"
2310    );
2311    assert_eq!(
2312        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
2313        20usize,
2314        "Offset of field: __sigaction::sa_flags"
2315    );
2316}
2317#[repr(C)]
2318#[derive(Copy, Clone)]
2319pub struct sigaction {
2320    pub __sigaction_u: __sigaction_u,
2321    pub sa_mask: sigset_t,
2322    pub sa_flags: ::std::os::raw::c_int,
2323}
2324#[test]
2325fn bindgen_test_layout_sigaction() {
2326    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
2327    let ptr = UNINIT.as_ptr();
2328    assert_eq!(::std::mem::size_of::<sigaction>(), 16usize, "Size of sigaction");
2329    assert_eq!(::std::mem::align_of::<sigaction>(), 8usize, "Alignment of sigaction");
2330    assert_eq!(
2331        unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_u) as usize - ptr as usize },
2332        0usize,
2333        "Offset of field: sigaction::__sigaction_u"
2334    );
2335    assert_eq!(
2336        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
2337        8usize,
2338        "Offset of field: sigaction::sa_mask"
2339    );
2340    assert_eq!(
2341        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
2342        12usize,
2343        "Offset of field: sigaction::sa_flags"
2344    );
2345}
2346pub type sig_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
2347#[repr(C)]
2348#[derive(Debug, Copy, Clone)]
2349pub struct sigvec {
2350    pub sv_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2351    pub sv_mask: ::std::os::raw::c_int,
2352    pub sv_flags: ::std::os::raw::c_int,
2353}
2354#[test]
2355fn bindgen_test_layout_sigvec() {
2356    const UNINIT: ::std::mem::MaybeUninit<sigvec> = ::std::mem::MaybeUninit::uninit();
2357    let ptr = UNINIT.as_ptr();
2358    assert_eq!(::std::mem::size_of::<sigvec>(), 16usize, "Size of sigvec");
2359    assert_eq!(::std::mem::align_of::<sigvec>(), 8usize, "Alignment of sigvec");
2360    assert_eq!(
2361        unsafe { ::std::ptr::addr_of!((*ptr).sv_handler) as usize - ptr as usize },
2362        0usize,
2363        "Offset of field: sigvec::sv_handler"
2364    );
2365    assert_eq!(
2366        unsafe { ::std::ptr::addr_of!((*ptr).sv_mask) as usize - ptr as usize },
2367        8usize,
2368        "Offset of field: sigvec::sv_mask"
2369    );
2370    assert_eq!(
2371        unsafe { ::std::ptr::addr_of!((*ptr).sv_flags) as usize - ptr as usize },
2372        12usize,
2373        "Offset of field: sigvec::sv_flags"
2374    );
2375}
2376#[repr(C)]
2377#[derive(Debug, Copy, Clone)]
2378pub struct sigstack {
2379    pub ss_sp: *mut ::std::os::raw::c_char,
2380    pub ss_onstack: ::std::os::raw::c_int,
2381}
2382#[test]
2383fn bindgen_test_layout_sigstack() {
2384    const UNINIT: ::std::mem::MaybeUninit<sigstack> = ::std::mem::MaybeUninit::uninit();
2385    let ptr = UNINIT.as_ptr();
2386    assert_eq!(::std::mem::size_of::<sigstack>(), 16usize, "Size of sigstack");
2387    assert_eq!(::std::mem::align_of::<sigstack>(), 8usize, "Alignment of sigstack");
2388    assert_eq!(
2389        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
2390        0usize,
2391        "Offset of field: sigstack::ss_sp"
2392    );
2393    assert_eq!(
2394        unsafe { ::std::ptr::addr_of!((*ptr).ss_onstack) as usize - ptr as usize },
2395        8usize,
2396        "Offset of field: sigstack::ss_onstack"
2397    );
2398}
2399extern "C" {
2400    pub fn signal(
2401        arg1: ::std::os::raw::c_int,
2402        arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2403    ) -> ::std::option::Option<
2404        unsafe extern "C" fn(
2405            arg1: ::std::os::raw::c_int,
2406            arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2407        ),
2408    >;
2409}
2410#[repr(C)]
2411#[derive(Debug, Copy, Clone)]
2412pub struct timeval {
2413    pub tv_sec: __darwin_time_t,
2414    pub tv_usec: __darwin_suseconds_t,
2415}
2416#[test]
2417fn bindgen_test_layout_timeval() {
2418    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
2419    let ptr = UNINIT.as_ptr();
2420    assert_eq!(::std::mem::size_of::<timeval>(), 16usize, "Size of timeval");
2421    assert_eq!(::std::mem::align_of::<timeval>(), 8usize, "Alignment of timeval");
2422    assert_eq!(
2423        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2424        0usize,
2425        "Offset of field: timeval::tv_sec"
2426    );
2427    assert_eq!(
2428        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
2429        8usize,
2430        "Offset of field: timeval::tv_usec"
2431    );
2432}
2433pub type rlim_t = __uint64_t;
2434#[repr(C)]
2435#[derive(Debug, Copy, Clone)]
2436pub struct rusage {
2437    pub ru_utime: timeval,
2438    pub ru_stime: timeval,
2439    pub ru_maxrss: ::std::os::raw::c_long,
2440    pub ru_ixrss: ::std::os::raw::c_long,
2441    pub ru_idrss: ::std::os::raw::c_long,
2442    pub ru_isrss: ::std::os::raw::c_long,
2443    pub ru_minflt: ::std::os::raw::c_long,
2444    pub ru_majflt: ::std::os::raw::c_long,
2445    pub ru_nswap: ::std::os::raw::c_long,
2446    pub ru_inblock: ::std::os::raw::c_long,
2447    pub ru_oublock: ::std::os::raw::c_long,
2448    pub ru_msgsnd: ::std::os::raw::c_long,
2449    pub ru_msgrcv: ::std::os::raw::c_long,
2450    pub ru_nsignals: ::std::os::raw::c_long,
2451    pub ru_nvcsw: ::std::os::raw::c_long,
2452    pub ru_nivcsw: ::std::os::raw::c_long,
2453}
2454#[test]
2455fn bindgen_test_layout_rusage() {
2456    const UNINIT: ::std::mem::MaybeUninit<rusage> = ::std::mem::MaybeUninit::uninit();
2457    let ptr = UNINIT.as_ptr();
2458    assert_eq!(::std::mem::size_of::<rusage>(), 144usize, "Size of rusage");
2459    assert_eq!(::std::mem::align_of::<rusage>(), 8usize, "Alignment of rusage");
2460    assert_eq!(
2461        unsafe { ::std::ptr::addr_of!((*ptr).ru_utime) as usize - ptr as usize },
2462        0usize,
2463        "Offset of field: rusage::ru_utime"
2464    );
2465    assert_eq!(
2466        unsafe { ::std::ptr::addr_of!((*ptr).ru_stime) as usize - ptr as usize },
2467        16usize,
2468        "Offset of field: rusage::ru_stime"
2469    );
2470    assert_eq!(
2471        unsafe { ::std::ptr::addr_of!((*ptr).ru_maxrss) as usize - ptr as usize },
2472        32usize,
2473        "Offset of field: rusage::ru_maxrss"
2474    );
2475    assert_eq!(
2476        unsafe { ::std::ptr::addr_of!((*ptr).ru_ixrss) as usize - ptr as usize },
2477        40usize,
2478        "Offset of field: rusage::ru_ixrss"
2479    );
2480    assert_eq!(
2481        unsafe { ::std::ptr::addr_of!((*ptr).ru_idrss) as usize - ptr as usize },
2482        48usize,
2483        "Offset of field: rusage::ru_idrss"
2484    );
2485    assert_eq!(
2486        unsafe { ::std::ptr::addr_of!((*ptr).ru_isrss) as usize - ptr as usize },
2487        56usize,
2488        "Offset of field: rusage::ru_isrss"
2489    );
2490    assert_eq!(
2491        unsafe { ::std::ptr::addr_of!((*ptr).ru_minflt) as usize - ptr as usize },
2492        64usize,
2493        "Offset of field: rusage::ru_minflt"
2494    );
2495    assert_eq!(
2496        unsafe { ::std::ptr::addr_of!((*ptr).ru_majflt) as usize - ptr as usize },
2497        72usize,
2498        "Offset of field: rusage::ru_majflt"
2499    );
2500    assert_eq!(
2501        unsafe { ::std::ptr::addr_of!((*ptr).ru_nswap) as usize - ptr as usize },
2502        80usize,
2503        "Offset of field: rusage::ru_nswap"
2504    );
2505    assert_eq!(
2506        unsafe { ::std::ptr::addr_of!((*ptr).ru_inblock) as usize - ptr as usize },
2507        88usize,
2508        "Offset of field: rusage::ru_inblock"
2509    );
2510    assert_eq!(
2511        unsafe { ::std::ptr::addr_of!((*ptr).ru_oublock) as usize - ptr as usize },
2512        96usize,
2513        "Offset of field: rusage::ru_oublock"
2514    );
2515    assert_eq!(
2516        unsafe { ::std::ptr::addr_of!((*ptr).ru_msgsnd) as usize - ptr as usize },
2517        104usize,
2518        "Offset of field: rusage::ru_msgsnd"
2519    );
2520    assert_eq!(
2521        unsafe { ::std::ptr::addr_of!((*ptr).ru_msgrcv) as usize - ptr as usize },
2522        112usize,
2523        "Offset of field: rusage::ru_msgrcv"
2524    );
2525    assert_eq!(
2526        unsafe { ::std::ptr::addr_of!((*ptr).ru_nsignals) as usize - ptr as usize },
2527        120usize,
2528        "Offset of field: rusage::ru_nsignals"
2529    );
2530    assert_eq!(
2531        unsafe { ::std::ptr::addr_of!((*ptr).ru_nvcsw) as usize - ptr as usize },
2532        128usize,
2533        "Offset of field: rusage::ru_nvcsw"
2534    );
2535    assert_eq!(
2536        unsafe { ::std::ptr::addr_of!((*ptr).ru_nivcsw) as usize - ptr as usize },
2537        136usize,
2538        "Offset of field: rusage::ru_nivcsw"
2539    );
2540}
2541pub type rusage_info_t = *mut ::std::os::raw::c_void;
2542#[repr(C)]
2543#[derive(Debug, Copy, Clone)]
2544pub struct rusage_info_v0 {
2545    pub ri_uuid: [u8; 16usize],
2546    pub ri_user_time: u64,
2547    pub ri_system_time: u64,
2548    pub ri_pkg_idle_wkups: u64,
2549    pub ri_interrupt_wkups: u64,
2550    pub ri_pageins: u64,
2551    pub ri_wired_size: u64,
2552    pub ri_resident_size: u64,
2553    pub ri_phys_footprint: u64,
2554    pub ri_proc_start_abstime: u64,
2555    pub ri_proc_exit_abstime: u64,
2556}
2557#[test]
2558fn bindgen_test_layout_rusage_info_v0() {
2559    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v0> = ::std::mem::MaybeUninit::uninit();
2560    let ptr = UNINIT.as_ptr();
2561    assert_eq!(::std::mem::size_of::<rusage_info_v0>(), 96usize, "Size of rusage_info_v0");
2562    assert_eq!(::std::mem::align_of::<rusage_info_v0>(), 8usize, "Alignment of rusage_info_v0");
2563    assert_eq!(
2564        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
2565        0usize,
2566        "Offset of field: rusage_info_v0::ri_uuid"
2567    );
2568    assert_eq!(
2569        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
2570        16usize,
2571        "Offset of field: rusage_info_v0::ri_user_time"
2572    );
2573    assert_eq!(
2574        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
2575        24usize,
2576        "Offset of field: rusage_info_v0::ri_system_time"
2577    );
2578    assert_eq!(
2579        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
2580        32usize,
2581        "Offset of field: rusage_info_v0::ri_pkg_idle_wkups"
2582    );
2583    assert_eq!(
2584        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
2585        40usize,
2586        "Offset of field: rusage_info_v0::ri_interrupt_wkups"
2587    );
2588    assert_eq!(
2589        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
2590        48usize,
2591        "Offset of field: rusage_info_v0::ri_pageins"
2592    );
2593    assert_eq!(
2594        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
2595        56usize,
2596        "Offset of field: rusage_info_v0::ri_wired_size"
2597    );
2598    assert_eq!(
2599        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
2600        64usize,
2601        "Offset of field: rusage_info_v0::ri_resident_size"
2602    );
2603    assert_eq!(
2604        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
2605        72usize,
2606        "Offset of field: rusage_info_v0::ri_phys_footprint"
2607    );
2608    assert_eq!(
2609        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
2610        80usize,
2611        "Offset of field: rusage_info_v0::ri_proc_start_abstime"
2612    );
2613    assert_eq!(
2614        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
2615        88usize,
2616        "Offset of field: rusage_info_v0::ri_proc_exit_abstime"
2617    );
2618}
2619#[repr(C)]
2620#[derive(Debug, Copy, Clone)]
2621pub struct rusage_info_v1 {
2622    pub ri_uuid: [u8; 16usize],
2623    pub ri_user_time: u64,
2624    pub ri_system_time: u64,
2625    pub ri_pkg_idle_wkups: u64,
2626    pub ri_interrupt_wkups: u64,
2627    pub ri_pageins: u64,
2628    pub ri_wired_size: u64,
2629    pub ri_resident_size: u64,
2630    pub ri_phys_footprint: u64,
2631    pub ri_proc_start_abstime: u64,
2632    pub ri_proc_exit_abstime: u64,
2633    pub ri_child_user_time: u64,
2634    pub ri_child_system_time: u64,
2635    pub ri_child_pkg_idle_wkups: u64,
2636    pub ri_child_interrupt_wkups: u64,
2637    pub ri_child_pageins: u64,
2638    pub ri_child_elapsed_abstime: u64,
2639}
2640#[test]
2641fn bindgen_test_layout_rusage_info_v1() {
2642    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v1> = ::std::mem::MaybeUninit::uninit();
2643    let ptr = UNINIT.as_ptr();
2644    assert_eq!(::std::mem::size_of::<rusage_info_v1>(), 144usize, "Size of rusage_info_v1");
2645    assert_eq!(::std::mem::align_of::<rusage_info_v1>(), 8usize, "Alignment of rusage_info_v1");
2646    assert_eq!(
2647        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
2648        0usize,
2649        "Offset of field: rusage_info_v1::ri_uuid"
2650    );
2651    assert_eq!(
2652        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
2653        16usize,
2654        "Offset of field: rusage_info_v1::ri_user_time"
2655    );
2656    assert_eq!(
2657        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
2658        24usize,
2659        "Offset of field: rusage_info_v1::ri_system_time"
2660    );
2661    assert_eq!(
2662        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
2663        32usize,
2664        "Offset of field: rusage_info_v1::ri_pkg_idle_wkups"
2665    );
2666    assert_eq!(
2667        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
2668        40usize,
2669        "Offset of field: rusage_info_v1::ri_interrupt_wkups"
2670    );
2671    assert_eq!(
2672        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
2673        48usize,
2674        "Offset of field: rusage_info_v1::ri_pageins"
2675    );
2676    assert_eq!(
2677        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
2678        56usize,
2679        "Offset of field: rusage_info_v1::ri_wired_size"
2680    );
2681    assert_eq!(
2682        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
2683        64usize,
2684        "Offset of field: rusage_info_v1::ri_resident_size"
2685    );
2686    assert_eq!(
2687        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
2688        72usize,
2689        "Offset of field: rusage_info_v1::ri_phys_footprint"
2690    );
2691    assert_eq!(
2692        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
2693        80usize,
2694        "Offset of field: rusage_info_v1::ri_proc_start_abstime"
2695    );
2696    assert_eq!(
2697        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
2698        88usize,
2699        "Offset of field: rusage_info_v1::ri_proc_exit_abstime"
2700    );
2701    assert_eq!(
2702        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
2703        96usize,
2704        "Offset of field: rusage_info_v1::ri_child_user_time"
2705    );
2706    assert_eq!(
2707        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
2708        104usize,
2709        "Offset of field: rusage_info_v1::ri_child_system_time"
2710    );
2711    assert_eq!(
2712        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
2713        112usize,
2714        "Offset of field: rusage_info_v1::ri_child_pkg_idle_wkups"
2715    );
2716    assert_eq!(
2717        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
2718        120usize,
2719        "Offset of field: rusage_info_v1::ri_child_interrupt_wkups"
2720    );
2721    assert_eq!(
2722        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
2723        128usize,
2724        "Offset of field: rusage_info_v1::ri_child_pageins"
2725    );
2726    assert_eq!(
2727        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
2728        136usize,
2729        "Offset of field: rusage_info_v1::ri_child_elapsed_abstime"
2730    );
2731}
2732#[repr(C)]
2733#[derive(Debug, Copy, Clone)]
2734pub struct rusage_info_v2 {
2735    pub ri_uuid: [u8; 16usize],
2736    pub ri_user_time: u64,
2737    pub ri_system_time: u64,
2738    pub ri_pkg_idle_wkups: u64,
2739    pub ri_interrupt_wkups: u64,
2740    pub ri_pageins: u64,
2741    pub ri_wired_size: u64,
2742    pub ri_resident_size: u64,
2743    pub ri_phys_footprint: u64,
2744    pub ri_proc_start_abstime: u64,
2745    pub ri_proc_exit_abstime: u64,
2746    pub ri_child_user_time: u64,
2747    pub ri_child_system_time: u64,
2748    pub ri_child_pkg_idle_wkups: u64,
2749    pub ri_child_interrupt_wkups: u64,
2750    pub ri_child_pageins: u64,
2751    pub ri_child_elapsed_abstime: u64,
2752    pub ri_diskio_bytesread: u64,
2753    pub ri_diskio_byteswritten: u64,
2754}
2755#[test]
2756fn bindgen_test_layout_rusage_info_v2() {
2757    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v2> = ::std::mem::MaybeUninit::uninit();
2758    let ptr = UNINIT.as_ptr();
2759    assert_eq!(::std::mem::size_of::<rusage_info_v2>(), 160usize, "Size of rusage_info_v2");
2760    assert_eq!(::std::mem::align_of::<rusage_info_v2>(), 8usize, "Alignment of rusage_info_v2");
2761    assert_eq!(
2762        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
2763        0usize,
2764        "Offset of field: rusage_info_v2::ri_uuid"
2765    );
2766    assert_eq!(
2767        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
2768        16usize,
2769        "Offset of field: rusage_info_v2::ri_user_time"
2770    );
2771    assert_eq!(
2772        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
2773        24usize,
2774        "Offset of field: rusage_info_v2::ri_system_time"
2775    );
2776    assert_eq!(
2777        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
2778        32usize,
2779        "Offset of field: rusage_info_v2::ri_pkg_idle_wkups"
2780    );
2781    assert_eq!(
2782        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
2783        40usize,
2784        "Offset of field: rusage_info_v2::ri_interrupt_wkups"
2785    );
2786    assert_eq!(
2787        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
2788        48usize,
2789        "Offset of field: rusage_info_v2::ri_pageins"
2790    );
2791    assert_eq!(
2792        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
2793        56usize,
2794        "Offset of field: rusage_info_v2::ri_wired_size"
2795    );
2796    assert_eq!(
2797        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
2798        64usize,
2799        "Offset of field: rusage_info_v2::ri_resident_size"
2800    );
2801    assert_eq!(
2802        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
2803        72usize,
2804        "Offset of field: rusage_info_v2::ri_phys_footprint"
2805    );
2806    assert_eq!(
2807        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
2808        80usize,
2809        "Offset of field: rusage_info_v2::ri_proc_start_abstime"
2810    );
2811    assert_eq!(
2812        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
2813        88usize,
2814        "Offset of field: rusage_info_v2::ri_proc_exit_abstime"
2815    );
2816    assert_eq!(
2817        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
2818        96usize,
2819        "Offset of field: rusage_info_v2::ri_child_user_time"
2820    );
2821    assert_eq!(
2822        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
2823        104usize,
2824        "Offset of field: rusage_info_v2::ri_child_system_time"
2825    );
2826    assert_eq!(
2827        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
2828        112usize,
2829        "Offset of field: rusage_info_v2::ri_child_pkg_idle_wkups"
2830    );
2831    assert_eq!(
2832        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
2833        120usize,
2834        "Offset of field: rusage_info_v2::ri_child_interrupt_wkups"
2835    );
2836    assert_eq!(
2837        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
2838        128usize,
2839        "Offset of field: rusage_info_v2::ri_child_pageins"
2840    );
2841    assert_eq!(
2842        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
2843        136usize,
2844        "Offset of field: rusage_info_v2::ri_child_elapsed_abstime"
2845    );
2846    assert_eq!(
2847        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
2848        144usize,
2849        "Offset of field: rusage_info_v2::ri_diskio_bytesread"
2850    );
2851    assert_eq!(
2852        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
2853        152usize,
2854        "Offset of field: rusage_info_v2::ri_diskio_byteswritten"
2855    );
2856}
2857#[repr(C)]
2858#[derive(Debug, Copy, Clone)]
2859pub struct rusage_info_v3 {
2860    pub ri_uuid: [u8; 16usize],
2861    pub ri_user_time: u64,
2862    pub ri_system_time: u64,
2863    pub ri_pkg_idle_wkups: u64,
2864    pub ri_interrupt_wkups: u64,
2865    pub ri_pageins: u64,
2866    pub ri_wired_size: u64,
2867    pub ri_resident_size: u64,
2868    pub ri_phys_footprint: u64,
2869    pub ri_proc_start_abstime: u64,
2870    pub ri_proc_exit_abstime: u64,
2871    pub ri_child_user_time: u64,
2872    pub ri_child_system_time: u64,
2873    pub ri_child_pkg_idle_wkups: u64,
2874    pub ri_child_interrupt_wkups: u64,
2875    pub ri_child_pageins: u64,
2876    pub ri_child_elapsed_abstime: u64,
2877    pub ri_diskio_bytesread: u64,
2878    pub ri_diskio_byteswritten: u64,
2879    pub ri_cpu_time_qos_default: u64,
2880    pub ri_cpu_time_qos_maintenance: u64,
2881    pub ri_cpu_time_qos_background: u64,
2882    pub ri_cpu_time_qos_utility: u64,
2883    pub ri_cpu_time_qos_legacy: u64,
2884    pub ri_cpu_time_qos_user_initiated: u64,
2885    pub ri_cpu_time_qos_user_interactive: u64,
2886    pub ri_billed_system_time: u64,
2887    pub ri_serviced_system_time: u64,
2888}
2889#[test]
2890fn bindgen_test_layout_rusage_info_v3() {
2891    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v3> = ::std::mem::MaybeUninit::uninit();
2892    let ptr = UNINIT.as_ptr();
2893    assert_eq!(::std::mem::size_of::<rusage_info_v3>(), 232usize, "Size of rusage_info_v3");
2894    assert_eq!(::std::mem::align_of::<rusage_info_v3>(), 8usize, "Alignment of rusage_info_v3");
2895    assert_eq!(
2896        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
2897        0usize,
2898        "Offset of field: rusage_info_v3::ri_uuid"
2899    );
2900    assert_eq!(
2901        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
2902        16usize,
2903        "Offset of field: rusage_info_v3::ri_user_time"
2904    );
2905    assert_eq!(
2906        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
2907        24usize,
2908        "Offset of field: rusage_info_v3::ri_system_time"
2909    );
2910    assert_eq!(
2911        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
2912        32usize,
2913        "Offset of field: rusage_info_v3::ri_pkg_idle_wkups"
2914    );
2915    assert_eq!(
2916        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
2917        40usize,
2918        "Offset of field: rusage_info_v3::ri_interrupt_wkups"
2919    );
2920    assert_eq!(
2921        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
2922        48usize,
2923        "Offset of field: rusage_info_v3::ri_pageins"
2924    );
2925    assert_eq!(
2926        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
2927        56usize,
2928        "Offset of field: rusage_info_v3::ri_wired_size"
2929    );
2930    assert_eq!(
2931        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
2932        64usize,
2933        "Offset of field: rusage_info_v3::ri_resident_size"
2934    );
2935    assert_eq!(
2936        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
2937        72usize,
2938        "Offset of field: rusage_info_v3::ri_phys_footprint"
2939    );
2940    assert_eq!(
2941        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
2942        80usize,
2943        "Offset of field: rusage_info_v3::ri_proc_start_abstime"
2944    );
2945    assert_eq!(
2946        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
2947        88usize,
2948        "Offset of field: rusage_info_v3::ri_proc_exit_abstime"
2949    );
2950    assert_eq!(
2951        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
2952        96usize,
2953        "Offset of field: rusage_info_v3::ri_child_user_time"
2954    );
2955    assert_eq!(
2956        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
2957        104usize,
2958        "Offset of field: rusage_info_v3::ri_child_system_time"
2959    );
2960    assert_eq!(
2961        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
2962        112usize,
2963        "Offset of field: rusage_info_v3::ri_child_pkg_idle_wkups"
2964    );
2965    assert_eq!(
2966        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
2967        120usize,
2968        "Offset of field: rusage_info_v3::ri_child_interrupt_wkups"
2969    );
2970    assert_eq!(
2971        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
2972        128usize,
2973        "Offset of field: rusage_info_v3::ri_child_pageins"
2974    );
2975    assert_eq!(
2976        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
2977        136usize,
2978        "Offset of field: rusage_info_v3::ri_child_elapsed_abstime"
2979    );
2980    assert_eq!(
2981        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
2982        144usize,
2983        "Offset of field: rusage_info_v3::ri_diskio_bytesread"
2984    );
2985    assert_eq!(
2986        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
2987        152usize,
2988        "Offset of field: rusage_info_v3::ri_diskio_byteswritten"
2989    );
2990    assert_eq!(
2991        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
2992        160usize,
2993        "Offset of field: rusage_info_v3::ri_cpu_time_qos_default"
2994    );
2995    assert_eq!(
2996        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
2997        168usize,
2998        "Offset of field: rusage_info_v3::ri_cpu_time_qos_maintenance"
2999    );
3000    assert_eq!(
3001        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
3002        176usize,
3003        "Offset of field: rusage_info_v3::ri_cpu_time_qos_background"
3004    );
3005    assert_eq!(
3006        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
3007        184usize,
3008        "Offset of field: rusage_info_v3::ri_cpu_time_qos_utility"
3009    );
3010    assert_eq!(
3011        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
3012        192usize,
3013        "Offset of field: rusage_info_v3::ri_cpu_time_qos_legacy"
3014    );
3015    assert_eq!(
3016        unsafe {
3017            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
3018        },
3019        200usize,
3020        "Offset of field: rusage_info_v3::ri_cpu_time_qos_user_initiated"
3021    );
3022    assert_eq!(
3023        unsafe {
3024            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
3025        },
3026        208usize,
3027        "Offset of field: rusage_info_v3::ri_cpu_time_qos_user_interactive"
3028    );
3029    assert_eq!(
3030        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
3031        216usize,
3032        "Offset of field: rusage_info_v3::ri_billed_system_time"
3033    );
3034    assert_eq!(
3035        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
3036        224usize,
3037        "Offset of field: rusage_info_v3::ri_serviced_system_time"
3038    );
3039}
3040#[repr(C)]
3041#[derive(Debug, Copy, Clone)]
3042pub struct rusage_info_v4 {
3043    pub ri_uuid: [u8; 16usize],
3044    pub ri_user_time: u64,
3045    pub ri_system_time: u64,
3046    pub ri_pkg_idle_wkups: u64,
3047    pub ri_interrupt_wkups: u64,
3048    pub ri_pageins: u64,
3049    pub ri_wired_size: u64,
3050    pub ri_resident_size: u64,
3051    pub ri_phys_footprint: u64,
3052    pub ri_proc_start_abstime: u64,
3053    pub ri_proc_exit_abstime: u64,
3054    pub ri_child_user_time: u64,
3055    pub ri_child_system_time: u64,
3056    pub ri_child_pkg_idle_wkups: u64,
3057    pub ri_child_interrupt_wkups: u64,
3058    pub ri_child_pageins: u64,
3059    pub ri_child_elapsed_abstime: u64,
3060    pub ri_diskio_bytesread: u64,
3061    pub ri_diskio_byteswritten: u64,
3062    pub ri_cpu_time_qos_default: u64,
3063    pub ri_cpu_time_qos_maintenance: u64,
3064    pub ri_cpu_time_qos_background: u64,
3065    pub ri_cpu_time_qos_utility: u64,
3066    pub ri_cpu_time_qos_legacy: u64,
3067    pub ri_cpu_time_qos_user_initiated: u64,
3068    pub ri_cpu_time_qos_user_interactive: u64,
3069    pub ri_billed_system_time: u64,
3070    pub ri_serviced_system_time: u64,
3071    pub ri_logical_writes: u64,
3072    pub ri_lifetime_max_phys_footprint: u64,
3073    pub ri_instructions: u64,
3074    pub ri_cycles: u64,
3075    pub ri_billed_energy: u64,
3076    pub ri_serviced_energy: u64,
3077    pub ri_interval_max_phys_footprint: u64,
3078    pub ri_runnable_time: u64,
3079}
3080#[test]
3081fn bindgen_test_layout_rusage_info_v4() {
3082    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v4> = ::std::mem::MaybeUninit::uninit();
3083    let ptr = UNINIT.as_ptr();
3084    assert_eq!(::std::mem::size_of::<rusage_info_v4>(), 296usize, "Size of rusage_info_v4");
3085    assert_eq!(::std::mem::align_of::<rusage_info_v4>(), 8usize, "Alignment of rusage_info_v4");
3086    assert_eq!(
3087        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
3088        0usize,
3089        "Offset of field: rusage_info_v4::ri_uuid"
3090    );
3091    assert_eq!(
3092        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
3093        16usize,
3094        "Offset of field: rusage_info_v4::ri_user_time"
3095    );
3096    assert_eq!(
3097        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
3098        24usize,
3099        "Offset of field: rusage_info_v4::ri_system_time"
3100    );
3101    assert_eq!(
3102        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
3103        32usize,
3104        "Offset of field: rusage_info_v4::ri_pkg_idle_wkups"
3105    );
3106    assert_eq!(
3107        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
3108        40usize,
3109        "Offset of field: rusage_info_v4::ri_interrupt_wkups"
3110    );
3111    assert_eq!(
3112        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
3113        48usize,
3114        "Offset of field: rusage_info_v4::ri_pageins"
3115    );
3116    assert_eq!(
3117        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
3118        56usize,
3119        "Offset of field: rusage_info_v4::ri_wired_size"
3120    );
3121    assert_eq!(
3122        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
3123        64usize,
3124        "Offset of field: rusage_info_v4::ri_resident_size"
3125    );
3126    assert_eq!(
3127        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
3128        72usize,
3129        "Offset of field: rusage_info_v4::ri_phys_footprint"
3130    );
3131    assert_eq!(
3132        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
3133        80usize,
3134        "Offset of field: rusage_info_v4::ri_proc_start_abstime"
3135    );
3136    assert_eq!(
3137        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
3138        88usize,
3139        "Offset of field: rusage_info_v4::ri_proc_exit_abstime"
3140    );
3141    assert_eq!(
3142        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
3143        96usize,
3144        "Offset of field: rusage_info_v4::ri_child_user_time"
3145    );
3146    assert_eq!(
3147        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
3148        104usize,
3149        "Offset of field: rusage_info_v4::ri_child_system_time"
3150    );
3151    assert_eq!(
3152        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
3153        112usize,
3154        "Offset of field: rusage_info_v4::ri_child_pkg_idle_wkups"
3155    );
3156    assert_eq!(
3157        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
3158        120usize,
3159        "Offset of field: rusage_info_v4::ri_child_interrupt_wkups"
3160    );
3161    assert_eq!(
3162        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
3163        128usize,
3164        "Offset of field: rusage_info_v4::ri_child_pageins"
3165    );
3166    assert_eq!(
3167        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
3168        136usize,
3169        "Offset of field: rusage_info_v4::ri_child_elapsed_abstime"
3170    );
3171    assert_eq!(
3172        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
3173        144usize,
3174        "Offset of field: rusage_info_v4::ri_diskio_bytesread"
3175    );
3176    assert_eq!(
3177        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
3178        152usize,
3179        "Offset of field: rusage_info_v4::ri_diskio_byteswritten"
3180    );
3181    assert_eq!(
3182        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
3183        160usize,
3184        "Offset of field: rusage_info_v4::ri_cpu_time_qos_default"
3185    );
3186    assert_eq!(
3187        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
3188        168usize,
3189        "Offset of field: rusage_info_v4::ri_cpu_time_qos_maintenance"
3190    );
3191    assert_eq!(
3192        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
3193        176usize,
3194        "Offset of field: rusage_info_v4::ri_cpu_time_qos_background"
3195    );
3196    assert_eq!(
3197        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
3198        184usize,
3199        "Offset of field: rusage_info_v4::ri_cpu_time_qos_utility"
3200    );
3201    assert_eq!(
3202        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
3203        192usize,
3204        "Offset of field: rusage_info_v4::ri_cpu_time_qos_legacy"
3205    );
3206    assert_eq!(
3207        unsafe {
3208            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
3209        },
3210        200usize,
3211        "Offset of field: rusage_info_v4::ri_cpu_time_qos_user_initiated"
3212    );
3213    assert_eq!(
3214        unsafe {
3215            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
3216        },
3217        208usize,
3218        "Offset of field: rusage_info_v4::ri_cpu_time_qos_user_interactive"
3219    );
3220    assert_eq!(
3221        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
3222        216usize,
3223        "Offset of field: rusage_info_v4::ri_billed_system_time"
3224    );
3225    assert_eq!(
3226        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
3227        224usize,
3228        "Offset of field: rusage_info_v4::ri_serviced_system_time"
3229    );
3230    assert_eq!(
3231        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
3232        232usize,
3233        "Offset of field: rusage_info_v4::ri_logical_writes"
3234    );
3235    assert_eq!(
3236        unsafe {
3237            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
3238        },
3239        240usize,
3240        "Offset of field: rusage_info_v4::ri_lifetime_max_phys_footprint"
3241    );
3242    assert_eq!(
3243        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
3244        248usize,
3245        "Offset of field: rusage_info_v4::ri_instructions"
3246    );
3247    assert_eq!(
3248        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
3249        256usize,
3250        "Offset of field: rusage_info_v4::ri_cycles"
3251    );
3252    assert_eq!(
3253        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
3254        264usize,
3255        "Offset of field: rusage_info_v4::ri_billed_energy"
3256    );
3257    assert_eq!(
3258        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
3259        272usize,
3260        "Offset of field: rusage_info_v4::ri_serviced_energy"
3261    );
3262    assert_eq!(
3263        unsafe {
3264            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
3265        },
3266        280usize,
3267        "Offset of field: rusage_info_v4::ri_interval_max_phys_footprint"
3268    );
3269    assert_eq!(
3270        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
3271        288usize,
3272        "Offset of field: rusage_info_v4::ri_runnable_time"
3273    );
3274}
3275#[repr(C)]
3276#[derive(Debug, Copy, Clone)]
3277pub struct rusage_info_v5 {
3278    pub ri_uuid: [u8; 16usize],
3279    pub ri_user_time: u64,
3280    pub ri_system_time: u64,
3281    pub ri_pkg_idle_wkups: u64,
3282    pub ri_interrupt_wkups: u64,
3283    pub ri_pageins: u64,
3284    pub ri_wired_size: u64,
3285    pub ri_resident_size: u64,
3286    pub ri_phys_footprint: u64,
3287    pub ri_proc_start_abstime: u64,
3288    pub ri_proc_exit_abstime: u64,
3289    pub ri_child_user_time: u64,
3290    pub ri_child_system_time: u64,
3291    pub ri_child_pkg_idle_wkups: u64,
3292    pub ri_child_interrupt_wkups: u64,
3293    pub ri_child_pageins: u64,
3294    pub ri_child_elapsed_abstime: u64,
3295    pub ri_diskio_bytesread: u64,
3296    pub ri_diskio_byteswritten: u64,
3297    pub ri_cpu_time_qos_default: u64,
3298    pub ri_cpu_time_qos_maintenance: u64,
3299    pub ri_cpu_time_qos_background: u64,
3300    pub ri_cpu_time_qos_utility: u64,
3301    pub ri_cpu_time_qos_legacy: u64,
3302    pub ri_cpu_time_qos_user_initiated: u64,
3303    pub ri_cpu_time_qos_user_interactive: u64,
3304    pub ri_billed_system_time: u64,
3305    pub ri_serviced_system_time: u64,
3306    pub ri_logical_writes: u64,
3307    pub ri_lifetime_max_phys_footprint: u64,
3308    pub ri_instructions: u64,
3309    pub ri_cycles: u64,
3310    pub ri_billed_energy: u64,
3311    pub ri_serviced_energy: u64,
3312    pub ri_interval_max_phys_footprint: u64,
3313    pub ri_runnable_time: u64,
3314    pub ri_flags: u64,
3315}
3316#[test]
3317fn bindgen_test_layout_rusage_info_v5() {
3318    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v5> = ::std::mem::MaybeUninit::uninit();
3319    let ptr = UNINIT.as_ptr();
3320    assert_eq!(::std::mem::size_of::<rusage_info_v5>(), 304usize, "Size of rusage_info_v5");
3321    assert_eq!(::std::mem::align_of::<rusage_info_v5>(), 8usize, "Alignment of rusage_info_v5");
3322    assert_eq!(
3323        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
3324        0usize,
3325        "Offset of field: rusage_info_v5::ri_uuid"
3326    );
3327    assert_eq!(
3328        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
3329        16usize,
3330        "Offset of field: rusage_info_v5::ri_user_time"
3331    );
3332    assert_eq!(
3333        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
3334        24usize,
3335        "Offset of field: rusage_info_v5::ri_system_time"
3336    );
3337    assert_eq!(
3338        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
3339        32usize,
3340        "Offset of field: rusage_info_v5::ri_pkg_idle_wkups"
3341    );
3342    assert_eq!(
3343        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
3344        40usize,
3345        "Offset of field: rusage_info_v5::ri_interrupt_wkups"
3346    );
3347    assert_eq!(
3348        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
3349        48usize,
3350        "Offset of field: rusage_info_v5::ri_pageins"
3351    );
3352    assert_eq!(
3353        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
3354        56usize,
3355        "Offset of field: rusage_info_v5::ri_wired_size"
3356    );
3357    assert_eq!(
3358        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
3359        64usize,
3360        "Offset of field: rusage_info_v5::ri_resident_size"
3361    );
3362    assert_eq!(
3363        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
3364        72usize,
3365        "Offset of field: rusage_info_v5::ri_phys_footprint"
3366    );
3367    assert_eq!(
3368        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
3369        80usize,
3370        "Offset of field: rusage_info_v5::ri_proc_start_abstime"
3371    );
3372    assert_eq!(
3373        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
3374        88usize,
3375        "Offset of field: rusage_info_v5::ri_proc_exit_abstime"
3376    );
3377    assert_eq!(
3378        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
3379        96usize,
3380        "Offset of field: rusage_info_v5::ri_child_user_time"
3381    );
3382    assert_eq!(
3383        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
3384        104usize,
3385        "Offset of field: rusage_info_v5::ri_child_system_time"
3386    );
3387    assert_eq!(
3388        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
3389        112usize,
3390        "Offset of field: rusage_info_v5::ri_child_pkg_idle_wkups"
3391    );
3392    assert_eq!(
3393        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
3394        120usize,
3395        "Offset of field: rusage_info_v5::ri_child_interrupt_wkups"
3396    );
3397    assert_eq!(
3398        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
3399        128usize,
3400        "Offset of field: rusage_info_v5::ri_child_pageins"
3401    );
3402    assert_eq!(
3403        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
3404        136usize,
3405        "Offset of field: rusage_info_v5::ri_child_elapsed_abstime"
3406    );
3407    assert_eq!(
3408        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
3409        144usize,
3410        "Offset of field: rusage_info_v5::ri_diskio_bytesread"
3411    );
3412    assert_eq!(
3413        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
3414        152usize,
3415        "Offset of field: rusage_info_v5::ri_diskio_byteswritten"
3416    );
3417    assert_eq!(
3418        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
3419        160usize,
3420        "Offset of field: rusage_info_v5::ri_cpu_time_qos_default"
3421    );
3422    assert_eq!(
3423        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
3424        168usize,
3425        "Offset of field: rusage_info_v5::ri_cpu_time_qos_maintenance"
3426    );
3427    assert_eq!(
3428        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
3429        176usize,
3430        "Offset of field: rusage_info_v5::ri_cpu_time_qos_background"
3431    );
3432    assert_eq!(
3433        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
3434        184usize,
3435        "Offset of field: rusage_info_v5::ri_cpu_time_qos_utility"
3436    );
3437    assert_eq!(
3438        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
3439        192usize,
3440        "Offset of field: rusage_info_v5::ri_cpu_time_qos_legacy"
3441    );
3442    assert_eq!(
3443        unsafe {
3444            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
3445        },
3446        200usize,
3447        "Offset of field: rusage_info_v5::ri_cpu_time_qos_user_initiated"
3448    );
3449    assert_eq!(
3450        unsafe {
3451            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
3452        },
3453        208usize,
3454        "Offset of field: rusage_info_v5::ri_cpu_time_qos_user_interactive"
3455    );
3456    assert_eq!(
3457        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
3458        216usize,
3459        "Offset of field: rusage_info_v5::ri_billed_system_time"
3460    );
3461    assert_eq!(
3462        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
3463        224usize,
3464        "Offset of field: rusage_info_v5::ri_serviced_system_time"
3465    );
3466    assert_eq!(
3467        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
3468        232usize,
3469        "Offset of field: rusage_info_v5::ri_logical_writes"
3470    );
3471    assert_eq!(
3472        unsafe {
3473            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
3474        },
3475        240usize,
3476        "Offset of field: rusage_info_v5::ri_lifetime_max_phys_footprint"
3477    );
3478    assert_eq!(
3479        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
3480        248usize,
3481        "Offset of field: rusage_info_v5::ri_instructions"
3482    );
3483    assert_eq!(
3484        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
3485        256usize,
3486        "Offset of field: rusage_info_v5::ri_cycles"
3487    );
3488    assert_eq!(
3489        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
3490        264usize,
3491        "Offset of field: rusage_info_v5::ri_billed_energy"
3492    );
3493    assert_eq!(
3494        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
3495        272usize,
3496        "Offset of field: rusage_info_v5::ri_serviced_energy"
3497    );
3498    assert_eq!(
3499        unsafe {
3500            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
3501        },
3502        280usize,
3503        "Offset of field: rusage_info_v5::ri_interval_max_phys_footprint"
3504    );
3505    assert_eq!(
3506        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
3507        288usize,
3508        "Offset of field: rusage_info_v5::ri_runnable_time"
3509    );
3510    assert_eq!(
3511        unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize },
3512        296usize,
3513        "Offset of field: rusage_info_v5::ri_flags"
3514    );
3515}
3516#[repr(C)]
3517#[derive(Debug, Copy, Clone)]
3518pub struct rusage_info_v6 {
3519    pub ri_uuid: [u8; 16usize],
3520    pub ri_user_time: u64,
3521    pub ri_system_time: u64,
3522    pub ri_pkg_idle_wkups: u64,
3523    pub ri_interrupt_wkups: u64,
3524    pub ri_pageins: u64,
3525    pub ri_wired_size: u64,
3526    pub ri_resident_size: u64,
3527    pub ri_phys_footprint: u64,
3528    pub ri_proc_start_abstime: u64,
3529    pub ri_proc_exit_abstime: u64,
3530    pub ri_child_user_time: u64,
3531    pub ri_child_system_time: u64,
3532    pub ri_child_pkg_idle_wkups: u64,
3533    pub ri_child_interrupt_wkups: u64,
3534    pub ri_child_pageins: u64,
3535    pub ri_child_elapsed_abstime: u64,
3536    pub ri_diskio_bytesread: u64,
3537    pub ri_diskio_byteswritten: u64,
3538    pub ri_cpu_time_qos_default: u64,
3539    pub ri_cpu_time_qos_maintenance: u64,
3540    pub ri_cpu_time_qos_background: u64,
3541    pub ri_cpu_time_qos_utility: u64,
3542    pub ri_cpu_time_qos_legacy: u64,
3543    pub ri_cpu_time_qos_user_initiated: u64,
3544    pub ri_cpu_time_qos_user_interactive: u64,
3545    pub ri_billed_system_time: u64,
3546    pub ri_serviced_system_time: u64,
3547    pub ri_logical_writes: u64,
3548    pub ri_lifetime_max_phys_footprint: u64,
3549    pub ri_instructions: u64,
3550    pub ri_cycles: u64,
3551    pub ri_billed_energy: u64,
3552    pub ri_serviced_energy: u64,
3553    pub ri_interval_max_phys_footprint: u64,
3554    pub ri_runnable_time: u64,
3555    pub ri_flags: u64,
3556    pub ri_user_ptime: u64,
3557    pub ri_system_ptime: u64,
3558    pub ri_pinstructions: u64,
3559    pub ri_pcycles: u64,
3560    pub ri_energy_nj: u64,
3561    pub ri_penergy_nj: u64,
3562    pub ri_secure_time_in_system: u64,
3563    pub ri_secure_ptime_in_system: u64,
3564    pub ri_neural_footprint: u64,
3565    pub ri_lifetime_max_neural_footprint: u64,
3566    pub ri_interval_max_neural_footprint: u64,
3567    pub ri_reserved: [u64; 9usize],
3568}
3569#[test]
3570fn bindgen_test_layout_rusage_info_v6() {
3571    const UNINIT: ::std::mem::MaybeUninit<rusage_info_v6> = ::std::mem::MaybeUninit::uninit();
3572    let ptr = UNINIT.as_ptr();
3573    assert_eq!(::std::mem::size_of::<rusage_info_v6>(), 464usize, "Size of rusage_info_v6");
3574    assert_eq!(::std::mem::align_of::<rusage_info_v6>(), 8usize, "Alignment of rusage_info_v6");
3575    assert_eq!(
3576        unsafe { ::std::ptr::addr_of!((*ptr).ri_uuid) as usize - ptr as usize },
3577        0usize,
3578        "Offset of field: rusage_info_v6::ri_uuid"
3579    );
3580    assert_eq!(
3581        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_time) as usize - ptr as usize },
3582        16usize,
3583        "Offset of field: rusage_info_v6::ri_user_time"
3584    );
3585    assert_eq!(
3586        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_time) as usize - ptr as usize },
3587        24usize,
3588        "Offset of field: rusage_info_v6::ri_system_time"
3589    );
3590    assert_eq!(
3591        unsafe { ::std::ptr::addr_of!((*ptr).ri_pkg_idle_wkups) as usize - ptr as usize },
3592        32usize,
3593        "Offset of field: rusage_info_v6::ri_pkg_idle_wkups"
3594    );
3595    assert_eq!(
3596        unsafe { ::std::ptr::addr_of!((*ptr).ri_interrupt_wkups) as usize - ptr as usize },
3597        40usize,
3598        "Offset of field: rusage_info_v6::ri_interrupt_wkups"
3599    );
3600    assert_eq!(
3601        unsafe { ::std::ptr::addr_of!((*ptr).ri_pageins) as usize - ptr as usize },
3602        48usize,
3603        "Offset of field: rusage_info_v6::ri_pageins"
3604    );
3605    assert_eq!(
3606        unsafe { ::std::ptr::addr_of!((*ptr).ri_wired_size) as usize - ptr as usize },
3607        56usize,
3608        "Offset of field: rusage_info_v6::ri_wired_size"
3609    );
3610    assert_eq!(
3611        unsafe { ::std::ptr::addr_of!((*ptr).ri_resident_size) as usize - ptr as usize },
3612        64usize,
3613        "Offset of field: rusage_info_v6::ri_resident_size"
3614    );
3615    assert_eq!(
3616        unsafe { ::std::ptr::addr_of!((*ptr).ri_phys_footprint) as usize - ptr as usize },
3617        72usize,
3618        "Offset of field: rusage_info_v6::ri_phys_footprint"
3619    );
3620    assert_eq!(
3621        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_start_abstime) as usize - ptr as usize },
3622        80usize,
3623        "Offset of field: rusage_info_v6::ri_proc_start_abstime"
3624    );
3625    assert_eq!(
3626        unsafe { ::std::ptr::addr_of!((*ptr).ri_proc_exit_abstime) as usize - ptr as usize },
3627        88usize,
3628        "Offset of field: rusage_info_v6::ri_proc_exit_abstime"
3629    );
3630    assert_eq!(
3631        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_user_time) as usize - ptr as usize },
3632        96usize,
3633        "Offset of field: rusage_info_v6::ri_child_user_time"
3634    );
3635    assert_eq!(
3636        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_system_time) as usize - ptr as usize },
3637        104usize,
3638        "Offset of field: rusage_info_v6::ri_child_system_time"
3639    );
3640    assert_eq!(
3641        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pkg_idle_wkups) as usize - ptr as usize },
3642        112usize,
3643        "Offset of field: rusage_info_v6::ri_child_pkg_idle_wkups"
3644    );
3645    assert_eq!(
3646        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_interrupt_wkups) as usize - ptr as usize },
3647        120usize,
3648        "Offset of field: rusage_info_v6::ri_child_interrupt_wkups"
3649    );
3650    assert_eq!(
3651        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_pageins) as usize - ptr as usize },
3652        128usize,
3653        "Offset of field: rusage_info_v6::ri_child_pageins"
3654    );
3655    assert_eq!(
3656        unsafe { ::std::ptr::addr_of!((*ptr).ri_child_elapsed_abstime) as usize - ptr as usize },
3657        136usize,
3658        "Offset of field: rusage_info_v6::ri_child_elapsed_abstime"
3659    );
3660    assert_eq!(
3661        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_bytesread) as usize - ptr as usize },
3662        144usize,
3663        "Offset of field: rusage_info_v6::ri_diskio_bytesread"
3664    );
3665    assert_eq!(
3666        unsafe { ::std::ptr::addr_of!((*ptr).ri_diskio_byteswritten) as usize - ptr as usize },
3667        152usize,
3668        "Offset of field: rusage_info_v6::ri_diskio_byteswritten"
3669    );
3670    assert_eq!(
3671        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_default) as usize - ptr as usize },
3672        160usize,
3673        "Offset of field: rusage_info_v6::ri_cpu_time_qos_default"
3674    );
3675    assert_eq!(
3676        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_maintenance) as usize - ptr as usize },
3677        168usize,
3678        "Offset of field: rusage_info_v6::ri_cpu_time_qos_maintenance"
3679    );
3680    assert_eq!(
3681        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_background) as usize - ptr as usize },
3682        176usize,
3683        "Offset of field: rusage_info_v6::ri_cpu_time_qos_background"
3684    );
3685    assert_eq!(
3686        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_utility) as usize - ptr as usize },
3687        184usize,
3688        "Offset of field: rusage_info_v6::ri_cpu_time_qos_utility"
3689    );
3690    assert_eq!(
3691        unsafe { ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_legacy) as usize - ptr as usize },
3692        192usize,
3693        "Offset of field: rusage_info_v6::ri_cpu_time_qos_legacy"
3694    );
3695    assert_eq!(
3696        unsafe {
3697            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_initiated) as usize - ptr as usize
3698        },
3699        200usize,
3700        "Offset of field: rusage_info_v6::ri_cpu_time_qos_user_initiated"
3701    );
3702    assert_eq!(
3703        unsafe {
3704            ::std::ptr::addr_of!((*ptr).ri_cpu_time_qos_user_interactive) as usize - ptr as usize
3705        },
3706        208usize,
3707        "Offset of field: rusage_info_v6::ri_cpu_time_qos_user_interactive"
3708    );
3709    assert_eq!(
3710        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_system_time) as usize - ptr as usize },
3711        216usize,
3712        "Offset of field: rusage_info_v6::ri_billed_system_time"
3713    );
3714    assert_eq!(
3715        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_system_time) as usize - ptr as usize },
3716        224usize,
3717        "Offset of field: rusage_info_v6::ri_serviced_system_time"
3718    );
3719    assert_eq!(
3720        unsafe { ::std::ptr::addr_of!((*ptr).ri_logical_writes) as usize - ptr as usize },
3721        232usize,
3722        "Offset of field: rusage_info_v6::ri_logical_writes"
3723    );
3724    assert_eq!(
3725        unsafe {
3726            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_phys_footprint) as usize - ptr as usize
3727        },
3728        240usize,
3729        "Offset of field: rusage_info_v6::ri_lifetime_max_phys_footprint"
3730    );
3731    assert_eq!(
3732        unsafe { ::std::ptr::addr_of!((*ptr).ri_instructions) as usize - ptr as usize },
3733        248usize,
3734        "Offset of field: rusage_info_v6::ri_instructions"
3735    );
3736    assert_eq!(
3737        unsafe { ::std::ptr::addr_of!((*ptr).ri_cycles) as usize - ptr as usize },
3738        256usize,
3739        "Offset of field: rusage_info_v6::ri_cycles"
3740    );
3741    assert_eq!(
3742        unsafe { ::std::ptr::addr_of!((*ptr).ri_billed_energy) as usize - ptr as usize },
3743        264usize,
3744        "Offset of field: rusage_info_v6::ri_billed_energy"
3745    );
3746    assert_eq!(
3747        unsafe { ::std::ptr::addr_of!((*ptr).ri_serviced_energy) as usize - ptr as usize },
3748        272usize,
3749        "Offset of field: rusage_info_v6::ri_serviced_energy"
3750    );
3751    assert_eq!(
3752        unsafe {
3753            ::std::ptr::addr_of!((*ptr).ri_interval_max_phys_footprint) as usize - ptr as usize
3754        },
3755        280usize,
3756        "Offset of field: rusage_info_v6::ri_interval_max_phys_footprint"
3757    );
3758    assert_eq!(
3759        unsafe { ::std::ptr::addr_of!((*ptr).ri_runnable_time) as usize - ptr as usize },
3760        288usize,
3761        "Offset of field: rusage_info_v6::ri_runnable_time"
3762    );
3763    assert_eq!(
3764        unsafe { ::std::ptr::addr_of!((*ptr).ri_flags) as usize - ptr as usize },
3765        296usize,
3766        "Offset of field: rusage_info_v6::ri_flags"
3767    );
3768    assert_eq!(
3769        unsafe { ::std::ptr::addr_of!((*ptr).ri_user_ptime) as usize - ptr as usize },
3770        304usize,
3771        "Offset of field: rusage_info_v6::ri_user_ptime"
3772    );
3773    assert_eq!(
3774        unsafe { ::std::ptr::addr_of!((*ptr).ri_system_ptime) as usize - ptr as usize },
3775        312usize,
3776        "Offset of field: rusage_info_v6::ri_system_ptime"
3777    );
3778    assert_eq!(
3779        unsafe { ::std::ptr::addr_of!((*ptr).ri_pinstructions) as usize - ptr as usize },
3780        320usize,
3781        "Offset of field: rusage_info_v6::ri_pinstructions"
3782    );
3783    assert_eq!(
3784        unsafe { ::std::ptr::addr_of!((*ptr).ri_pcycles) as usize - ptr as usize },
3785        328usize,
3786        "Offset of field: rusage_info_v6::ri_pcycles"
3787    );
3788    assert_eq!(
3789        unsafe { ::std::ptr::addr_of!((*ptr).ri_energy_nj) as usize - ptr as usize },
3790        336usize,
3791        "Offset of field: rusage_info_v6::ri_energy_nj"
3792    );
3793    assert_eq!(
3794        unsafe { ::std::ptr::addr_of!((*ptr).ri_penergy_nj) as usize - ptr as usize },
3795        344usize,
3796        "Offset of field: rusage_info_v6::ri_penergy_nj"
3797    );
3798    assert_eq!(
3799        unsafe { ::std::ptr::addr_of!((*ptr).ri_secure_time_in_system) as usize - ptr as usize },
3800        352usize,
3801        "Offset of field: rusage_info_v6::ri_secure_time_in_system"
3802    );
3803    assert_eq!(
3804        unsafe { ::std::ptr::addr_of!((*ptr).ri_secure_ptime_in_system) as usize - ptr as usize },
3805        360usize,
3806        "Offset of field: rusage_info_v6::ri_secure_ptime_in_system"
3807    );
3808    assert_eq!(
3809        unsafe { ::std::ptr::addr_of!((*ptr).ri_neural_footprint) as usize - ptr as usize },
3810        368usize,
3811        "Offset of field: rusage_info_v6::ri_neural_footprint"
3812    );
3813    assert_eq!(
3814        unsafe {
3815            ::std::ptr::addr_of!((*ptr).ri_lifetime_max_neural_footprint) as usize - ptr as usize
3816        },
3817        376usize,
3818        "Offset of field: rusage_info_v6::ri_lifetime_max_neural_footprint"
3819    );
3820    assert_eq!(
3821        unsafe {
3822            ::std::ptr::addr_of!((*ptr).ri_interval_max_neural_footprint) as usize - ptr as usize
3823        },
3824        384usize,
3825        "Offset of field: rusage_info_v6::ri_interval_max_neural_footprint"
3826    );
3827    assert_eq!(
3828        unsafe { ::std::ptr::addr_of!((*ptr).ri_reserved) as usize - ptr as usize },
3829        392usize,
3830        "Offset of field: rusage_info_v6::ri_reserved"
3831    );
3832}
3833pub type rusage_info_current = rusage_info_v6;
3834#[repr(C)]
3835#[derive(Debug, Copy, Clone)]
3836pub struct rlimit {
3837    pub rlim_cur: rlim_t,
3838    pub rlim_max: rlim_t,
3839}
3840#[test]
3841fn bindgen_test_layout_rlimit() {
3842    const UNINIT: ::std::mem::MaybeUninit<rlimit> = ::std::mem::MaybeUninit::uninit();
3843    let ptr = UNINIT.as_ptr();
3844    assert_eq!(::std::mem::size_of::<rlimit>(), 16usize, "Size of rlimit");
3845    assert_eq!(::std::mem::align_of::<rlimit>(), 8usize, "Alignment of rlimit");
3846    assert_eq!(
3847        unsafe { ::std::ptr::addr_of!((*ptr).rlim_cur) as usize - ptr as usize },
3848        0usize,
3849        "Offset of field: rlimit::rlim_cur"
3850    );
3851    assert_eq!(
3852        unsafe { ::std::ptr::addr_of!((*ptr).rlim_max) as usize - ptr as usize },
3853        8usize,
3854        "Offset of field: rlimit::rlim_max"
3855    );
3856}
3857#[repr(C)]
3858#[derive(Debug, Copy, Clone)]
3859pub struct proc_rlimit_control_wakeupmon {
3860    pub wm_flags: u32,
3861    pub wm_rate: i32,
3862}
3863#[test]
3864fn bindgen_test_layout_proc_rlimit_control_wakeupmon() {
3865    const UNINIT: ::std::mem::MaybeUninit<proc_rlimit_control_wakeupmon> =
3866        ::std::mem::MaybeUninit::uninit();
3867    let ptr = UNINIT.as_ptr();
3868    assert_eq!(
3869        ::std::mem::size_of::<proc_rlimit_control_wakeupmon>(),
3870        8usize,
3871        "Size of proc_rlimit_control_wakeupmon"
3872    );
3873    assert_eq!(
3874        ::std::mem::align_of::<proc_rlimit_control_wakeupmon>(),
3875        4usize,
3876        "Alignment of proc_rlimit_control_wakeupmon"
3877    );
3878    assert_eq!(
3879        unsafe { ::std::ptr::addr_of!((*ptr).wm_flags) as usize - ptr as usize },
3880        0usize,
3881        "Offset of field: proc_rlimit_control_wakeupmon::wm_flags"
3882    );
3883    assert_eq!(
3884        unsafe { ::std::ptr::addr_of!((*ptr).wm_rate) as usize - ptr as usize },
3885        4usize,
3886        "Offset of field: proc_rlimit_control_wakeupmon::wm_rate"
3887    );
3888}
3889extern "C" {
3890    pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int;
3891}
3892extern "C" {
3893    pub fn getiopolicy_np(
3894        arg1: ::std::os::raw::c_int,
3895        arg2: ::std::os::raw::c_int,
3896    ) -> ::std::os::raw::c_int;
3897}
3898extern "C" {
3899    pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int;
3900}
3901extern "C" {
3902    pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int;
3903}
3904extern "C" {
3905    pub fn setpriority(
3906        arg1: ::std::os::raw::c_int,
3907        arg2: id_t,
3908        arg3: ::std::os::raw::c_int,
3909    ) -> ::std::os::raw::c_int;
3910}
3911extern "C" {
3912    pub fn setiopolicy_np(
3913        arg1: ::std::os::raw::c_int,
3914        arg2: ::std::os::raw::c_int,
3915        arg3: ::std::os::raw::c_int,
3916    ) -> ::std::os::raw::c_int;
3917}
3918extern "C" {
3919    pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int;
3920}
3921#[repr(C)]
3922#[derive(Copy, Clone)]
3923pub union wait {
3924    pub w_status: ::std::os::raw::c_int,
3925    pub w_T: wait__bindgen_ty_1,
3926    pub w_S: wait__bindgen_ty_2,
3927}
3928#[repr(C)]
3929#[repr(align(4))]
3930#[derive(Debug, Copy, Clone)]
3931pub struct wait__bindgen_ty_1 {
3932    pub _bitfield_align_1: [u16; 0],
3933    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3934}
3935#[test]
3936fn bindgen_test_layout_wait__bindgen_ty_1() {
3937    assert_eq!(::std::mem::size_of::<wait__bindgen_ty_1>(), 4usize, "Size of wait__bindgen_ty_1");
3938    assert_eq!(
3939        ::std::mem::align_of::<wait__bindgen_ty_1>(),
3940        4usize,
3941        "Alignment of wait__bindgen_ty_1"
3942    );
3943}
3944impl wait__bindgen_ty_1 {
3945    #[inline]
3946    pub fn w_Termsig(&self) -> ::std::os::raw::c_uint {
3947        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) }
3948    }
3949    #[inline]
3950    pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) {
3951        unsafe {
3952            let val: u32 = ::std::mem::transmute(val);
3953            self._bitfield_1.set(0usize, 7u8, val as u64)
3954        }
3955    }
3956    #[inline]
3957    pub unsafe fn w_Termsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
3958        unsafe {
3959            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3960                ::std::ptr::addr_of!((*this)._bitfield_1),
3961                0usize,
3962                7u8,
3963            ) as u32)
3964        }
3965    }
3966    #[inline]
3967    pub unsafe fn set_w_Termsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3968        unsafe {
3969            let val: u32 = ::std::mem::transmute(val);
3970            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3971                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3972                0usize,
3973                7u8,
3974                val as u64,
3975            )
3976        }
3977    }
3978    #[inline]
3979    pub fn w_Coredump(&self) -> ::std::os::raw::c_uint {
3980        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
3981    }
3982    #[inline]
3983    pub fn set_w_Coredump(&mut self, val: ::std::os::raw::c_uint) {
3984        unsafe {
3985            let val: u32 = ::std::mem::transmute(val);
3986            self._bitfield_1.set(7usize, 1u8, val as u64)
3987        }
3988    }
3989    #[inline]
3990    pub unsafe fn w_Coredump_raw(this: *const Self) -> ::std::os::raw::c_uint {
3991        unsafe {
3992            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3993                ::std::ptr::addr_of!((*this)._bitfield_1),
3994                7usize,
3995                1u8,
3996            ) as u32)
3997        }
3998    }
3999    #[inline]
4000    pub unsafe fn set_w_Coredump_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4001        unsafe {
4002            let val: u32 = ::std::mem::transmute(val);
4003            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4004                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4005                7usize,
4006                1u8,
4007                val as u64,
4008            )
4009        }
4010    }
4011    #[inline]
4012    pub fn w_Retcode(&self) -> ::std::os::raw::c_uint {
4013        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
4014    }
4015    #[inline]
4016    pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) {
4017        unsafe {
4018            let val: u32 = ::std::mem::transmute(val);
4019            self._bitfield_1.set(8usize, 8u8, val as u64)
4020        }
4021    }
4022    #[inline]
4023    pub unsafe fn w_Retcode_raw(this: *const Self) -> ::std::os::raw::c_uint {
4024        unsafe {
4025            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4026                ::std::ptr::addr_of!((*this)._bitfield_1),
4027                8usize,
4028                8u8,
4029            ) as u32)
4030        }
4031    }
4032    #[inline]
4033    pub unsafe fn set_w_Retcode_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4034        unsafe {
4035            let val: u32 = ::std::mem::transmute(val);
4036            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4037                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4038                8usize,
4039                8u8,
4040                val as u64,
4041            )
4042        }
4043    }
4044    #[inline]
4045    pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
4046        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
4047    }
4048    #[inline]
4049    pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
4050        unsafe {
4051            let val: u32 = ::std::mem::transmute(val);
4052            self._bitfield_1.set(16usize, 16u8, val as u64)
4053        }
4054    }
4055    #[inline]
4056    pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
4057        unsafe {
4058            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4059                ::std::ptr::addr_of!((*this)._bitfield_1),
4060                16usize,
4061                16u8,
4062            ) as u32)
4063        }
4064    }
4065    #[inline]
4066    pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4067        unsafe {
4068            let val: u32 = ::std::mem::transmute(val);
4069            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4070                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4071                16usize,
4072                16u8,
4073                val as u64,
4074            )
4075        }
4076    }
4077    #[inline]
4078    pub fn new_bitfield_1(
4079        w_Termsig: ::std::os::raw::c_uint,
4080        w_Coredump: ::std::os::raw::c_uint,
4081        w_Retcode: ::std::os::raw::c_uint,
4082        w_Filler: ::std::os::raw::c_uint,
4083    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
4084        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4085        __bindgen_bitfield_unit.set(0usize, 7u8, {
4086            let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) };
4087            w_Termsig as u64
4088        });
4089        __bindgen_bitfield_unit.set(7usize, 1u8, {
4090            let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) };
4091            w_Coredump as u64
4092        });
4093        __bindgen_bitfield_unit.set(8usize, 8u8, {
4094            let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) };
4095            w_Retcode as u64
4096        });
4097        __bindgen_bitfield_unit.set(16usize, 16u8, {
4098            let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
4099            w_Filler as u64
4100        });
4101        __bindgen_bitfield_unit
4102    }
4103}
4104#[repr(C)]
4105#[repr(align(4))]
4106#[derive(Debug, Copy, Clone)]
4107pub struct wait__bindgen_ty_2 {
4108    pub _bitfield_align_1: [u16; 0],
4109    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4110}
4111#[test]
4112fn bindgen_test_layout_wait__bindgen_ty_2() {
4113    assert_eq!(::std::mem::size_of::<wait__bindgen_ty_2>(), 4usize, "Size of wait__bindgen_ty_2");
4114    assert_eq!(
4115        ::std::mem::align_of::<wait__bindgen_ty_2>(),
4116        4usize,
4117        "Alignment of wait__bindgen_ty_2"
4118    );
4119}
4120impl wait__bindgen_ty_2 {
4121    #[inline]
4122    pub fn w_Stopval(&self) -> ::std::os::raw::c_uint {
4123        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
4124    }
4125    #[inline]
4126    pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) {
4127        unsafe {
4128            let val: u32 = ::std::mem::transmute(val);
4129            self._bitfield_1.set(0usize, 8u8, val as u64)
4130        }
4131    }
4132    #[inline]
4133    pub unsafe fn w_Stopval_raw(this: *const Self) -> ::std::os::raw::c_uint {
4134        unsafe {
4135            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4136                ::std::ptr::addr_of!((*this)._bitfield_1),
4137                0usize,
4138                8u8,
4139            ) as u32)
4140        }
4141    }
4142    #[inline]
4143    pub unsafe fn set_w_Stopval_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4144        unsafe {
4145            let val: u32 = ::std::mem::transmute(val);
4146            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4147                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4148                0usize,
4149                8u8,
4150                val as u64,
4151            )
4152        }
4153    }
4154    #[inline]
4155    pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint {
4156        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
4157    }
4158    #[inline]
4159    pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) {
4160        unsafe {
4161            let val: u32 = ::std::mem::transmute(val);
4162            self._bitfield_1.set(8usize, 8u8, val as u64)
4163        }
4164    }
4165    #[inline]
4166    pub unsafe fn w_Stopsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
4167        unsafe {
4168            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4169                ::std::ptr::addr_of!((*this)._bitfield_1),
4170                8usize,
4171                8u8,
4172            ) as u32)
4173        }
4174    }
4175    #[inline]
4176    pub unsafe fn set_w_Stopsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4177        unsafe {
4178            let val: u32 = ::std::mem::transmute(val);
4179            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4180                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4181                8usize,
4182                8u8,
4183                val as u64,
4184            )
4185        }
4186    }
4187    #[inline]
4188    pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
4189        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
4190    }
4191    #[inline]
4192    pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
4193        unsafe {
4194            let val: u32 = ::std::mem::transmute(val);
4195            self._bitfield_1.set(16usize, 16u8, val as u64)
4196        }
4197    }
4198    #[inline]
4199    pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
4200        unsafe {
4201            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4202                ::std::ptr::addr_of!((*this)._bitfield_1),
4203                16usize,
4204                16u8,
4205            ) as u32)
4206        }
4207    }
4208    #[inline]
4209    pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
4210        unsafe {
4211            let val: u32 = ::std::mem::transmute(val);
4212            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4213                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4214                16usize,
4215                16u8,
4216                val as u64,
4217            )
4218        }
4219    }
4220    #[inline]
4221    pub fn new_bitfield_1(
4222        w_Stopval: ::std::os::raw::c_uint,
4223        w_Stopsig: ::std::os::raw::c_uint,
4224        w_Filler: ::std::os::raw::c_uint,
4225    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
4226        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
4227        __bindgen_bitfield_unit.set(0usize, 8u8, {
4228            let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) };
4229            w_Stopval as u64
4230        });
4231        __bindgen_bitfield_unit.set(8usize, 8u8, {
4232            let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) };
4233            w_Stopsig as u64
4234        });
4235        __bindgen_bitfield_unit.set(16usize, 16u8, {
4236            let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
4237            w_Filler as u64
4238        });
4239        __bindgen_bitfield_unit
4240    }
4241}
4242#[test]
4243fn bindgen_test_layout_wait() {
4244    const UNINIT: ::std::mem::MaybeUninit<wait> = ::std::mem::MaybeUninit::uninit();
4245    let ptr = UNINIT.as_ptr();
4246    assert_eq!(::std::mem::size_of::<wait>(), 4usize, "Size of wait");
4247    assert_eq!(::std::mem::align_of::<wait>(), 4usize, "Alignment of wait");
4248    assert_eq!(
4249        unsafe { ::std::ptr::addr_of!((*ptr).w_status) as usize - ptr as usize },
4250        0usize,
4251        "Offset of field: wait::w_status"
4252    );
4253    assert_eq!(
4254        unsafe { ::std::ptr::addr_of!((*ptr).w_T) as usize - ptr as usize },
4255        0usize,
4256        "Offset of field: wait::w_T"
4257    );
4258    assert_eq!(
4259        unsafe { ::std::ptr::addr_of!((*ptr).w_S) as usize - ptr as usize },
4260        0usize,
4261        "Offset of field: wait::w_S"
4262    );
4263}
4264extern "C" {
4265    pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t;
4266}
4267extern "C" {
4268    pub fn waitpid(
4269        arg1: pid_t,
4270        arg2: *mut ::std::os::raw::c_int,
4271        arg3: ::std::os::raw::c_int,
4272    ) -> pid_t;
4273}
4274extern "C" {
4275    pub fn waitid(
4276        arg1: idtype_t,
4277        arg2: id_t,
4278        arg3: *mut siginfo_t,
4279        arg4: ::std::os::raw::c_int,
4280    ) -> ::std::os::raw::c_int;
4281}
4282extern "C" {
4283    pub fn wait3(
4284        arg1: *mut ::std::os::raw::c_int,
4285        arg2: ::std::os::raw::c_int,
4286        arg3: *mut rusage,
4287    ) -> pid_t;
4288}
4289extern "C" {
4290    pub fn wait4(
4291        arg1: pid_t,
4292        arg2: *mut ::std::os::raw::c_int,
4293        arg3: ::std::os::raw::c_int,
4294        arg4: *mut rusage,
4295    ) -> pid_t;
4296}
4297extern "C" {
4298    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
4299}
4300pub type ct_rune_t = __darwin_ct_rune_t;
4301pub type rune_t = __darwin_rune_t;
4302pub type wchar_t = __darwin_wchar_t;
4303#[repr(C)]
4304#[derive(Debug, Copy, Clone)]
4305pub struct div_t {
4306    pub quot: ::std::os::raw::c_int,
4307    pub rem: ::std::os::raw::c_int,
4308}
4309#[test]
4310fn bindgen_test_layout_div_t() {
4311    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
4312    let ptr = UNINIT.as_ptr();
4313    assert_eq!(::std::mem::size_of::<div_t>(), 8usize, "Size of div_t");
4314    assert_eq!(::std::mem::align_of::<div_t>(), 4usize, "Alignment of div_t");
4315    assert_eq!(
4316        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
4317        0usize,
4318        "Offset of field: div_t::quot"
4319    );
4320    assert_eq!(
4321        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
4322        4usize,
4323        "Offset of field: div_t::rem"
4324    );
4325}
4326#[repr(C)]
4327#[derive(Debug, Copy, Clone)]
4328pub struct ldiv_t {
4329    pub quot: ::std::os::raw::c_long,
4330    pub rem: ::std::os::raw::c_long,
4331}
4332#[test]
4333fn bindgen_test_layout_ldiv_t() {
4334    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
4335    let ptr = UNINIT.as_ptr();
4336    assert_eq!(::std::mem::size_of::<ldiv_t>(), 16usize, "Size of ldiv_t");
4337    assert_eq!(::std::mem::align_of::<ldiv_t>(), 8usize, "Alignment of ldiv_t");
4338    assert_eq!(
4339        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
4340        0usize,
4341        "Offset of field: ldiv_t::quot"
4342    );
4343    assert_eq!(
4344        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
4345        8usize,
4346        "Offset of field: ldiv_t::rem"
4347    );
4348}
4349#[repr(C)]
4350#[derive(Debug, Copy, Clone)]
4351pub struct lldiv_t {
4352    pub quot: ::std::os::raw::c_longlong,
4353    pub rem: ::std::os::raw::c_longlong,
4354}
4355#[test]
4356fn bindgen_test_layout_lldiv_t() {
4357    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
4358    let ptr = UNINIT.as_ptr();
4359    assert_eq!(::std::mem::size_of::<lldiv_t>(), 16usize, "Size of lldiv_t");
4360    assert_eq!(::std::mem::align_of::<lldiv_t>(), 8usize, "Alignment of lldiv_t");
4361    assert_eq!(
4362        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
4363        0usize,
4364        "Offset of field: lldiv_t::quot"
4365    );
4366    assert_eq!(
4367        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
4368        8usize,
4369        "Offset of field: lldiv_t::rem"
4370    );
4371}
4372extern "C" {
4373    pub static mut __mb_cur_max: ::std::os::raw::c_int;
4374}
4375pub type malloc_type_id_t = ::std::os::raw::c_ulonglong;
4376extern "C" {
4377    pub fn malloc_type_malloc(
4378        size: usize,
4379        type_id: malloc_type_id_t,
4380    ) -> *mut ::std::os::raw::c_void;
4381}
4382extern "C" {
4383    pub fn malloc_type_calloc(
4384        count: usize,
4385        size: usize,
4386        type_id: malloc_type_id_t,
4387    ) -> *mut ::std::os::raw::c_void;
4388}
4389extern "C" {
4390    pub fn malloc_type_free(ptr: *mut ::std::os::raw::c_void, type_id: malloc_type_id_t);
4391}
4392extern "C" {
4393    pub fn malloc_type_realloc(
4394        ptr: *mut ::std::os::raw::c_void,
4395        size: usize,
4396        type_id: malloc_type_id_t,
4397    ) -> *mut ::std::os::raw::c_void;
4398}
4399extern "C" {
4400    pub fn malloc_type_valloc(
4401        size: usize,
4402        type_id: malloc_type_id_t,
4403    ) -> *mut ::std::os::raw::c_void;
4404}
4405extern "C" {
4406    pub fn malloc_type_aligned_alloc(
4407        alignment: usize,
4408        size: usize,
4409        type_id: malloc_type_id_t,
4410    ) -> *mut ::std::os::raw::c_void;
4411}
4412extern "C" {
4413    pub fn malloc_type_posix_memalign(
4414        memptr: *mut *mut ::std::os::raw::c_void,
4415        alignment: usize,
4416        size: usize,
4417        type_id: malloc_type_id_t,
4418    ) -> ::std::os::raw::c_int;
4419}
4420#[repr(C)]
4421#[derive(Debug, Copy, Clone)]
4422pub struct _malloc_zone_t {
4423    _unused: [u8; 0],
4424}
4425pub type malloc_zone_t = _malloc_zone_t;
4426extern "C" {
4427    pub fn malloc_type_zone_malloc(
4428        zone: *mut malloc_zone_t,
4429        size: usize,
4430        type_id: malloc_type_id_t,
4431    ) -> *mut ::std::os::raw::c_void;
4432}
4433extern "C" {
4434    pub fn malloc_type_zone_calloc(
4435        zone: *mut malloc_zone_t,
4436        count: usize,
4437        size: usize,
4438        type_id: malloc_type_id_t,
4439    ) -> *mut ::std::os::raw::c_void;
4440}
4441extern "C" {
4442    pub fn malloc_type_zone_free(
4443        zone: *mut malloc_zone_t,
4444        ptr: *mut ::std::os::raw::c_void,
4445        type_id: malloc_type_id_t,
4446    );
4447}
4448extern "C" {
4449    pub fn malloc_type_zone_realloc(
4450        zone: *mut malloc_zone_t,
4451        ptr: *mut ::std::os::raw::c_void,
4452        size: usize,
4453        type_id: malloc_type_id_t,
4454    ) -> *mut ::std::os::raw::c_void;
4455}
4456extern "C" {
4457    pub fn malloc_type_zone_valloc(
4458        zone: *mut malloc_zone_t,
4459        size: usize,
4460        type_id: malloc_type_id_t,
4461    ) -> *mut ::std::os::raw::c_void;
4462}
4463extern "C" {
4464    pub fn malloc_type_zone_memalign(
4465        zone: *mut malloc_zone_t,
4466        alignment: usize,
4467        size: usize,
4468        type_id: malloc_type_id_t,
4469    ) -> *mut ::std::os::raw::c_void;
4470}
4471extern "C" {
4472    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
4473}
4474extern "C" {
4475    pub fn calloc(
4476        __count: ::std::os::raw::c_ulong,
4477        __size: ::std::os::raw::c_ulong,
4478    ) -> *mut ::std::os::raw::c_void;
4479}
4480extern "C" {
4481    pub fn free(arg1: *mut ::std::os::raw::c_void);
4482}
4483extern "C" {
4484    pub fn realloc(
4485        __ptr: *mut ::std::os::raw::c_void,
4486        __size: ::std::os::raw::c_ulong,
4487    ) -> *mut ::std::os::raw::c_void;
4488}
4489extern "C" {
4490    pub fn reallocf(
4491        __ptr: *mut ::std::os::raw::c_void,
4492        __size: usize,
4493    ) -> *mut ::std::os::raw::c_void;
4494}
4495extern "C" {
4496    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
4497}
4498extern "C" {
4499    pub fn aligned_alloc(
4500        __alignment: ::std::os::raw::c_ulong,
4501        __size: ::std::os::raw::c_ulong,
4502    ) -> *mut ::std::os::raw::c_void;
4503}
4504extern "C" {
4505    pub fn posix_memalign(
4506        __memptr: *mut *mut ::std::os::raw::c_void,
4507        __alignment: usize,
4508        __size: usize,
4509    ) -> ::std::os::raw::c_int;
4510}
4511extern "C" {
4512    pub fn abort() -> !;
4513}
4514extern "C" {
4515    pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4516}
4517extern "C" {
4518    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
4519}
4520extern "C" {
4521    pub fn at_quick_exit(
4522        arg1: ::std::option::Option<unsafe extern "C" fn()>,
4523    ) -> ::std::os::raw::c_int;
4524}
4525extern "C" {
4526    pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64;
4527}
4528extern "C" {
4529    pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4530}
4531extern "C" {
4532    pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
4533}
4534extern "C" {
4535    pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
4536}
4537extern "C" {
4538    pub fn bsearch(
4539        __key: *const ::std::os::raw::c_void,
4540        __base: *const ::std::os::raw::c_void,
4541        __nel: usize,
4542        __width: usize,
4543        __compar: ::std::option::Option<
4544            unsafe extern "C" fn(
4545                arg1: *const ::std::os::raw::c_void,
4546                arg2: *const ::std::os::raw::c_void,
4547            ) -> ::std::os::raw::c_int,
4548        >,
4549    ) -> *mut ::std::os::raw::c_void;
4550}
4551extern "C" {
4552    pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t;
4553}
4554extern "C" {
4555    pub fn exit(arg1: ::std::os::raw::c_int) -> !;
4556}
4557extern "C" {
4558    pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4559}
4560extern "C" {
4561    pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
4562}
4563extern "C" {
4564    pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t;
4565}
4566extern "C" {
4567    pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
4568}
4569extern "C" {
4570    pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t;
4571}
4572extern "C" {
4573    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
4574}
4575extern "C" {
4576    pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, __n: usize) -> usize;
4577}
4578extern "C" {
4579    pub fn mbtowc(
4580        arg1: *mut wchar_t,
4581        arg2: *const ::std::os::raw::c_char,
4582        __n: usize,
4583    ) -> ::std::os::raw::c_int;
4584}
4585extern "C" {
4586    pub fn qsort(
4587        __base: *mut ::std::os::raw::c_void,
4588        __nel: usize,
4589        __width: usize,
4590        __compar: ::std::option::Option<
4591            unsafe extern "C" fn(
4592                arg1: *const ::std::os::raw::c_void,
4593                arg2: *const ::std::os::raw::c_void,
4594            ) -> ::std::os::raw::c_int,
4595        >,
4596    );
4597}
4598extern "C" {
4599    pub fn quick_exit(arg1: ::std::os::raw::c_int) -> !;
4600}
4601extern "C" {
4602    pub fn rand() -> ::std::os::raw::c_int;
4603}
4604extern "C" {
4605    pub fn srand(arg1: ::std::os::raw::c_uint);
4606}
4607extern "C" {
4608    pub fn strtod(
4609        arg1: *const ::std::os::raw::c_char,
4610        arg2: *mut *mut ::std::os::raw::c_char,
4611    ) -> f64;
4612}
4613extern "C" {
4614    pub fn strtof(
4615        arg1: *const ::std::os::raw::c_char,
4616        arg2: *mut *mut ::std::os::raw::c_char,
4617    ) -> f32;
4618}
4619extern "C" {
4620    pub fn strtol(
4621        __str: *const ::std::os::raw::c_char,
4622        __endptr: *mut *mut ::std::os::raw::c_char,
4623        __base: ::std::os::raw::c_int,
4624    ) -> ::std::os::raw::c_long;
4625}
4626extern "C" {
4627    pub fn strtold(
4628        arg1: *const ::std::os::raw::c_char,
4629        arg2: *mut *mut ::std::os::raw::c_char,
4630    ) -> f64;
4631}
4632extern "C" {
4633    pub fn strtoll(
4634        __str: *const ::std::os::raw::c_char,
4635        __endptr: *mut *mut ::std::os::raw::c_char,
4636        __base: ::std::os::raw::c_int,
4637    ) -> ::std::os::raw::c_longlong;
4638}
4639extern "C" {
4640    pub fn strtoul(
4641        __str: *const ::std::os::raw::c_char,
4642        __endptr: *mut *mut ::std::os::raw::c_char,
4643        __base: ::std::os::raw::c_int,
4644    ) -> ::std::os::raw::c_ulong;
4645}
4646extern "C" {
4647    pub fn strtoull(
4648        __str: *const ::std::os::raw::c_char,
4649        __endptr: *mut *mut ::std::os::raw::c_char,
4650        __base: ::std::os::raw::c_int,
4651    ) -> ::std::os::raw::c_ulonglong;
4652}
4653extern "C" {
4654    pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4655}
4656extern "C" {
4657    pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, __n: usize) -> usize;
4658}
4659extern "C" {
4660    pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
4661}
4662extern "C" {
4663    pub fn _Exit(arg1: ::std::os::raw::c_int) -> !;
4664}
4665extern "C" {
4666    pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
4667}
4668extern "C" {
4669    pub fn drand48() -> f64;
4670}
4671extern "C" {
4672    pub fn ecvt(
4673        arg1: f64,
4674        arg2: ::std::os::raw::c_int,
4675        arg3: *mut ::std::os::raw::c_int,
4676        arg4: *mut ::std::os::raw::c_int,
4677    ) -> *mut ::std::os::raw::c_char;
4678}
4679extern "C" {
4680    pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64;
4681}
4682extern "C" {
4683    pub fn fcvt(
4684        arg1: f64,
4685        arg2: ::std::os::raw::c_int,
4686        arg3: *mut ::std::os::raw::c_int,
4687        arg4: *mut ::std::os::raw::c_int,
4688    ) -> *mut ::std::os::raw::c_char;
4689}
4690extern "C" {
4691    pub fn gcvt(
4692        arg1: f64,
4693        arg2: ::std::os::raw::c_int,
4694        arg3: *mut ::std::os::raw::c_char,
4695    ) -> *mut ::std::os::raw::c_char;
4696}
4697extern "C" {
4698    pub fn getsubopt(
4699        arg1: *mut *mut ::std::os::raw::c_char,
4700        arg2: *const *mut ::std::os::raw::c_char,
4701        arg3: *mut *mut ::std::os::raw::c_char,
4702    ) -> ::std::os::raw::c_int;
4703}
4704extern "C" {
4705    pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4706}
4707extern "C" {
4708    pub fn initstate(
4709        arg1: ::std::os::raw::c_uint,
4710        arg2: *mut ::std::os::raw::c_char,
4711        __size: usize,
4712    ) -> *mut ::std::os::raw::c_char;
4713}
4714extern "C" {
4715    pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
4716}
4717extern "C" {
4718    pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
4719}
4720extern "C" {
4721    pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort);
4722}
4723extern "C" {
4724    pub fn lrand48() -> ::std::os::raw::c_long;
4725}
4726extern "C" {
4727    pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4728}
4729extern "C" {
4730    pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4731}
4732extern "C" {
4733    pub fn mrand48() -> ::std::os::raw::c_long;
4734}
4735extern "C" {
4736    pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
4737}
4738extern "C" {
4739    pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4740}
4741extern "C" {
4742    pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4743}
4744extern "C" {
4745    pub fn ptsname_r(
4746        fildes: ::std::os::raw::c_int,
4747        buffer: *mut ::std::os::raw::c_char,
4748        buflen: usize,
4749    ) -> ::std::os::raw::c_int;
4750}
4751extern "C" {
4752    pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4753}
4754extern "C" {
4755    pub fn random() -> ::std::os::raw::c_long;
4756}
4757extern "C" {
4758    pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
4759}
4760extern "C" {
4761    #[link_name = "\u{1}_realpath$DARWIN_EXTSN"]
4762    pub fn realpath(
4763        arg1: *const ::std::os::raw::c_char,
4764        arg2: *mut ::std::os::raw::c_char,
4765    ) -> *mut ::std::os::raw::c_char;
4766}
4767extern "C" {
4768    pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
4769}
4770extern "C" {
4771    pub fn setenv(
4772        __name: *const ::std::os::raw::c_char,
4773        __value: *const ::std::os::raw::c_char,
4774        __overwrite: ::std::os::raw::c_int,
4775    ) -> ::std::os::raw::c_int;
4776}
4777extern "C" {
4778    pub fn setkey(arg1: *const ::std::os::raw::c_char);
4779}
4780extern "C" {
4781    pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4782}
4783extern "C" {
4784    pub fn srand48(arg1: ::std::os::raw::c_long);
4785}
4786extern "C" {
4787    pub fn srandom(arg1: ::std::os::raw::c_uint);
4788}
4789extern "C" {
4790    pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4791}
4792extern "C" {
4793    pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4794}
4795pub type dev_t = __darwin_dev_t;
4796pub type mode_t = __darwin_mode_t;
4797extern "C" {
4798    pub fn arc4random() -> u32;
4799}
4800extern "C" {
4801    pub fn arc4random_addrandom(
4802        arg1: *mut ::std::os::raw::c_uchar,
4803        __datlen: ::std::os::raw::c_int,
4804    );
4805}
4806extern "C" {
4807    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: usize);
4808}
4809extern "C" {
4810    pub fn arc4random_stir();
4811}
4812extern "C" {
4813    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
4814}
4815extern "C" {
4816    pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
4817}
4818extern "C" {
4819    pub fn bsearch_b(
4820        __key: *const ::std::os::raw::c_void,
4821        __base: *const ::std::os::raw::c_void,
4822        __nel: usize,
4823        __width: usize,
4824        __compar: *mut ::std::os::raw::c_void,
4825    ) -> *mut ::std::os::raw::c_void;
4826}
4827extern "C" {
4828    pub fn cgetcap(
4829        arg1: *mut ::std::os::raw::c_char,
4830        arg2: *const ::std::os::raw::c_char,
4831        arg3: ::std::os::raw::c_int,
4832    ) -> *mut ::std::os::raw::c_char;
4833}
4834extern "C" {
4835    pub fn cgetclose() -> ::std::os::raw::c_int;
4836}
4837extern "C" {
4838    pub fn cgetent(
4839        arg1: *mut *mut ::std::os::raw::c_char,
4840        arg2: *mut *mut ::std::os::raw::c_char,
4841        arg3: *const ::std::os::raw::c_char,
4842    ) -> ::std::os::raw::c_int;
4843}
4844extern "C" {
4845    pub fn cgetfirst(
4846        arg1: *mut *mut ::std::os::raw::c_char,
4847        arg2: *mut *mut ::std::os::raw::c_char,
4848    ) -> ::std::os::raw::c_int;
4849}
4850extern "C" {
4851    pub fn cgetmatch(
4852        arg1: *const ::std::os::raw::c_char,
4853        arg2: *const ::std::os::raw::c_char,
4854    ) -> ::std::os::raw::c_int;
4855}
4856extern "C" {
4857    pub fn cgetnext(
4858        arg1: *mut *mut ::std::os::raw::c_char,
4859        arg2: *mut *mut ::std::os::raw::c_char,
4860    ) -> ::std::os::raw::c_int;
4861}
4862extern "C" {
4863    pub fn cgetnum(
4864        arg1: *mut ::std::os::raw::c_char,
4865        arg2: *const ::std::os::raw::c_char,
4866        arg3: *mut ::std::os::raw::c_long,
4867    ) -> ::std::os::raw::c_int;
4868}
4869extern "C" {
4870    pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4871}
4872extern "C" {
4873    pub fn cgetstr(
4874        arg1: *mut ::std::os::raw::c_char,
4875        arg2: *const ::std::os::raw::c_char,
4876        arg3: *mut *mut ::std::os::raw::c_char,
4877    ) -> ::std::os::raw::c_int;
4878}
4879extern "C" {
4880    pub fn cgetustr(
4881        arg1: *mut ::std::os::raw::c_char,
4882        arg2: *const ::std::os::raw::c_char,
4883        arg3: *mut *mut ::std::os::raw::c_char,
4884    ) -> ::std::os::raw::c_int;
4885}
4886extern "C" {
4887    pub fn daemon(
4888        arg1: ::std::os::raw::c_int,
4889        arg2: ::std::os::raw::c_int,
4890    ) -> ::std::os::raw::c_int;
4891}
4892extern "C" {
4893    pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char;
4894}
4895extern "C" {
4896    pub fn devname_r(
4897        arg1: dev_t,
4898        arg2: mode_t,
4899        buf: *mut ::std::os::raw::c_char,
4900        len: ::std::os::raw::c_int,
4901    ) -> *mut ::std::os::raw::c_char;
4902}
4903extern "C" {
4904    pub fn getbsize(
4905        arg1: *mut ::std::os::raw::c_int,
4906        arg2: *mut ::std::os::raw::c_long,
4907    ) -> *mut ::std::os::raw::c_char;
4908}
4909extern "C" {
4910    pub fn getloadavg(arg1: *mut f64, __nelem: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4911}
4912extern "C" {
4913    pub fn getprogname() -> *const ::std::os::raw::c_char;
4914}
4915extern "C" {
4916    pub fn setprogname(arg1: *const ::std::os::raw::c_char);
4917}
4918extern "C" {
4919    pub fn heapsort(
4920        __base: *mut ::std::os::raw::c_void,
4921        __nel: usize,
4922        __width: usize,
4923        __compar: ::std::option::Option<
4924            unsafe extern "C" fn(
4925                arg1: *const ::std::os::raw::c_void,
4926                arg2: *const ::std::os::raw::c_void,
4927            ) -> ::std::os::raw::c_int,
4928        >,
4929    ) -> ::std::os::raw::c_int;
4930}
4931extern "C" {
4932    pub fn heapsort_b(
4933        __base: *mut ::std::os::raw::c_void,
4934        __nel: usize,
4935        __width: usize,
4936        __compar: *mut ::std::os::raw::c_void,
4937    ) -> ::std::os::raw::c_int;
4938}
4939extern "C" {
4940    pub fn mergesort(
4941        __base: *mut ::std::os::raw::c_void,
4942        __nel: usize,
4943        __width: usize,
4944        __compar: ::std::option::Option<
4945            unsafe extern "C" fn(
4946                arg1: *const ::std::os::raw::c_void,
4947                arg2: *const ::std::os::raw::c_void,
4948            ) -> ::std::os::raw::c_int,
4949        >,
4950    ) -> ::std::os::raw::c_int;
4951}
4952extern "C" {
4953    pub fn mergesort_b(
4954        __base: *mut ::std::os::raw::c_void,
4955        __nel: usize,
4956        __width: usize,
4957        __compar: *mut ::std::os::raw::c_void,
4958    ) -> ::std::os::raw::c_int;
4959}
4960extern "C" {
4961    pub fn psort(
4962        __base: *mut ::std::os::raw::c_void,
4963        __nel: usize,
4964        __width: usize,
4965        __compar: ::std::option::Option<
4966            unsafe extern "C" fn(
4967                arg1: *const ::std::os::raw::c_void,
4968                arg2: *const ::std::os::raw::c_void,
4969            ) -> ::std::os::raw::c_int,
4970        >,
4971    );
4972}
4973extern "C" {
4974    pub fn psort_b(
4975        __base: *mut ::std::os::raw::c_void,
4976        __nel: usize,
4977        __width: usize,
4978        __compar: *mut ::std::os::raw::c_void,
4979    );
4980}
4981extern "C" {
4982    pub fn psort_r(
4983        __base: *mut ::std::os::raw::c_void,
4984        __nel: usize,
4985        __width: usize,
4986        arg1: *mut ::std::os::raw::c_void,
4987        __compar: ::std::option::Option<
4988            unsafe extern "C" fn(
4989                arg1: *mut ::std::os::raw::c_void,
4990                arg2: *const ::std::os::raw::c_void,
4991                arg3: *const ::std::os::raw::c_void,
4992            ) -> ::std::os::raw::c_int,
4993        >,
4994    );
4995}
4996extern "C" {
4997    pub fn qsort_b(
4998        __base: *mut ::std::os::raw::c_void,
4999        __nel: usize,
5000        __width: usize,
5001        __compar: *mut ::std::os::raw::c_void,
5002    );
5003}
5004extern "C" {
5005    pub fn qsort_r(
5006        __base: *mut ::std::os::raw::c_void,
5007        __nel: usize,
5008        __width: usize,
5009        arg1: *mut ::std::os::raw::c_void,
5010        __compar: ::std::option::Option<
5011            unsafe extern "C" fn(
5012                arg1: *mut ::std::os::raw::c_void,
5013                arg2: *const ::std::os::raw::c_void,
5014                arg3: *const ::std::os::raw::c_void,
5015            ) -> ::std::os::raw::c_int,
5016        >,
5017    );
5018}
5019extern "C" {
5020    pub fn radixsort(
5021        __base: *mut *const ::std::os::raw::c_uchar,
5022        __nel: ::std::os::raw::c_int,
5023        __table: *const ::std::os::raw::c_uchar,
5024        __endbyte: ::std::os::raw::c_uint,
5025    ) -> ::std::os::raw::c_int;
5026}
5027extern "C" {
5028    pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5029}
5030extern "C" {
5031    pub fn sradixsort(
5032        __base: *mut *const ::std::os::raw::c_uchar,
5033        __nel: ::std::os::raw::c_int,
5034        __table: *const ::std::os::raw::c_uchar,
5035        __endbyte: ::std::os::raw::c_uint,
5036    ) -> ::std::os::raw::c_int;
5037}
5038extern "C" {
5039    pub fn sranddev();
5040}
5041extern "C" {
5042    pub fn srandomdev();
5043}
5044extern "C" {
5045    pub fn strtonum(
5046        __numstr: *const ::std::os::raw::c_char,
5047        __minval: ::std::os::raw::c_longlong,
5048        __maxval: ::std::os::raw::c_longlong,
5049        __errstrp: *mut *const ::std::os::raw::c_char,
5050    ) -> ::std::os::raw::c_longlong;
5051}
5052extern "C" {
5053    pub fn strtoq(
5054        __str: *const ::std::os::raw::c_char,
5055        __endptr: *mut *mut ::std::os::raw::c_char,
5056        __base: ::std::os::raw::c_int,
5057    ) -> ::std::os::raw::c_longlong;
5058}
5059extern "C" {
5060    pub fn strtouq(
5061        __str: *const ::std::os::raw::c_char,
5062        __endptr: *mut *mut ::std::os::raw::c_char,
5063        __base: ::std::os::raw::c_int,
5064    ) -> ::std::os::raw::c_ulonglong;
5065}
5066extern "C" {
5067    pub static mut suboptarg: *mut ::std::os::raw::c_char;
5068}
5069pub const DatumType_TRACT_DATUM_TYPE_BOOL: DatumType = 1;
5070pub const DatumType_TRACT_DATUM_TYPE_U8: DatumType = 17;
5071pub const DatumType_TRACT_DATUM_TYPE_U16: DatumType = 18;
5072pub const DatumType_TRACT_DATUM_TYPE_U32: DatumType = 20;
5073pub const DatumType_TRACT_DATUM_TYPE_U64: DatumType = 24;
5074pub const DatumType_TRACT_DATUM_TYPE_I8: DatumType = 33;
5075pub const DatumType_TRACT_DATUM_TYPE_I16: DatumType = 34;
5076pub const DatumType_TRACT_DATUM_TYPE_I32: DatumType = 36;
5077pub const DatumType_TRACT_DATUM_TYPE_I64: DatumType = 40;
5078pub const DatumType_TRACT_DATUM_TYPE_F16: DatumType = 50;
5079pub const DatumType_TRACT_DATUM_TYPE_F32: DatumType = 52;
5080pub const DatumType_TRACT_DATUM_TYPE_F64: DatumType = 56;
5081pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_I16: DatumType = 66;
5082pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_I32: DatumType = 68;
5083pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_I64: DatumType = 72;
5084pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_F16: DatumType = 82;
5085pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_F32: DatumType = 84;
5086pub const DatumType_TRACT_DATUM_TYPE_COMPLEX_F64: DatumType = 88;
5087pub type DatumType = ::std::os::raw::c_uint;
5088#[doc = " The function returned successfully"]
5089pub const TRACT_RESULT_TRACT_RESULT_OK: TRACT_RESULT = 0;
5090#[doc = " The function returned an error"]
5091pub const TRACT_RESULT_TRACT_RESULT_KO: TRACT_RESULT = 1;
5092#[doc = " Used as a return type of functions that can encounter errors.\n If the function encountered an error, you can retrieve it using the `tract_get_last_error`\n function"]
5093pub type TRACT_RESULT = ::std::os::raw::c_uint;
5094#[repr(C)]
5095#[derive(Debug, Copy, Clone)]
5096pub struct TractFact {
5097    _unused: [u8; 0],
5098}
5099#[repr(C)]
5100#[derive(Debug, Copy, Clone)]
5101pub struct TractInferenceFact {
5102    _unused: [u8; 0],
5103}
5104#[repr(C)]
5105#[derive(Debug, Copy, Clone)]
5106pub struct TractInferenceModel {
5107    _unused: [u8; 0],
5108}
5109#[repr(C)]
5110#[derive(Debug, Copy, Clone)]
5111pub struct TractModel {
5112    _unused: [u8; 0],
5113}
5114#[repr(C)]
5115#[derive(Debug, Copy, Clone)]
5116pub struct TractNnef {
5117    _unused: [u8; 0],
5118}
5119#[repr(C)]
5120#[derive(Debug, Copy, Clone)]
5121pub struct TractOnnx {
5122    _unused: [u8; 0],
5123}
5124#[repr(C)]
5125#[derive(Debug, Copy, Clone)]
5126pub struct TractRunnable {
5127    _unused: [u8; 0],
5128}
5129#[repr(C)]
5130#[derive(Debug, Copy, Clone)]
5131pub struct TractState {
5132    _unused: [u8; 0],
5133}
5134#[repr(C)]
5135#[derive(Debug, Copy, Clone)]
5136pub struct TractValue {
5137    _unused: [u8; 0],
5138}
5139extern "C" {
5140    #[doc = " Retrieve the last error that happened in this thread. A function encountered an error if\n its return type is of type `TRACT_RESULT` and it returned `TRACT_RESULT_KO`.\n\n # Return value\n  It returns a pointer to a null-terminated UTF-8 string that will contain the error description.\n  Rust side keeps ownership of the buffer. It will be valid as long as no other tract calls is\n  performed by the thread.\n  If no error occured, null is returned."]
5141    pub fn tract_get_last_error() -> *const ::std::os::raw::c_char;
5142}
5143extern "C" {
5144    #[doc = " Returns a pointer to a static buffer containing a null-terminated version string.\n\n The returned pointer must not be freed."]
5145    pub fn tract_version() -> *const ::std::os::raw::c_char;
5146}
5147extern "C" {
5148    #[doc = " Frees a string allocated by libtract."]
5149    pub fn tract_free_cstring(ptr: *mut ::std::os::raw::c_char);
5150}
5151extern "C" {
5152    #[doc = " Creates an instance of an NNEF framework and parser that can be used to load and dump NNEF models.\n\n The returned object should be destroyed with `tract_nnef_destroy` once the model\n has been loaded."]
5153    pub fn tract_nnef_create(nnef: *mut *mut TractNnef) -> TRACT_RESULT;
5154}
5155extern "C" {
5156    pub fn tract_nnef_transform_model(
5157        nnef: *const TractNnef,
5158        model: *mut TractModel,
5159        transform_spec: *const i8,
5160    ) -> TRACT_RESULT;
5161}
5162extern "C" {
5163    pub fn tract_nnef_enable_tract_core(nnef: *mut TractNnef) -> TRACT_RESULT;
5164}
5165extern "C" {
5166    pub fn tract_nnef_enable_tract_extra(nnef: *mut TractNnef) -> TRACT_RESULT;
5167}
5168extern "C" {
5169    pub fn tract_nnef_enable_tract_transformers(nnef: *mut TractNnef) -> TRACT_RESULT;
5170}
5171extern "C" {
5172    pub fn tract_nnef_enable_onnx(nnef: *mut TractNnef) -> TRACT_RESULT;
5173}
5174extern "C" {
5175    pub fn tract_nnef_enable_pulse(nnef: *mut TractNnef) -> TRACT_RESULT;
5176}
5177extern "C" {
5178    pub fn tract_nnef_enable_extended_identifier_syntax(nnef: *mut TractNnef) -> TRACT_RESULT;
5179}
5180extern "C" {
5181    #[doc = " Destroy the NNEF parser. It is safe to detroy the NNEF parser once the model had been loaded."]
5182    pub fn tract_nnef_destroy(nnef: *mut *mut TractNnef) -> TRACT_RESULT;
5183}
5184extern "C" {
5185    #[doc = " Parse and load an NNEF model as a tract TypedModel.\n\n `path` is a null-terminated utf-8 string pointer. It can be an archive (tar or tar.gz file) or a\n directory."]
5186    pub fn tract_nnef_model_for_path(
5187        nnef: *const TractNnef,
5188        path: *const ::std::os::raw::c_char,
5189        model: *mut *mut TractModel,
5190    ) -> TRACT_RESULT;
5191}
5192extern "C" {
5193    #[doc = " Dump a TypedModel as a NNEF tar file.\n\n `path` is a null-terminated utf-8 string pointer to the `.tar` file to be created.\n\n This function creates a plain, non-compressed, archive."]
5194    pub fn tract_nnef_write_model_to_tar(
5195        nnef: *const TractNnef,
5196        path: *const ::std::os::raw::c_char,
5197        model: *const TractModel,
5198    ) -> TRACT_RESULT;
5199}
5200extern "C" {
5201    #[doc = " Dump a TypedModel as a NNEF .tar.gz file.\n\n `path` is a null-terminated utf-8 string pointer to the `.tar.gz` file to be created."]
5202    pub fn tract_nnef_write_model_to_tar_gz(
5203        nnef: *const TractNnef,
5204        path: *const ::std::os::raw::c_char,
5205        model: *const TractModel,
5206    ) -> TRACT_RESULT;
5207}
5208extern "C" {
5209    #[doc = " Dump a TypedModel as a NNEF directory.\n\n `path` is a null-terminated utf-8 string pointer to the directory to be created.\n\n This function creates a plain, non-compressed, archive."]
5210    pub fn tract_nnef_write_model_to_dir(
5211        nnef: *const TractNnef,
5212        path: *const ::std::os::raw::c_char,
5213        model: *const TractModel,
5214    ) -> TRACT_RESULT;
5215}
5216extern "C" {
5217    #[doc = " Creates an instance of an ONNX framework and parser that can be used to load models.\n\n The returned object should be destroyed with `tract_nnef_destroy` once the model\n has been loaded."]
5218    pub fn tract_onnx_create(onnx: *mut *mut TractOnnx) -> TRACT_RESULT;
5219}
5220extern "C" {
5221    #[doc = " Destroy the NNEF parser. It is safe to detroy the NNEF parser once the model had been loaded."]
5222    pub fn tract_onnx_destroy(onnx: *mut *mut TractOnnx) -> TRACT_RESULT;
5223}
5224extern "C" {
5225    #[doc = " Parse and load an ONNX model as a tract InferenceModel.\n\n `path` is a null-terminated utf-8 string pointer. It must point to a `.onnx` model file."]
5226    pub fn tract_onnx_model_for_path(
5227        onnx: *const TractOnnx,
5228        path: *const ::std::os::raw::c_char,
5229        model: *mut *mut TractInferenceModel,
5230    ) -> TRACT_RESULT;
5231}
5232extern "C" {
5233    #[doc = " Query an InferenceModel input counts."]
5234    pub fn tract_inference_model_input_count(
5235        model: *const TractInferenceModel,
5236        inputs: *mut usize,
5237    ) -> TRACT_RESULT;
5238}
5239extern "C" {
5240    #[doc = " Query an InferenceModel output counts."]
5241    pub fn tract_inference_model_output_count(
5242        model: *const TractInferenceModel,
5243        outputs: *mut usize,
5244    ) -> TRACT_RESULT;
5245}
5246extern "C" {
5247    #[doc = " Query the name of a model input.\n\n The returned name must be freed by the caller using tract_free_cstring."]
5248    pub fn tract_inference_model_input_name(
5249        model: *const TractInferenceModel,
5250        input: usize,
5251        name: *mut *mut ::std::os::raw::c_char,
5252    ) -> TRACT_RESULT;
5253}
5254extern "C" {
5255    #[doc = " Query the name of a model output.\n\n The returned name must be freed by the caller using tract_free_cstring."]
5256    pub fn tract_inference_model_output_name(
5257        model: *const TractInferenceModel,
5258        output: usize,
5259        name: *mut *mut i8,
5260    ) -> TRACT_RESULT;
5261}
5262extern "C" {
5263    pub fn tract_inference_model_input_fact(
5264        model: *const TractInferenceModel,
5265        input_id: usize,
5266        fact: *mut *mut TractInferenceFact,
5267    ) -> TRACT_RESULT;
5268}
5269extern "C" {
5270    #[doc = " Set an input fact of an InferenceModel.\n\n The `fact` argument is only borrowed by this function, it still must be destroyed.\n `fact` can be set to NULL to erase the current output fact of the model."]
5271    pub fn tract_inference_model_set_input_fact(
5272        model: *mut TractInferenceModel,
5273        input_id: usize,
5274        fact: *const TractInferenceFact,
5275    ) -> TRACT_RESULT;
5276}
5277extern "C" {
5278    #[doc = " Change the model outputs nodes (by name).\n\n `names` is an array containing `len` pointers to null terminated strings."]
5279    pub fn tract_inference_model_set_output_names(
5280        model: *mut TractInferenceModel,
5281        len: usize,
5282        names: *const *const ::std::os::raw::c_char,
5283    ) -> TRACT_RESULT;
5284}
5285extern "C" {
5286    #[doc = " Query an output fact for an InferenceModel.\n\n The return model must be freed using `tract_inference_fact_destroy`."]
5287    pub fn tract_inference_model_output_fact(
5288        model: *const TractInferenceModel,
5289        output_id: usize,
5290        fact: *mut *mut TractInferenceFact,
5291    ) -> TRACT_RESULT;
5292}
5293extern "C" {
5294    #[doc = " Set an output fact of an InferenceModel.\n\n The `fact` argument is only borrowed by this function, it still must be destroyed.\n `fact` can be set to NULL to erase the current output fact of the model."]
5295    pub fn tract_inference_model_set_output_fact(
5296        model: *mut TractInferenceModel,
5297        output_id: usize,
5298        fact: *const TractInferenceFact,
5299    ) -> TRACT_RESULT;
5300}
5301extern "C" {
5302    #[doc = " Analyse an InferencedModel in-place."]
5303    pub fn tract_inference_model_analyse(model: *mut TractInferenceModel) -> TRACT_RESULT;
5304}
5305extern "C" {
5306    #[doc = " Convenience function to obtain an optimized TypedModel from an InferenceModel.\n\n This function takes ownership of the InferenceModel `model` whether it succeeds\n or not. `tract_inference_model_destroy` must not be used on `model`.\n\n On the other hand, caller will be owning the newly created `optimized` model."]
5307    pub fn tract_inference_model_into_optimized(
5308        model: *mut *mut TractInferenceModel,
5309        optimized: *mut *mut TractModel,
5310    ) -> TRACT_RESULT;
5311}
5312extern "C" {
5313    #[doc = " Transform a fully analysed InferenceModel to a TypedModel.\n\n This function takes ownership of the InferenceModel `model` whether it succeeds\n or not. `tract_inference_model_destroy` must not be used on `model`.\n\n On the other hand, caller will be owning the newly created `optimized` model."]
5314    pub fn tract_inference_model_into_typed(
5315        model: *mut *mut TractInferenceModel,
5316        typed: *mut *mut TractModel,
5317    ) -> TRACT_RESULT;
5318}
5319extern "C" {
5320    #[doc = " Destroy an InferenceModel."]
5321    pub fn tract_inference_model_destroy(model: *mut *mut TractInferenceModel) -> TRACT_RESULT;
5322}
5323extern "C" {
5324    #[doc = " Query an InferenceModel input counts."]
5325    pub fn tract_model_input_count(model: *const TractModel, inputs: *mut usize) -> TRACT_RESULT;
5326}
5327extern "C" {
5328    #[doc = " Query an InferenceModel output counts."]
5329    pub fn tract_model_output_count(model: *const TractModel, outputs: *mut usize) -> TRACT_RESULT;
5330}
5331extern "C" {
5332    #[doc = " Query the name of a model input.\n\n The returned name must be freed by the caller using tract_free_cstring."]
5333    pub fn tract_model_input_name(
5334        model: *const TractModel,
5335        input: usize,
5336        name: *mut *mut ::std::os::raw::c_char,
5337    ) -> TRACT_RESULT;
5338}
5339extern "C" {
5340    #[doc = " Query the input fact of a model.\n\n Thre returned fact must be freed with tract_fact_destroy."]
5341    pub fn tract_model_input_fact(
5342        model: *const TractModel,
5343        input_id: usize,
5344        fact: *mut *mut TractFact,
5345    ) -> TRACT_RESULT;
5346}
5347extern "C" {
5348    #[doc = " Query the name of a model output.\n\n The returned name must be freed by the caller using tract_free_cstring."]
5349    pub fn tract_model_output_name(
5350        model: *const TractModel,
5351        output: usize,
5352        name: *mut *mut ::std::os::raw::c_char,
5353    ) -> TRACT_RESULT;
5354}
5355extern "C" {
5356    #[doc = " Query the output fact of a model.\n\n Thre returned fact must be freed with tract_fact_destroy."]
5357    pub fn tract_model_output_fact(
5358        model: *const TractModel,
5359        input_id: usize,
5360        fact: *mut *mut TractFact,
5361    ) -> TRACT_RESULT;
5362}
5363extern "C" {
5364    #[doc = " Change the model outputs nodes (by name).\n\n `names` is an array containing `len` pointers to null terminated strings."]
5365    pub fn tract_model_set_output_names(
5366        model: *mut TractModel,
5367        len: usize,
5368        names: *const *const ::std::os::raw::c_char,
5369    ) -> TRACT_RESULT;
5370}
5371extern "C" {
5372    #[doc = " Give value one or more symbols used in the model.\n\n * symbols is an array of `nb_symbols` pointers to null-terminated UTF-8 string for the symbols\n   names to substitue\n * values is an array of `nb_symbols` integer values"]
5373    pub fn tract_model_concretize_symbols(
5374        model: *mut TractModel,
5375        nb_symbols: usize,
5376        symbols: *const *const i8,
5377        values: *const i64,
5378    ) -> TRACT_RESULT;
5379}
5380extern "C" {
5381    #[doc = " Pulsify the model\n\n * stream_symbol is the name of the stream symbol\n * pulse expression is a dim to use as the pulse size (like \"8\", \"P\" or \"3*p\")."]
5382    pub fn tract_model_pulse_simple(
5383        model: *mut *mut TractModel,
5384        stream_symbol: *const i8,
5385        pulse_expr: *const i8,
5386    ) -> TRACT_RESULT;
5387}
5388extern "C" {
5389    #[doc = " Apply a transform to the model."]
5390    pub fn tract_model_transform(model: *mut TractModel, transform: *const i8) -> TRACT_RESULT;
5391}
5392extern "C" {
5393    #[doc = " Declutter a TypedModel in-place."]
5394    pub fn tract_model_declutter(model: *mut TractModel) -> TRACT_RESULT;
5395}
5396extern "C" {
5397    #[doc = " Optimize a TypedModel in-place."]
5398    pub fn tract_model_optimize(model: *mut TractModel) -> TRACT_RESULT;
5399}
5400extern "C" {
5401    #[doc = " Perform a profile of the model using the provided inputs."]
5402    pub fn tract_model_profile_json(
5403        model: *mut TractModel,
5404        inputs: *mut *mut TractValue,
5405        json: *mut *mut i8,
5406    ) -> TRACT_RESULT;
5407}
5408extern "C" {
5409    #[doc = " Convert a TypedModel into a TypedRunnableModel.\n\n This function transfers ownership of the `model` argument to the newly-created `runnable` model.\n\n Runnable are reference counted. When done, it should be released with `tract_runnable_release`."]
5410    pub fn tract_model_into_runnable(
5411        model: *mut *mut TractModel,
5412        runnable: *mut *mut TractRunnable,
5413    ) -> TRACT_RESULT;
5414}
5415extern "C" {
5416    #[doc = " Query the number of properties in a model."]
5417    pub fn tract_model_property_count(model: *const TractModel, count: *mut usize) -> TRACT_RESULT;
5418}
5419extern "C" {
5420    #[doc = " Query the properties names of a model.\n\n The \"names\" array should be big enough to fit `tract_model_property_count` string pointers.\n\n Each name will have to be freed using `tract_free_cstring`."]
5421    pub fn tract_model_property_names(
5422        model: *const TractModel,
5423        names: *mut *mut i8,
5424    ) -> TRACT_RESULT;
5425}
5426extern "C" {
5427    #[doc = " Query a property value in a model."]
5428    pub fn tract_model_property(
5429        model: *const TractModel,
5430        name: *const i8,
5431        value: *mut *mut TractValue,
5432    ) -> TRACT_RESULT;
5433}
5434extern "C" {
5435    #[doc = " Destroy a TypedModel."]
5436    pub fn tract_model_destroy(model: *mut *mut TractModel) -> TRACT_RESULT;
5437}
5438extern "C" {
5439    #[doc = " Spawn a session state from a runnable model.\n\n This function does not take ownership of the `runnable` object, it can be used again to spawn\n other state instances. The runnable object is internally reference counted, it will be\n kept alive as long as any associated `State` exists (or as long as the `runnable` is not\n explicitely release with `tract_runnable_release`).\n\n `state` is a newly-created object. It should ultimately be detroyed with `tract_state_destroy`."]
5440    pub fn tract_runnable_spawn_state(
5441        runnable: *mut TractRunnable,
5442        state: *mut *mut TractState,
5443    ) -> TRACT_RESULT;
5444}
5445extern "C" {
5446    #[doc = " Convenience function to run a stateless model.\n\n `inputs` is a pointer to an pre-existing array of input TractValue. Its length *must* be equal\n to the number of inputs of the models. The function does not take ownership of the input\n values.\n `outputs` is a pointer to a pre-existing array of TractValue pointers that will be overwritten\n with pointers to outputs values. These values are under the responsiblity of the caller, it\n will have to release them with `tract_value_destroy`."]
5447    pub fn tract_runnable_run(
5448        runnable: *mut TractRunnable,
5449        inputs: *mut *mut TractValue,
5450        outputs: *mut *mut TractValue,
5451    ) -> TRACT_RESULT;
5452}
5453extern "C" {
5454    #[doc = " Query a Runnable input counts."]
5455    pub fn tract_runnable_input_count(
5456        model: *const TractRunnable,
5457        inputs: *mut usize,
5458    ) -> TRACT_RESULT;
5459}
5460extern "C" {
5461    #[doc = " Query an Runnable output counts."]
5462    pub fn tract_runnable_output_count(
5463        model: *const TractRunnable,
5464        outputs: *mut usize,
5465    ) -> TRACT_RESULT;
5466}
5467extern "C" {
5468    pub fn tract_runnable_release(runnable: *mut *mut TractRunnable) -> TRACT_RESULT;
5469}
5470extern "C" {
5471    #[doc = " Create a TractValue (aka tensor) from caller data and metadata.\n\n This call copies the data into tract space. All the pointers only need to be alive for the\n duration of the call.\n\n rank is the number of dimensions of the tensor (i.e. the length of the shape vector).\n\n The returned value must be destroyed by `tract_value_destroy`."]
5472    pub fn tract_value_from_bytes(
5473        datum_type: DatumType,
5474        rank: usize,
5475        shape: *const usize,
5476        data: *mut ::std::os::raw::c_void,
5477        value: *mut *mut TractValue,
5478    ) -> TRACT_RESULT;
5479}
5480extern "C" {
5481    #[doc = " Destroy a value."]
5482    pub fn tract_value_destroy(value: *mut *mut TractValue) -> TRACT_RESULT;
5483}
5484extern "C" {
5485    #[doc = " Inspect part of a value. Except `value`, all argument pointers can be null if only some specific bits\n are required."]
5486    pub fn tract_value_as_bytes(
5487        value: *mut TractValue,
5488        datum_type: *mut DatumType,
5489        rank: *mut usize,
5490        shape: *mut *const usize,
5491        data: *mut *const ::std::os::raw::c_void,
5492    ) -> TRACT_RESULT;
5493}
5494extern "C" {
5495    #[doc = " Run a turn on a model state\n\n `inputs` is a pointer to an pre-existing array of input TractValue. Its length *must* be equal\n to the number of inputs of the models. The function does not take ownership of the input\n values.\n `outputs` is a pointer to a pre-existing array of TractValue pointers that will be overwritten\n with pointers to outputs values. These values are under the responsiblity of the caller, it\n will have to release them with `tract_value_destroy`."]
5496    pub fn tract_state_run(
5497        state: *mut TractState,
5498        inputs: *mut *mut TractValue,
5499        outputs: *mut *mut TractValue,
5500    ) -> TRACT_RESULT;
5501}
5502extern "C" {
5503    #[doc = " Query a State input counts."]
5504    pub fn tract_state_input_count(state: *const TractState, inputs: *mut usize) -> TRACT_RESULT;
5505}
5506extern "C" {
5507    #[doc = " Query an State output counts."]
5508    pub fn tract_state_output_count(state: *const TractState, outputs: *mut usize) -> TRACT_RESULT;
5509}
5510extern "C" {
5511    pub fn tract_state_destroy(state: *mut *mut TractState) -> TRACT_RESULT;
5512}
5513extern "C" {
5514    #[doc = " Parse a fact specification string into an Fact.\n\n The returned fact must be free with `tract_fact_destroy`."]
5515    pub fn tract_fact_parse(
5516        model: *mut TractModel,
5517        spec: *const ::std::os::raw::c_char,
5518        fact: *mut *mut TractFact,
5519    ) -> TRACT_RESULT;
5520}
5521extern "C" {
5522    #[doc = " Write a fact as its specification string.\n\n The returned string must be freed by the caller using tract_free_cstring."]
5523    pub fn tract_fact_dump(
5524        fact: *const TractFact,
5525        spec: *mut *mut ::std::os::raw::c_char,
5526    ) -> TRACT_RESULT;
5527}
5528extern "C" {
5529    pub fn tract_fact_destroy(fact: *mut *mut TractFact) -> TRACT_RESULT;
5530}
5531extern "C" {
5532    #[doc = " Parse a fact specification string into an InferenceFact.\n\n The returned fact must be free with `tract_inference_fact_destroy`."]
5533    pub fn tract_inference_fact_parse(
5534        model: *mut TractInferenceModel,
5535        spec: *const ::std::os::raw::c_char,
5536        fact: *mut *mut TractInferenceFact,
5537    ) -> TRACT_RESULT;
5538}
5539extern "C" {
5540    #[doc = " Creates an empty inference fact.\n\n The returned fact must be freed by the caller using tract_inference_fact_destroy"]
5541    pub fn tract_inference_fact_empty(fact: *mut *mut TractInferenceFact) -> TRACT_RESULT;
5542}
5543extern "C" {
5544    #[doc = " Write an inference fact as its specification string.\n\n The returned string must be freed by the caller using tract_free_cstring."]
5545    pub fn tract_inference_fact_dump(
5546        fact: *const TractInferenceFact,
5547        spec: *mut *mut ::std::os::raw::c_char,
5548    ) -> TRACT_RESULT;
5549}
5550extern "C" {
5551    #[doc = " Destroy a fact."]
5552    pub fn tract_inference_fact_destroy(fact: *mut *mut TractInferenceFact) -> TRACT_RESULT;
5553}
5554pub type __builtin_va_list = *mut ::std::os::raw::c_char;
5555pub type __uint128_t = u128;