libcwiid_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.63.0 */
2
3#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7    #[inline]
8    pub const fn new() -> Self {
9        __IncompleteArrayField(::std::marker::PhantomData, [])
10    }
11    #[inline]
12    pub fn as_ptr(&self) -> *const T {
13        self as *const _ as *const T
14    }
15    #[inline]
16    pub fn as_mut_ptr(&mut self) -> *mut T {
17        self as *mut _ as *mut T
18    }
19    // #[inline]
20    // pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21    //     ::std::slice::from_raw_parts(self.as_ptr(), len)
22    // }
23    // #[inline]
24    // pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25    //     ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26    // }
27}
28impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
29    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
30        fmt.write_str("__IncompleteArrayField")
31    }
32}
33pub const __GNUC_VA_LIST: u32 = 1;
34pub const _STDINT_H: u32 = 1;
35pub const _FEATURES_H: u32 = 1;
36pub const _DEFAULT_SOURCE: u32 = 1;
37pub const __GLIBC_USE_ISOC2X: u32 = 0;
38pub const __USE_ISOC11: u32 = 1;
39pub const __USE_ISOC99: u32 = 1;
40pub const __USE_ISOC95: u32 = 1;
41pub const __USE_POSIX_IMPLICITLY: u32 = 1;
42pub const _POSIX_SOURCE: u32 = 1;
43pub const _POSIX_C_SOURCE: u32 = 200809;
44pub const __USE_POSIX: u32 = 1;
45pub const __USE_POSIX2: u32 = 1;
46pub const __USE_POSIX199309: u32 = 1;
47pub const __USE_POSIX199506: u32 = 1;
48pub const __USE_XOPEN2K: u32 = 1;
49pub const __USE_XOPEN2K8: u32 = 1;
50pub const _ATFILE_SOURCE: u32 = 1;
51pub const __USE_MISC: u32 = 1;
52pub const __USE_ATFILE: u32 = 1;
53pub const __USE_FORTIFY_LEVEL: u32 = 0;
54pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
55pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
56pub const _STDC_PREDEF_H: u32 = 1;
57pub const __STDC_IEC_559__: u32 = 1;
58pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
59pub const __STDC_ISO_10646__: u32 = 201706;
60pub const __GNU_LIBRARY__: u32 = 6;
61pub const __GLIBC__: u32 = 2;
62pub const __GLIBC_MINOR__: u32 = 31;
63pub const _SYS_CDEFS_H: u32 = 1;
64pub const __glibc_c99_flexarr_available: u32 = 1;
65pub const __WORDSIZE: u32 = 64;
66pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
67pub const __SYSCALL_WORDSIZE: u32 = 64;
68pub const __LONG_DOUBLE_USES_FLOAT128: u32 = 0;
69pub const __HAVE_GENERIC_SELECTION: u32 = 1;
70pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
71pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
72pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
73pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
74pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
75pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
76pub const _BITS_TYPES_H: u32 = 1;
77pub const __TIMESIZE: u32 = 64;
78pub const _BITS_TYPESIZES_H: u32 = 1;
79pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
80pub const __INO_T_MATCHES_INO64_T: u32 = 1;
81pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
82pub const __STATFS_MATCHES_STATFS64: u32 = 1;
83pub const __FD_SETSIZE: u32 = 1024;
84pub const _BITS_TIME64_H: u32 = 1;
85pub const _BITS_WCHAR_H: u32 = 1;
86pub const _BITS_STDINT_INTN_H: u32 = 1;
87pub const _BITS_STDINT_UINTN_H: u32 = 1;
88pub const INT8_MIN: i32 = -128;
89pub const INT16_MIN: i32 = -32768;
90pub const INT32_MIN: i32 = -2147483648;
91pub const INT8_MAX: u32 = 127;
92pub const INT16_MAX: u32 = 32767;
93pub const INT32_MAX: u32 = 2147483647;
94pub const UINT8_MAX: u32 = 255;
95pub const UINT16_MAX: u32 = 65535;
96pub const UINT32_MAX: u32 = 4294967295;
97pub const INT_LEAST8_MIN: i32 = -128;
98pub const INT_LEAST16_MIN: i32 = -32768;
99pub const INT_LEAST32_MIN: i32 = -2147483648;
100pub const INT_LEAST8_MAX: u32 = 127;
101pub const INT_LEAST16_MAX: u32 = 32767;
102pub const INT_LEAST32_MAX: u32 = 2147483647;
103pub const UINT_LEAST8_MAX: u32 = 255;
104pub const UINT_LEAST16_MAX: u32 = 65535;
105pub const UINT_LEAST32_MAX: u32 = 4294967295;
106pub const INT_FAST8_MIN: i32 = -128;
107pub const INT_FAST16_MIN: i64 = -9223372036854775808;
108pub const INT_FAST32_MIN: i64 = -9223372036854775808;
109pub const INT_FAST8_MAX: u32 = 127;
110pub const INT_FAST16_MAX: u64 = 9223372036854775807;
111pub const INT_FAST32_MAX: u64 = 9223372036854775807;
112pub const UINT_FAST8_MAX: u32 = 255;
113pub const UINT_FAST16_MAX: i32 = -1;
114pub const UINT_FAST32_MAX: i32 = -1;
115pub const INTPTR_MIN: i64 = -9223372036854775808;
116pub const INTPTR_MAX: u64 = 9223372036854775807;
117pub const UINTPTR_MAX: i32 = -1;
118pub const PTRDIFF_MIN: i64 = -9223372036854775808;
119pub const PTRDIFF_MAX: u64 = 9223372036854775807;
120pub const SIG_ATOMIC_MIN: i32 = -2147483648;
121pub const SIG_ATOMIC_MAX: u32 = 2147483647;
122pub const SIZE_MAX: i32 = -1;
123pub const WINT_MIN: u32 = 0;
124pub const WINT_MAX: u32 = 4294967295;
125pub const _TIME_H: u32 = 1;
126pub const _BITS_TIME_H: u32 = 1;
127pub const CLOCK_REALTIME: u32 = 0;
128pub const CLOCK_MONOTONIC: u32 = 1;
129pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
130pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
131pub const CLOCK_MONOTONIC_RAW: u32 = 4;
132pub const CLOCK_REALTIME_COARSE: u32 = 5;
133pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
134pub const CLOCK_BOOTTIME: u32 = 7;
135pub const CLOCK_REALTIME_ALARM: u32 = 8;
136pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
137pub const CLOCK_TAI: u32 = 11;
138pub const TIMER_ABSTIME: u32 = 1;
139pub const __clock_t_defined: u32 = 1;
140pub const __time_t_defined: u32 = 1;
141pub const __struct_tm_defined: u32 = 1;
142pub const _STRUCT_TIMESPEC: u32 = 1;
143pub const _BITS_ENDIAN_H: u32 = 1;
144pub const __LITTLE_ENDIAN: u32 = 1234;
145pub const __BIG_ENDIAN: u32 = 4321;
146pub const __PDP_ENDIAN: u32 = 3412;
147pub const _BITS_ENDIANNESS_H: u32 = 1;
148pub const __BYTE_ORDER: u32 = 1234;
149pub const __FLOAT_WORD_ORDER: u32 = 1234;
150pub const __clockid_t_defined: u32 = 1;
151pub const __timer_t_defined: u32 = 1;
152pub const __itimerspec_defined: u32 = 1;
153pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
154pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
155pub const TIME_UTC: u32 = 1;
156pub const _STDIO_H: u32 = 1;
157pub const _____fpos_t_defined: u32 = 1;
158pub const ____mbstate_t_defined: u32 = 1;
159pub const _____fpos64_t_defined: u32 = 1;
160pub const ____FILE_defined: u32 = 1;
161pub const __FILE_defined: u32 = 1;
162pub const __struct_FILE_defined: u32 = 1;
163pub const _IO_EOF_SEEN: u32 = 16;
164pub const _IO_ERR_SEEN: u32 = 32;
165pub const _IO_USER_LOCK: u32 = 32768;
166pub const _IOFBF: u32 = 0;
167pub const _IOLBF: u32 = 1;
168pub const _IONBF: u32 = 2;
169pub const BUFSIZ: u32 = 8192;
170pub const EOF: i32 = -1;
171pub const SEEK_SET: u32 = 0;
172pub const SEEK_CUR: u32 = 1;
173pub const SEEK_END: u32 = 2;
174pub const P_tmpdir: &[u8; 5usize] = b"/tmp\0";
175pub const _BITS_STDIO_LIM_H: u32 = 1;
176pub const L_tmpnam: u32 = 20;
177pub const TMP_MAX: u32 = 238328;
178pub const FILENAME_MAX: u32 = 4096;
179pub const L_ctermid: u32 = 9;
180pub const FOPEN_MAX: u32 = 16;
181pub const _STRING_H: u32 = 1;
182pub const _STRINGS_H: u32 = 1;
183pub const _ENDIAN_H: u32 = 1;
184pub const LITTLE_ENDIAN: u32 = 1234;
185pub const BIG_ENDIAN: u32 = 4321;
186pub const PDP_ENDIAN: u32 = 3412;
187pub const BYTE_ORDER: u32 = 1234;
188pub const _BITS_BYTESWAP_H: u32 = 1;
189pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
190pub const _BYTESWAP_H: u32 = 1;
191pub const _NETINET_IN_H: u32 = 1;
192pub const _SYS_SOCKET_H: u32 = 1;
193pub const __iovec_defined: u32 = 1;
194pub const _SYS_TYPES_H: u32 = 1;
195pub const __BIT_TYPES_DEFINED__: u32 = 1;
196pub const _SYS_SELECT_H: u32 = 1;
197pub const __FD_ZERO_STOS: &[u8; 6usize] = b"stosq\0";
198pub const __sigset_t_defined: u32 = 1;
199pub const __timeval_defined: u32 = 1;
200pub const FD_SETSIZE: u32 = 1024;
201pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
202pub const _THREAD_SHARED_TYPES_H: u32 = 1;
203pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
204pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
205pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
206pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
207pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
208pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
209pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
210pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
211pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
212pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
213pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
214pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
215pub const __have_pthread_attr_t: u32 = 1;
216pub const PF_UNSPEC: u32 = 0;
217pub const PF_LOCAL: u32 = 1;
218pub const PF_UNIX: u32 = 1;
219pub const PF_FILE: u32 = 1;
220pub const PF_INET: u32 = 2;
221pub const PF_AX25: u32 = 3;
222pub const PF_IPX: u32 = 4;
223pub const PF_APPLETALK: u32 = 5;
224pub const PF_NETROM: u32 = 6;
225pub const PF_BRIDGE: u32 = 7;
226pub const PF_ATMPVC: u32 = 8;
227pub const PF_X25: u32 = 9;
228pub const PF_INET6: u32 = 10;
229pub const PF_ROSE: u32 = 11;
230pub const PF_DECnet: u32 = 12;
231pub const PF_NETBEUI: u32 = 13;
232pub const PF_SECURITY: u32 = 14;
233pub const PF_KEY: u32 = 15;
234pub const PF_NETLINK: u32 = 16;
235pub const PF_ROUTE: u32 = 16;
236pub const PF_PACKET: u32 = 17;
237pub const PF_ASH: u32 = 18;
238pub const PF_ECONET: u32 = 19;
239pub const PF_ATMSVC: u32 = 20;
240pub const PF_RDS: u32 = 21;
241pub const PF_SNA: u32 = 22;
242pub const PF_IRDA: u32 = 23;
243pub const PF_PPPOX: u32 = 24;
244pub const PF_WANPIPE: u32 = 25;
245pub const PF_LLC: u32 = 26;
246pub const PF_IB: u32 = 27;
247pub const PF_MPLS: u32 = 28;
248pub const PF_CAN: u32 = 29;
249pub const PF_TIPC: u32 = 30;
250pub const PF_BLUETOOTH: u32 = 31;
251pub const PF_IUCV: u32 = 32;
252pub const PF_RXRPC: u32 = 33;
253pub const PF_ISDN: u32 = 34;
254pub const PF_PHONET: u32 = 35;
255pub const PF_IEEE802154: u32 = 36;
256pub const PF_CAIF: u32 = 37;
257pub const PF_ALG: u32 = 38;
258pub const PF_NFC: u32 = 39;
259pub const PF_VSOCK: u32 = 40;
260pub const PF_KCM: u32 = 41;
261pub const PF_QIPCRTR: u32 = 42;
262pub const PF_SMC: u32 = 43;
263pub const PF_XDP: u32 = 44;
264pub const PF_MAX: u32 = 45;
265pub const AF_UNSPEC: u32 = 0;
266pub const AF_LOCAL: u32 = 1;
267pub const AF_UNIX: u32 = 1;
268pub const AF_FILE: u32 = 1;
269pub const AF_INET: u32 = 2;
270pub const AF_AX25: u32 = 3;
271pub const AF_IPX: u32 = 4;
272pub const AF_APPLETALK: u32 = 5;
273pub const AF_NETROM: u32 = 6;
274pub const AF_BRIDGE: u32 = 7;
275pub const AF_ATMPVC: u32 = 8;
276pub const AF_X25: u32 = 9;
277pub const AF_INET6: u32 = 10;
278pub const AF_ROSE: u32 = 11;
279pub const AF_DECnet: u32 = 12;
280pub const AF_NETBEUI: u32 = 13;
281pub const AF_SECURITY: u32 = 14;
282pub const AF_KEY: u32 = 15;
283pub const AF_NETLINK: u32 = 16;
284pub const AF_ROUTE: u32 = 16;
285pub const AF_PACKET: u32 = 17;
286pub const AF_ASH: u32 = 18;
287pub const AF_ECONET: u32 = 19;
288pub const AF_ATMSVC: u32 = 20;
289pub const AF_RDS: u32 = 21;
290pub const AF_SNA: u32 = 22;
291pub const AF_IRDA: u32 = 23;
292pub const AF_PPPOX: u32 = 24;
293pub const AF_WANPIPE: u32 = 25;
294pub const AF_LLC: u32 = 26;
295pub const AF_IB: u32 = 27;
296pub const AF_MPLS: u32 = 28;
297pub const AF_CAN: u32 = 29;
298pub const AF_TIPC: u32 = 30;
299pub const AF_BLUETOOTH: u32 = 31;
300pub const AF_IUCV: u32 = 32;
301pub const AF_RXRPC: u32 = 33;
302pub const AF_ISDN: u32 = 34;
303pub const AF_PHONET: u32 = 35;
304pub const AF_IEEE802154: u32 = 36;
305pub const AF_CAIF: u32 = 37;
306pub const AF_ALG: u32 = 38;
307pub const AF_NFC: u32 = 39;
308pub const AF_VSOCK: u32 = 40;
309pub const AF_KCM: u32 = 41;
310pub const AF_QIPCRTR: u32 = 42;
311pub const AF_SMC: u32 = 43;
312pub const AF_XDP: u32 = 44;
313pub const AF_MAX: u32 = 45;
314pub const SOL_RAW: u32 = 255;
315pub const SOL_DECNET: u32 = 261;
316pub const SOL_X25: u32 = 262;
317pub const SOL_PACKET: u32 = 263;
318pub const SOL_ATM: u32 = 264;
319pub const SOL_AAL: u32 = 265;
320pub const SOL_IRDA: u32 = 266;
321pub const SOL_NETBEUI: u32 = 267;
322pub const SOL_LLC: u32 = 268;
323pub const SOL_DCCP: u32 = 269;
324pub const SOL_NETLINK: u32 = 270;
325pub const SOL_TIPC: u32 = 271;
326pub const SOL_RXRPC: u32 = 272;
327pub const SOL_PPPOL2TP: u32 = 273;
328pub const SOL_BLUETOOTH: u32 = 274;
329pub const SOL_PNPIPE: u32 = 275;
330pub const SOL_RDS: u32 = 276;
331pub const SOL_IUCV: u32 = 277;
332pub const SOL_CAIF: u32 = 278;
333pub const SOL_ALG: u32 = 279;
334pub const SOL_NFC: u32 = 280;
335pub const SOL_KCM: u32 = 281;
336pub const SOL_TLS: u32 = 282;
337pub const SOL_XDP: u32 = 283;
338pub const SOMAXCONN: u32 = 4096;
339pub const _BITS_SOCKADDR_H: u32 = 1;
340pub const _SS_SIZE: u32 = 128;
341pub const __BITS_PER_LONG: u32 = 64;
342pub const FIOSETOWN: u32 = 35073;
343pub const SIOCSPGRP: u32 = 35074;
344pub const FIOGETOWN: u32 = 35075;
345pub const SIOCGPGRP: u32 = 35076;
346pub const SIOCATMARK: u32 = 35077;
347pub const SIOCGSTAMP_OLD: u32 = 35078;
348pub const SIOCGSTAMPNS_OLD: u32 = 35079;
349pub const SOL_SOCKET: u32 = 1;
350pub const SO_DEBUG: u32 = 1;
351pub const SO_REUSEADDR: u32 = 2;
352pub const SO_TYPE: u32 = 3;
353pub const SO_ERROR: u32 = 4;
354pub const SO_DONTROUTE: u32 = 5;
355pub const SO_BROADCAST: u32 = 6;
356pub const SO_SNDBUF: u32 = 7;
357pub const SO_RCVBUF: u32 = 8;
358pub const SO_SNDBUFFORCE: u32 = 32;
359pub const SO_RCVBUFFORCE: u32 = 33;
360pub const SO_KEEPALIVE: u32 = 9;
361pub const SO_OOBINLINE: u32 = 10;
362pub const SO_NO_CHECK: u32 = 11;
363pub const SO_PRIORITY: u32 = 12;
364pub const SO_LINGER: u32 = 13;
365pub const SO_BSDCOMPAT: u32 = 14;
366pub const SO_REUSEPORT: u32 = 15;
367pub const SO_PASSCRED: u32 = 16;
368pub const SO_PEERCRED: u32 = 17;
369pub const SO_RCVLOWAT: u32 = 18;
370pub const SO_SNDLOWAT: u32 = 19;
371pub const SO_RCVTIMEO_OLD: u32 = 20;
372pub const SO_SNDTIMEO_OLD: u32 = 21;
373pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
374pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
375pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
376pub const SO_BINDTODEVICE: u32 = 25;
377pub const SO_ATTACH_FILTER: u32 = 26;
378pub const SO_DETACH_FILTER: u32 = 27;
379pub const SO_GET_FILTER: u32 = 26;
380pub const SO_PEERNAME: u32 = 28;
381pub const SO_ACCEPTCONN: u32 = 30;
382pub const SO_PEERSEC: u32 = 31;
383pub const SO_PASSSEC: u32 = 34;
384pub const SO_MARK: u32 = 36;
385pub const SO_PROTOCOL: u32 = 38;
386pub const SO_DOMAIN: u32 = 39;
387pub const SO_RXQ_OVFL: u32 = 40;
388pub const SO_WIFI_STATUS: u32 = 41;
389pub const SCM_WIFI_STATUS: u32 = 41;
390pub const SO_PEEK_OFF: u32 = 42;
391pub const SO_NOFCS: u32 = 43;
392pub const SO_LOCK_FILTER: u32 = 44;
393pub const SO_SELECT_ERR_QUEUE: u32 = 45;
394pub const SO_BUSY_POLL: u32 = 46;
395pub const SO_MAX_PACING_RATE: u32 = 47;
396pub const SO_BPF_EXTENSIONS: u32 = 48;
397pub const SO_INCOMING_CPU: u32 = 49;
398pub const SO_ATTACH_BPF: u32 = 50;
399pub const SO_DETACH_BPF: u32 = 27;
400pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
401pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
402pub const SO_CNX_ADVICE: u32 = 53;
403pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
404pub const SO_MEMINFO: u32 = 55;
405pub const SO_INCOMING_NAPI_ID: u32 = 56;
406pub const SO_COOKIE: u32 = 57;
407pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
408pub const SO_PEERGROUPS: u32 = 59;
409pub const SO_ZEROCOPY: u32 = 60;
410pub const SO_TXTIME: u32 = 61;
411pub const SCM_TXTIME: u32 = 61;
412pub const SO_BINDTOIFINDEX: u32 = 62;
413pub const SO_TIMESTAMP_OLD: u32 = 29;
414pub const SO_TIMESTAMPNS_OLD: u32 = 35;
415pub const SO_TIMESTAMPING_OLD: u32 = 37;
416pub const SO_TIMESTAMP_NEW: u32 = 63;
417pub const SO_TIMESTAMPNS_NEW: u32 = 64;
418pub const SO_TIMESTAMPING_NEW: u32 = 65;
419pub const SO_RCVTIMEO_NEW: u32 = 66;
420pub const SO_SNDTIMEO_NEW: u32 = 67;
421pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
422pub const SO_TIMESTAMP: u32 = 29;
423pub const SO_TIMESTAMPNS: u32 = 35;
424pub const SO_TIMESTAMPING: u32 = 37;
425pub const SO_RCVTIMEO: u32 = 20;
426pub const SO_SNDTIMEO: u32 = 21;
427pub const SCM_TIMESTAMP: u32 = 29;
428pub const SCM_TIMESTAMPNS: u32 = 35;
429pub const SCM_TIMESTAMPING: u32 = 37;
430pub const __osockaddr_defined: u32 = 1;
431pub const __USE_KERNEL_IPV6_DEFS: u32 = 0;
432pub const IP_OPTIONS: u32 = 4;
433pub const IP_HDRINCL: u32 = 3;
434pub const IP_TOS: u32 = 1;
435pub const IP_TTL: u32 = 2;
436pub const IP_RECVOPTS: u32 = 6;
437pub const IP_RETOPTS: u32 = 7;
438pub const IP_MULTICAST_IF: u32 = 32;
439pub const IP_MULTICAST_TTL: u32 = 33;
440pub const IP_MULTICAST_LOOP: u32 = 34;
441pub const IP_ADD_MEMBERSHIP: u32 = 35;
442pub const IP_DROP_MEMBERSHIP: u32 = 36;
443pub const IP_UNBLOCK_SOURCE: u32 = 37;
444pub const IP_BLOCK_SOURCE: u32 = 38;
445pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 39;
446pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 40;
447pub const IP_MSFILTER: u32 = 41;
448pub const MCAST_JOIN_GROUP: u32 = 42;
449pub const MCAST_BLOCK_SOURCE: u32 = 43;
450pub const MCAST_UNBLOCK_SOURCE: u32 = 44;
451pub const MCAST_LEAVE_GROUP: u32 = 45;
452pub const MCAST_JOIN_SOURCE_GROUP: u32 = 46;
453pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 47;
454pub const MCAST_MSFILTER: u32 = 48;
455pub const IP_MULTICAST_ALL: u32 = 49;
456pub const IP_UNICAST_IF: u32 = 50;
457pub const MCAST_EXCLUDE: u32 = 0;
458pub const MCAST_INCLUDE: u32 = 1;
459pub const IP_ROUTER_ALERT: u32 = 5;
460pub const IP_PKTINFO: u32 = 8;
461pub const IP_PKTOPTIONS: u32 = 9;
462pub const IP_PMTUDISC: u32 = 10;
463pub const IP_MTU_DISCOVER: u32 = 10;
464pub const IP_RECVERR: u32 = 11;
465pub const IP_RECVTTL: u32 = 12;
466pub const IP_RECVTOS: u32 = 13;
467pub const IP_MTU: u32 = 14;
468pub const IP_FREEBIND: u32 = 15;
469pub const IP_IPSEC_POLICY: u32 = 16;
470pub const IP_XFRM_POLICY: u32 = 17;
471pub const IP_PASSSEC: u32 = 18;
472pub const IP_TRANSPARENT: u32 = 19;
473pub const IP_ORIGDSTADDR: u32 = 20;
474pub const IP_RECVORIGDSTADDR: u32 = 20;
475pub const IP_MINTTL: u32 = 21;
476pub const IP_NODEFRAG: u32 = 22;
477pub const IP_CHECKSUM: u32 = 23;
478pub const IP_BIND_ADDRESS_NO_PORT: u32 = 24;
479pub const IP_RECVFRAGSIZE: u32 = 25;
480pub const IP_PMTUDISC_DONT: u32 = 0;
481pub const IP_PMTUDISC_WANT: u32 = 1;
482pub const IP_PMTUDISC_DO: u32 = 2;
483pub const IP_PMTUDISC_PROBE: u32 = 3;
484pub const IP_PMTUDISC_INTERFACE: u32 = 4;
485pub const IP_PMTUDISC_OMIT: u32 = 5;
486pub const SOL_IP: u32 = 0;
487pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1;
488pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1;
489pub const IP_MAX_MEMBERSHIPS: u32 = 20;
490pub const IPV6_ADDRFORM: u32 = 1;
491pub const IPV6_2292PKTINFO: u32 = 2;
492pub const IPV6_2292HOPOPTS: u32 = 3;
493pub const IPV6_2292DSTOPTS: u32 = 4;
494pub const IPV6_2292RTHDR: u32 = 5;
495pub const IPV6_2292PKTOPTIONS: u32 = 6;
496pub const IPV6_CHECKSUM: u32 = 7;
497pub const IPV6_2292HOPLIMIT: u32 = 8;
498pub const IPV6_NEXTHOP: u32 = 9;
499pub const IPV6_AUTHHDR: u32 = 10;
500pub const IPV6_UNICAST_HOPS: u32 = 16;
501pub const IPV6_MULTICAST_IF: u32 = 17;
502pub const IPV6_MULTICAST_HOPS: u32 = 18;
503pub const IPV6_MULTICAST_LOOP: u32 = 19;
504pub const IPV6_JOIN_GROUP: u32 = 20;
505pub const IPV6_LEAVE_GROUP: u32 = 21;
506pub const IPV6_ROUTER_ALERT: u32 = 22;
507pub const IPV6_MTU_DISCOVER: u32 = 23;
508pub const IPV6_MTU: u32 = 24;
509pub const IPV6_RECVERR: u32 = 25;
510pub const IPV6_V6ONLY: u32 = 26;
511pub const IPV6_JOIN_ANYCAST: u32 = 27;
512pub const IPV6_LEAVE_ANYCAST: u32 = 28;
513pub const IPV6_MULTICAST_ALL: u32 = 29;
514pub const IPV6_ROUTER_ALERT_ISOLATE: u32 = 30;
515pub const IPV6_IPSEC_POLICY: u32 = 34;
516pub const IPV6_XFRM_POLICY: u32 = 35;
517pub const IPV6_HDRINCL: u32 = 36;
518pub const IPV6_RECVPKTINFO: u32 = 49;
519pub const IPV6_PKTINFO: u32 = 50;
520pub const IPV6_RECVHOPLIMIT: u32 = 51;
521pub const IPV6_HOPLIMIT: u32 = 52;
522pub const IPV6_RECVHOPOPTS: u32 = 53;
523pub const IPV6_HOPOPTS: u32 = 54;
524pub const IPV6_RTHDRDSTOPTS: u32 = 55;
525pub const IPV6_RECVRTHDR: u32 = 56;
526pub const IPV6_RTHDR: u32 = 57;
527pub const IPV6_RECVDSTOPTS: u32 = 58;
528pub const IPV6_DSTOPTS: u32 = 59;
529pub const IPV6_RECVPATHMTU: u32 = 60;
530pub const IPV6_PATHMTU: u32 = 61;
531pub const IPV6_DONTFRAG: u32 = 62;
532pub const IPV6_RECVTCLASS: u32 = 66;
533pub const IPV6_TCLASS: u32 = 67;
534pub const IPV6_AUTOFLOWLABEL: u32 = 70;
535pub const IPV6_ADDR_PREFERENCES: u32 = 72;
536pub const IPV6_MINHOPCOUNT: u32 = 73;
537pub const IPV6_ORIGDSTADDR: u32 = 74;
538pub const IPV6_RECVORIGDSTADDR: u32 = 74;
539pub const IPV6_TRANSPARENT: u32 = 75;
540pub const IPV6_UNICAST_IF: u32 = 76;
541pub const IPV6_RECVFRAGSIZE: u32 = 77;
542pub const IPV6_FREEBIND: u32 = 78;
543pub const IPV6_ADD_MEMBERSHIP: u32 = 20;
544pub const IPV6_DROP_MEMBERSHIP: u32 = 21;
545pub const IPV6_RXHOPOPTS: u32 = 54;
546pub const IPV6_RXDSTOPTS: u32 = 59;
547pub const IPV6_PMTUDISC_DONT: u32 = 0;
548pub const IPV6_PMTUDISC_WANT: u32 = 1;
549pub const IPV6_PMTUDISC_DO: u32 = 2;
550pub const IPV6_PMTUDISC_PROBE: u32 = 3;
551pub const IPV6_PMTUDISC_INTERFACE: u32 = 4;
552pub const IPV6_PMTUDISC_OMIT: u32 = 5;
553pub const SOL_IPV6: u32 = 41;
554pub const SOL_ICMPV6: u32 = 58;
555pub const IPV6_RTHDR_LOOSE: u32 = 0;
556pub const IPV6_RTHDR_STRICT: u32 = 1;
557pub const IPV6_RTHDR_TYPE_0: u32 = 0;
558pub const IN_CLASSA_NET: u32 = 4278190080;
559pub const IN_CLASSA_NSHIFT: u32 = 24;
560pub const IN_CLASSA_HOST: u32 = 16777215;
561pub const IN_CLASSA_MAX: u32 = 128;
562pub const IN_CLASSB_NET: u32 = 4294901760;
563pub const IN_CLASSB_NSHIFT: u32 = 16;
564pub const IN_CLASSB_HOST: u32 = 65535;
565pub const IN_CLASSB_MAX: u32 = 65536;
566pub const IN_CLASSC_NET: u32 = 4294967040;
567pub const IN_CLASSC_NSHIFT: u32 = 8;
568pub const IN_CLASSC_HOST: u32 = 255;
569pub const IN_LOOPBACKNET: u32 = 127;
570pub const INET_ADDRSTRLEN: u32 = 16;
571pub const INET6_ADDRSTRLEN: u32 = 46;
572pub const BTPROTO_L2CAP: u32 = 0;
573pub const BTPROTO_HCI: u32 = 1;
574pub const BTPROTO_SCO: u32 = 2;
575pub const BTPROTO_RFCOMM: u32 = 3;
576pub const BTPROTO_BNEP: u32 = 4;
577pub const BTPROTO_CMTP: u32 = 5;
578pub const BTPROTO_HIDP: u32 = 6;
579pub const BTPROTO_AVDTP: u32 = 7;
580pub const SOL_HCI: u32 = 0;
581pub const SOL_L2CAP: u32 = 6;
582pub const SOL_SCO: u32 = 17;
583pub const SOL_RFCOMM: u32 = 18;
584pub const BT_SECURITY: u32 = 4;
585pub const BT_SECURITY_SDP: u32 = 0;
586pub const BT_SECURITY_LOW: u32 = 1;
587pub const BT_SECURITY_MEDIUM: u32 = 2;
588pub const BT_SECURITY_HIGH: u32 = 3;
589pub const BT_SECURITY_FIPS: u32 = 4;
590pub const BT_DEFER_SETUP: u32 = 7;
591pub const BT_FLUSHABLE: u32 = 8;
592pub const BT_FLUSHABLE_OFF: u32 = 0;
593pub const BT_FLUSHABLE_ON: u32 = 1;
594pub const BT_POWER: u32 = 9;
595pub const BT_POWER_FORCE_ACTIVE_OFF: u32 = 0;
596pub const BT_POWER_FORCE_ACTIVE_ON: u32 = 1;
597pub const BT_CHANNEL_POLICY: u32 = 10;
598pub const BT_CHANNEL_POLICY_BREDR_ONLY: u32 = 0;
599pub const BT_CHANNEL_POLICY_BREDR_PREFERRED: u32 = 1;
600pub const BT_CHANNEL_POLICY_AMP_PREFERRED: u32 = 2;
601pub const BT_VOICE: u32 = 11;
602pub const BT_SNDMTU: u32 = 12;
603pub const BT_RCVMTU: u32 = 13;
604pub const BT_VOICE_TRANSPARENT: u32 = 3;
605pub const BT_VOICE_CVSD_16BIT: u32 = 96;
606pub const BDADDR_BREDR: u32 = 0;
607pub const BDADDR_LE_PUBLIC: u32 = 1;
608pub const BDADDR_LE_RANDOM: u32 = 2;
609pub const CWIID_FLAG_MESG_IFC: u32 = 1;
610pub const CWIID_FLAG_CONTINUOUS: u32 = 2;
611pub const CWIID_FLAG_REPEAT_BTN: u32 = 4;
612pub const CWIID_FLAG_NONBLOCK: u32 = 8;
613pub const CWIID_FLAG_MOTIONPLUS: u32 = 16;
614pub const CWIID_RPT_STATUS: u32 = 1;
615pub const CWIID_RPT_BTN: u32 = 2;
616pub const CWIID_RPT_ACC: u32 = 4;
617pub const CWIID_RPT_IR: u32 = 8;
618pub const CWIID_RPT_NUNCHUK: u32 = 16;
619pub const CWIID_RPT_CLASSIC: u32 = 32;
620pub const CWIID_RPT_BALANCE: u32 = 64;
621pub const CWIID_RPT_MOTIONPLUS: u32 = 128;
622pub const CWIID_RPT_EXT: u32 = 240;
623pub const CWIID_LED1_ON: u32 = 1;
624pub const CWIID_LED2_ON: u32 = 2;
625pub const CWIID_LED3_ON: u32 = 4;
626pub const CWIID_LED4_ON: u32 = 8;
627pub const CWIID_BTN_2: u32 = 1;
628pub const CWIID_BTN_1: u32 = 2;
629pub const CWIID_BTN_B: u32 = 4;
630pub const CWIID_BTN_A: u32 = 8;
631pub const CWIID_BTN_MINUS: u32 = 16;
632pub const CWIID_BTN_HOME: u32 = 128;
633pub const CWIID_BTN_LEFT: u32 = 256;
634pub const CWIID_BTN_RIGHT: u32 = 512;
635pub const CWIID_BTN_DOWN: u32 = 1024;
636pub const CWIID_BTN_UP: u32 = 2048;
637pub const CWIID_BTN_PLUS: u32 = 4096;
638pub const CWIID_NUNCHUK_BTN_Z: u32 = 1;
639pub const CWIID_NUNCHUK_BTN_C: u32 = 2;
640pub const CWIID_CLASSIC_BTN_UP: u32 = 1;
641pub const CWIID_CLASSIC_BTN_LEFT: u32 = 2;
642pub const CWIID_CLASSIC_BTN_ZR: u32 = 4;
643pub const CWIID_CLASSIC_BTN_X: u32 = 8;
644pub const CWIID_CLASSIC_BTN_A: u32 = 16;
645pub const CWIID_CLASSIC_BTN_Y: u32 = 32;
646pub const CWIID_CLASSIC_BTN_B: u32 = 64;
647pub const CWIID_CLASSIC_BTN_ZL: u32 = 128;
648pub const CWIID_CLASSIC_BTN_R: u32 = 512;
649pub const CWIID_CLASSIC_BTN_PLUS: u32 = 1024;
650pub const CWIID_CLASSIC_BTN_HOME: u32 = 2048;
651pub const CWIID_CLASSIC_BTN_MINUS: u32 = 4096;
652pub const CWIID_CLASSIC_BTN_L: u32 = 8192;
653pub const CWIID_CLASSIC_BTN_DOWN: u32 = 16384;
654pub const CWIID_CLASSIC_BTN_RIGHT: u32 = 32768;
655pub const CWIID_SEND_RPT_NO_RUMBLE: u32 = 1;
656pub const CWIID_RW_EEPROM: u32 = 0;
657pub const CWIID_RW_REG: u32 = 4;
658pub const CWIID_RW_DECODE: u32 = 0;
659pub const CWIID_MAX_READ_LEN: u32 = 65535;
660pub const CWIID_X: u32 = 0;
661pub const CWIID_Y: u32 = 1;
662pub const CWIID_Z: u32 = 2;
663pub const CWIID_PHI: u32 = 0;
664pub const CWIID_THETA: u32 = 1;
665pub const CWIID_PSI: u32 = 2;
666pub const CWIID_ACC_MAX: u32 = 255;
667pub const CWIID_IR_SRC_COUNT: u32 = 4;
668pub const CWIID_IR_X_MAX: u32 = 1024;
669pub const CWIID_IR_Y_MAX: u32 = 768;
670pub const CWIID_BATTERY_MAX: u32 = 208;
671pub const CWIID_CLASSIC_L_STICK_MAX: u32 = 63;
672pub const CWIID_CLASSIC_R_STICK_MAX: u32 = 31;
673pub const CWIID_CLASSIC_LR_MAX: u32 = 31;
674pub const WIIMOTE_BDADDR: &[u8; 15usize] = b"WIIMOTE_BDADDR\0";
675pub const CWIID_MAX_MESG_COUNT: u32 = 5;
676pub const BT_NO_WIIMOTE_FILTER: u32 = 1;
677pub const BT_NAME_LEN: u32 = 32;
678pub type va_list = __builtin_va_list;
679pub type __gnuc_va_list = __builtin_va_list;
680pub type __u_char = ::std::os::raw::c_uchar;
681pub type __u_short = ::std::os::raw::c_ushort;
682pub type __u_int = ::std::os::raw::c_uint;
683pub type __u_long = ::std::os::raw::c_ulong;
684pub type __int8_t = ::std::os::raw::c_schar;
685pub type __uint8_t = ::std::os::raw::c_uchar;
686pub type __int16_t = ::std::os::raw::c_short;
687pub type __uint16_t = ::std::os::raw::c_ushort;
688pub type __int32_t = ::std::os::raw::c_int;
689pub type __uint32_t = ::std::os::raw::c_uint;
690pub type __int64_t = ::std::os::raw::c_long;
691pub type __uint64_t = ::std::os::raw::c_ulong;
692pub type __int_least8_t = __int8_t;
693pub type __uint_least8_t = __uint8_t;
694pub type __int_least16_t = __int16_t;
695pub type __uint_least16_t = __uint16_t;
696pub type __int_least32_t = __int32_t;
697pub type __uint_least32_t = __uint32_t;
698pub type __int_least64_t = __int64_t;
699pub type __uint_least64_t = __uint64_t;
700pub type __quad_t = ::std::os::raw::c_long;
701pub type __u_quad_t = ::std::os::raw::c_ulong;
702pub type __intmax_t = ::std::os::raw::c_long;
703pub type __uintmax_t = ::std::os::raw::c_ulong;
704pub type __dev_t = ::std::os::raw::c_ulong;
705pub type __uid_t = ::std::os::raw::c_uint;
706pub type __gid_t = ::std::os::raw::c_uint;
707pub type __ino_t = ::std::os::raw::c_ulong;
708pub type __ino64_t = ::std::os::raw::c_ulong;
709pub type __mode_t = ::std::os::raw::c_uint;
710pub type __nlink_t = ::std::os::raw::c_ulong;
711pub type __off_t = ::std::os::raw::c_long;
712pub type __off64_t = ::std::os::raw::c_long;
713pub type __pid_t = ::std::os::raw::c_int;
714#[repr(C)]
715#[derive(Debug, Copy, Clone)]
716pub struct __fsid_t {
717    pub __val: [::std::os::raw::c_int; 2usize],
718}
719#[test]
720fn bindgen_test_layout___fsid_t() {
721    const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
722    let ptr = UNINIT.as_ptr();
723    assert_eq!(
724        ::std::mem::size_of::<__fsid_t>(),
725        8usize,
726        concat!("Size of: ", stringify!(__fsid_t))
727    );
728    assert_eq!(
729        ::std::mem::align_of::<__fsid_t>(),
730        4usize,
731        concat!("Alignment of ", stringify!(__fsid_t))
732    );
733    assert_eq!(
734        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
735        0usize,
736        concat!(
737            "Offset of field: ",
738            stringify!(__fsid_t),
739            "::",
740            stringify!(__val)
741        )
742    );
743}
744pub type __clock_t = ::std::os::raw::c_long;
745pub type __rlim_t = ::std::os::raw::c_ulong;
746pub type __rlim64_t = ::std::os::raw::c_ulong;
747pub type __id_t = ::std::os::raw::c_uint;
748pub type __time_t = ::std::os::raw::c_long;
749pub type __useconds_t = ::std::os::raw::c_uint;
750pub type __suseconds_t = ::std::os::raw::c_long;
751pub type __daddr_t = ::std::os::raw::c_int;
752pub type __key_t = ::std::os::raw::c_int;
753pub type __clockid_t = ::std::os::raw::c_int;
754pub type __timer_t = *mut ::std::os::raw::c_void;
755pub type __blksize_t = ::std::os::raw::c_long;
756pub type __blkcnt_t = ::std::os::raw::c_long;
757pub type __blkcnt64_t = ::std::os::raw::c_long;
758pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
759pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
760pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
761pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
762pub type __fsword_t = ::std::os::raw::c_long;
763pub type __ssize_t = ::std::os::raw::c_long;
764pub type __syscall_slong_t = ::std::os::raw::c_long;
765pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
766pub type __loff_t = __off64_t;
767pub type __caddr_t = *mut ::std::os::raw::c_char;
768pub type __intptr_t = ::std::os::raw::c_long;
769pub type __socklen_t = ::std::os::raw::c_uint;
770pub type __sig_atomic_t = ::std::os::raw::c_int;
771pub type int_least8_t = __int_least8_t;
772pub type int_least16_t = __int_least16_t;
773pub type int_least32_t = __int_least32_t;
774pub type int_least64_t = __int_least64_t;
775pub type uint_least8_t = __uint_least8_t;
776pub type uint_least16_t = __uint_least16_t;
777pub type uint_least32_t = __uint_least32_t;
778pub type uint_least64_t = __uint_least64_t;
779pub type int_fast8_t = ::std::os::raw::c_schar;
780pub type int_fast16_t = ::std::os::raw::c_long;
781pub type int_fast32_t = ::std::os::raw::c_long;
782pub type int_fast64_t = ::std::os::raw::c_long;
783pub type uint_fast8_t = ::std::os::raw::c_uchar;
784pub type uint_fast16_t = ::std::os::raw::c_ulong;
785pub type uint_fast32_t = ::std::os::raw::c_ulong;
786pub type uint_fast64_t = ::std::os::raw::c_ulong;
787pub type intmax_t = __intmax_t;
788pub type uintmax_t = __uintmax_t;
789pub type clock_t = __clock_t;
790pub type time_t = __time_t;
791#[repr(C)]
792#[derive(Debug, Copy, Clone)]
793pub struct tm {
794    pub tm_sec: ::std::os::raw::c_int,
795    pub tm_min: ::std::os::raw::c_int,
796    pub tm_hour: ::std::os::raw::c_int,
797    pub tm_mday: ::std::os::raw::c_int,
798    pub tm_mon: ::std::os::raw::c_int,
799    pub tm_year: ::std::os::raw::c_int,
800    pub tm_wday: ::std::os::raw::c_int,
801    pub tm_yday: ::std::os::raw::c_int,
802    pub tm_isdst: ::std::os::raw::c_int,
803    pub tm_gmtoff: ::std::os::raw::c_long,
804    pub tm_zone: *const ::std::os::raw::c_char,
805}
806#[test]
807fn bindgen_test_layout_tm() {
808    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
809    let ptr = UNINIT.as_ptr();
810    assert_eq!(
811        ::std::mem::size_of::<tm>(),
812        56usize,
813        concat!("Size of: ", stringify!(tm))
814    );
815    assert_eq!(
816        ::std::mem::align_of::<tm>(),
817        8usize,
818        concat!("Alignment of ", stringify!(tm))
819    );
820    assert_eq!(
821        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
822        0usize,
823        concat!(
824            "Offset of field: ",
825            stringify!(tm),
826            "::",
827            stringify!(tm_sec)
828        )
829    );
830    assert_eq!(
831        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
832        4usize,
833        concat!(
834            "Offset of field: ",
835            stringify!(tm),
836            "::",
837            stringify!(tm_min)
838        )
839    );
840    assert_eq!(
841        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
842        8usize,
843        concat!(
844            "Offset of field: ",
845            stringify!(tm),
846            "::",
847            stringify!(tm_hour)
848        )
849    );
850    assert_eq!(
851        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
852        12usize,
853        concat!(
854            "Offset of field: ",
855            stringify!(tm),
856            "::",
857            stringify!(tm_mday)
858        )
859    );
860    assert_eq!(
861        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
862        16usize,
863        concat!(
864            "Offset of field: ",
865            stringify!(tm),
866            "::",
867            stringify!(tm_mon)
868        )
869    );
870    assert_eq!(
871        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
872        20usize,
873        concat!(
874            "Offset of field: ",
875            stringify!(tm),
876            "::",
877            stringify!(tm_year)
878        )
879    );
880    assert_eq!(
881        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
882        24usize,
883        concat!(
884            "Offset of field: ",
885            stringify!(tm),
886            "::",
887            stringify!(tm_wday)
888        )
889    );
890    assert_eq!(
891        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
892        28usize,
893        concat!(
894            "Offset of field: ",
895            stringify!(tm),
896            "::",
897            stringify!(tm_yday)
898        )
899    );
900    assert_eq!(
901        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
902        32usize,
903        concat!(
904            "Offset of field: ",
905            stringify!(tm),
906            "::",
907            stringify!(tm_isdst)
908        )
909    );
910    assert_eq!(
911        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
912        40usize,
913        concat!(
914            "Offset of field: ",
915            stringify!(tm),
916            "::",
917            stringify!(tm_gmtoff)
918        )
919    );
920    assert_eq!(
921        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
922        48usize,
923        concat!(
924            "Offset of field: ",
925            stringify!(tm),
926            "::",
927            stringify!(tm_zone)
928        )
929    );
930}
931#[repr(C)]
932#[derive(Debug, Copy, Clone)]
933pub struct timespec {
934    pub tv_sec: __time_t,
935    pub tv_nsec: __syscall_slong_t,
936}
937#[test]
938fn bindgen_test_layout_timespec() {
939    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
940    let ptr = UNINIT.as_ptr();
941    assert_eq!(
942        ::std::mem::size_of::<timespec>(),
943        16usize,
944        concat!("Size of: ", stringify!(timespec))
945    );
946    assert_eq!(
947        ::std::mem::align_of::<timespec>(),
948        8usize,
949        concat!("Alignment of ", stringify!(timespec))
950    );
951    assert_eq!(
952        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
953        0usize,
954        concat!(
955            "Offset of field: ",
956            stringify!(timespec),
957            "::",
958            stringify!(tv_sec)
959        )
960    );
961    assert_eq!(
962        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
963        8usize,
964        concat!(
965            "Offset of field: ",
966            stringify!(timespec),
967            "::",
968            stringify!(tv_nsec)
969        )
970    );
971}
972pub type clockid_t = __clockid_t;
973pub type timer_t = __timer_t;
974#[repr(C)]
975#[derive(Debug, Copy, Clone)]
976pub struct itimerspec {
977    pub it_interval: timespec,
978    pub it_value: timespec,
979}
980#[test]
981fn bindgen_test_layout_itimerspec() {
982    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
983    let ptr = UNINIT.as_ptr();
984    assert_eq!(
985        ::std::mem::size_of::<itimerspec>(),
986        32usize,
987        concat!("Size of: ", stringify!(itimerspec))
988    );
989    assert_eq!(
990        ::std::mem::align_of::<itimerspec>(),
991        8usize,
992        concat!("Alignment of ", stringify!(itimerspec))
993    );
994    assert_eq!(
995        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
996        0usize,
997        concat!(
998            "Offset of field: ",
999            stringify!(itimerspec),
1000            "::",
1001            stringify!(it_interval)
1002        )
1003    );
1004    assert_eq!(
1005        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
1006        16usize,
1007        concat!(
1008            "Offset of field: ",
1009            stringify!(itimerspec),
1010            "::",
1011            stringify!(it_value)
1012        )
1013    );
1014}
1015#[repr(C)]
1016#[derive(Debug, Copy, Clone)]
1017pub struct sigevent {
1018    _unused: [u8; 0],
1019}
1020pub type pid_t = __pid_t;
1021#[repr(C)]
1022#[derive(Debug, Copy, Clone)]
1023pub struct __locale_struct {
1024    pub __locales: [*mut __locale_data; 13usize],
1025    pub __ctype_b: *const ::std::os::raw::c_ushort,
1026    pub __ctype_tolower: *const ::std::os::raw::c_int,
1027    pub __ctype_toupper: *const ::std::os::raw::c_int,
1028    pub __names: [*const ::std::os::raw::c_char; 13usize],
1029}
1030#[test]
1031fn bindgen_test_layout___locale_struct() {
1032    const UNINIT: ::std::mem::MaybeUninit<__locale_struct> = ::std::mem::MaybeUninit::uninit();
1033    let ptr = UNINIT.as_ptr();
1034    assert_eq!(
1035        ::std::mem::size_of::<__locale_struct>(),
1036        232usize,
1037        concat!("Size of: ", stringify!(__locale_struct))
1038    );
1039    assert_eq!(
1040        ::std::mem::align_of::<__locale_struct>(),
1041        8usize,
1042        concat!("Alignment of ", stringify!(__locale_struct))
1043    );
1044    assert_eq!(
1045        unsafe { ::std::ptr::addr_of!((*ptr).__locales) as usize - ptr as usize },
1046        0usize,
1047        concat!(
1048            "Offset of field: ",
1049            stringify!(__locale_struct),
1050            "::",
1051            stringify!(__locales)
1052        )
1053    );
1054    assert_eq!(
1055        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_b) as usize - ptr as usize },
1056        104usize,
1057        concat!(
1058            "Offset of field: ",
1059            stringify!(__locale_struct),
1060            "::",
1061            stringify!(__ctype_b)
1062        )
1063    );
1064    assert_eq!(
1065        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_tolower) as usize - ptr as usize },
1066        112usize,
1067        concat!(
1068            "Offset of field: ",
1069            stringify!(__locale_struct),
1070            "::",
1071            stringify!(__ctype_tolower)
1072        )
1073    );
1074    assert_eq!(
1075        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_toupper) as usize - ptr as usize },
1076        120usize,
1077        concat!(
1078            "Offset of field: ",
1079            stringify!(__locale_struct),
1080            "::",
1081            stringify!(__ctype_toupper)
1082        )
1083    );
1084    assert_eq!(
1085        unsafe { ::std::ptr::addr_of!((*ptr).__names) as usize - ptr as usize },
1086        128usize,
1087        concat!(
1088            "Offset of field: ",
1089            stringify!(__locale_struct),
1090            "::",
1091            stringify!(__names)
1092        )
1093    );
1094}
1095pub type __locale_t = *mut __locale_struct;
1096pub type locale_t = __locale_t;
1097extern "C" {
1098    pub fn clock() -> clock_t;
1099}
1100extern "C" {
1101    pub fn time(__timer: *mut time_t) -> time_t;
1102}
1103extern "C" {
1104    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
1105}
1106extern "C" {
1107    pub fn mktime(__tp: *mut tm) -> time_t;
1108}
1109extern "C" {
1110    pub fn strftime(
1111        __s: *mut ::std::os::raw::c_char,
1112        __maxsize: usize,
1113        __format: *const ::std::os::raw::c_char,
1114        __tp: *const tm,
1115    ) -> usize;
1116}
1117extern "C" {
1118    pub fn strftime_l(
1119        __s: *mut ::std::os::raw::c_char,
1120        __maxsize: usize,
1121        __format: *const ::std::os::raw::c_char,
1122        __tp: *const tm,
1123        __loc: locale_t,
1124    ) -> usize;
1125}
1126extern "C" {
1127    pub fn gmtime(__timer: *const time_t) -> *mut tm;
1128}
1129extern "C" {
1130    pub fn localtime(__timer: *const time_t) -> *mut tm;
1131}
1132extern "C" {
1133    pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1134}
1135extern "C" {
1136    pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
1137}
1138extern "C" {
1139    pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
1140}
1141extern "C" {
1142    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
1143}
1144extern "C" {
1145    pub fn asctime_r(
1146        __tp: *const tm,
1147        __buf: *mut ::std::os::raw::c_char,
1148    ) -> *mut ::std::os::raw::c_char;
1149}
1150extern "C" {
1151    pub fn ctime_r(
1152        __timer: *const time_t,
1153        __buf: *mut ::std::os::raw::c_char,
1154    ) -> *mut ::std::os::raw::c_char;
1155}
1156extern "C" {
1157    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
1158}
1159extern "C" {
1160    pub static mut __daylight: ::std::os::raw::c_int;
1161}
1162extern "C" {
1163    pub static mut __timezone: ::std::os::raw::c_long;
1164}
1165extern "C" {
1166    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
1167}
1168extern "C" {
1169    pub fn tzset();
1170}
1171extern "C" {
1172    pub static mut daylight: ::std::os::raw::c_int;
1173}
1174extern "C" {
1175    pub static mut timezone: ::std::os::raw::c_long;
1176}
1177extern "C" {
1178    pub fn timegm(__tp: *mut tm) -> time_t;
1179}
1180extern "C" {
1181    pub fn timelocal(__tp: *mut tm) -> time_t;
1182}
1183extern "C" {
1184    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1185}
1186extern "C" {
1187    pub fn nanosleep(
1188        __requested_time: *const timespec,
1189        __remaining: *mut timespec,
1190    ) -> ::std::os::raw::c_int;
1191}
1192extern "C" {
1193    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
1194}
1195extern "C" {
1196    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
1197}
1198extern "C" {
1199    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
1200}
1201extern "C" {
1202    pub fn clock_nanosleep(
1203        __clock_id: clockid_t,
1204        __flags: ::std::os::raw::c_int,
1205        __req: *const timespec,
1206        __rem: *mut timespec,
1207    ) -> ::std::os::raw::c_int;
1208}
1209extern "C" {
1210    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
1211}
1212extern "C" {
1213    pub fn timer_create(
1214        __clock_id: clockid_t,
1215        __evp: *mut sigevent,
1216        __timerid: *mut timer_t,
1217    ) -> ::std::os::raw::c_int;
1218}
1219extern "C" {
1220    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
1221}
1222extern "C" {
1223    pub fn timer_settime(
1224        __timerid: timer_t,
1225        __flags: ::std::os::raw::c_int,
1226        __value: *const itimerspec,
1227        __ovalue: *mut itimerspec,
1228    ) -> ::std::os::raw::c_int;
1229}
1230extern "C" {
1231    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
1232}
1233extern "C" {
1234    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
1235}
1236extern "C" {
1237    pub fn timespec_get(
1238        __ts: *mut timespec,
1239        __base: ::std::os::raw::c_int,
1240    ) -> ::std::os::raw::c_int;
1241}
1242#[repr(C)]
1243#[derive(Copy, Clone)]
1244pub struct __mbstate_t {
1245    pub __count: ::std::os::raw::c_int,
1246    pub __value: __mbstate_t__bindgen_ty_1,
1247}
1248#[repr(C)]
1249#[derive(Copy, Clone)]
1250pub union __mbstate_t__bindgen_ty_1 {
1251    pub __wch: ::std::os::raw::c_uint,
1252    pub __wchb: [::std::os::raw::c_char; 4usize],
1253}
1254#[test]
1255fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
1256    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> =
1257        ::std::mem::MaybeUninit::uninit();
1258    let ptr = UNINIT.as_ptr();
1259    assert_eq!(
1260        ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
1261        4usize,
1262        concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
1263    );
1264    assert_eq!(
1265        ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
1266        4usize,
1267        concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
1268    );
1269    assert_eq!(
1270        unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize },
1271        0usize,
1272        concat!(
1273            "Offset of field: ",
1274            stringify!(__mbstate_t__bindgen_ty_1),
1275            "::",
1276            stringify!(__wch)
1277        )
1278    );
1279    assert_eq!(
1280        unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize },
1281        0usize,
1282        concat!(
1283            "Offset of field: ",
1284            stringify!(__mbstate_t__bindgen_ty_1),
1285            "::",
1286            stringify!(__wchb)
1287        )
1288    );
1289}
1290#[test]
1291fn bindgen_test_layout___mbstate_t() {
1292    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
1293    let ptr = UNINIT.as_ptr();
1294    assert_eq!(
1295        ::std::mem::size_of::<__mbstate_t>(),
1296        8usize,
1297        concat!("Size of: ", stringify!(__mbstate_t))
1298    );
1299    assert_eq!(
1300        ::std::mem::align_of::<__mbstate_t>(),
1301        4usize,
1302        concat!("Alignment of ", stringify!(__mbstate_t))
1303    );
1304    assert_eq!(
1305        unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
1306        0usize,
1307        concat!(
1308            "Offset of field: ",
1309            stringify!(__mbstate_t),
1310            "::",
1311            stringify!(__count)
1312        )
1313    );
1314    assert_eq!(
1315        unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize },
1316        4usize,
1317        concat!(
1318            "Offset of field: ",
1319            stringify!(__mbstate_t),
1320            "::",
1321            stringify!(__value)
1322        )
1323    );
1324}
1325#[repr(C)]
1326#[derive(Copy, Clone)]
1327pub struct _G_fpos_t {
1328    pub __pos: __off_t,
1329    pub __state: __mbstate_t,
1330}
1331#[test]
1332fn bindgen_test_layout__G_fpos_t() {
1333    const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit();
1334    let ptr = UNINIT.as_ptr();
1335    assert_eq!(
1336        ::std::mem::size_of::<_G_fpos_t>(),
1337        16usize,
1338        concat!("Size of: ", stringify!(_G_fpos_t))
1339    );
1340    assert_eq!(
1341        ::std::mem::align_of::<_G_fpos_t>(),
1342        8usize,
1343        concat!("Alignment of ", stringify!(_G_fpos_t))
1344    );
1345    assert_eq!(
1346        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
1347        0usize,
1348        concat!(
1349            "Offset of field: ",
1350            stringify!(_G_fpos_t),
1351            "::",
1352            stringify!(__pos)
1353        )
1354    );
1355    assert_eq!(
1356        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
1357        8usize,
1358        concat!(
1359            "Offset of field: ",
1360            stringify!(_G_fpos_t),
1361            "::",
1362            stringify!(__state)
1363        )
1364    );
1365}
1366pub type __fpos_t = _G_fpos_t;
1367#[repr(C)]
1368#[derive(Copy, Clone)]
1369pub struct _G_fpos64_t {
1370    pub __pos: __off64_t,
1371    pub __state: __mbstate_t,
1372}
1373#[test]
1374fn bindgen_test_layout__G_fpos64_t() {
1375    const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit();
1376    let ptr = UNINIT.as_ptr();
1377    assert_eq!(
1378        ::std::mem::size_of::<_G_fpos64_t>(),
1379        16usize,
1380        concat!("Size of: ", stringify!(_G_fpos64_t))
1381    );
1382    assert_eq!(
1383        ::std::mem::align_of::<_G_fpos64_t>(),
1384        8usize,
1385        concat!("Alignment of ", stringify!(_G_fpos64_t))
1386    );
1387    assert_eq!(
1388        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
1389        0usize,
1390        concat!(
1391            "Offset of field: ",
1392            stringify!(_G_fpos64_t),
1393            "::",
1394            stringify!(__pos)
1395        )
1396    );
1397    assert_eq!(
1398        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
1399        8usize,
1400        concat!(
1401            "Offset of field: ",
1402            stringify!(_G_fpos64_t),
1403            "::",
1404            stringify!(__state)
1405        )
1406    );
1407}
1408pub type __fpos64_t = _G_fpos64_t;
1409pub type __FILE = _IO_FILE;
1410pub type FILE = _IO_FILE;
1411#[repr(C)]
1412#[derive(Debug, Copy, Clone)]
1413pub struct _IO_marker {
1414    _unused: [u8; 0],
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct _IO_codecvt {
1419    _unused: [u8; 0],
1420}
1421#[repr(C)]
1422#[derive(Debug, Copy, Clone)]
1423pub struct _IO_wide_data {
1424    _unused: [u8; 0],
1425}
1426pub type _IO_lock_t = ::std::os::raw::c_void;
1427#[repr(C)]
1428#[derive(Debug, Copy, Clone)]
1429pub struct _IO_FILE {
1430    pub _flags: ::std::os::raw::c_int,
1431    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
1432    pub _IO_read_end: *mut ::std::os::raw::c_char,
1433    pub _IO_read_base: *mut ::std::os::raw::c_char,
1434    pub _IO_write_base: *mut ::std::os::raw::c_char,
1435    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
1436    pub _IO_write_end: *mut ::std::os::raw::c_char,
1437    pub _IO_buf_base: *mut ::std::os::raw::c_char,
1438    pub _IO_buf_end: *mut ::std::os::raw::c_char,
1439    pub _IO_save_base: *mut ::std::os::raw::c_char,
1440    pub _IO_backup_base: *mut ::std::os::raw::c_char,
1441    pub _IO_save_end: *mut ::std::os::raw::c_char,
1442    pub _markers: *mut _IO_marker,
1443    pub _chain: *mut _IO_FILE,
1444    pub _fileno: ::std::os::raw::c_int,
1445    pub _flags2: ::std::os::raw::c_int,
1446    pub _old_offset: __off_t,
1447    pub _cur_column: ::std::os::raw::c_ushort,
1448    pub _vtable_offset: ::std::os::raw::c_schar,
1449    pub _shortbuf: [::std::os::raw::c_char; 1usize],
1450    pub _lock: *mut _IO_lock_t,
1451    pub _offset: __off64_t,
1452    pub _codecvt: *mut _IO_codecvt,
1453    pub _wide_data: *mut _IO_wide_data,
1454    pub _freeres_list: *mut _IO_FILE,
1455    pub _freeres_buf: *mut ::std::os::raw::c_void,
1456    pub __pad5: usize,
1457    pub _mode: ::std::os::raw::c_int,
1458    pub _unused2: [::std::os::raw::c_char; 20usize],
1459}
1460#[test]
1461fn bindgen_test_layout__IO_FILE() {
1462    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
1463    let ptr = UNINIT.as_ptr();
1464    assert_eq!(
1465        ::std::mem::size_of::<_IO_FILE>(),
1466        216usize,
1467        concat!("Size of: ", stringify!(_IO_FILE))
1468    );
1469    assert_eq!(
1470        ::std::mem::align_of::<_IO_FILE>(),
1471        8usize,
1472        concat!("Alignment of ", stringify!(_IO_FILE))
1473    );
1474    assert_eq!(
1475        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
1476        0usize,
1477        concat!(
1478            "Offset of field: ",
1479            stringify!(_IO_FILE),
1480            "::",
1481            stringify!(_flags)
1482        )
1483    );
1484    assert_eq!(
1485        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
1486        8usize,
1487        concat!(
1488            "Offset of field: ",
1489            stringify!(_IO_FILE),
1490            "::",
1491            stringify!(_IO_read_ptr)
1492        )
1493    );
1494    assert_eq!(
1495        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
1496        16usize,
1497        concat!(
1498            "Offset of field: ",
1499            stringify!(_IO_FILE),
1500            "::",
1501            stringify!(_IO_read_end)
1502        )
1503    );
1504    assert_eq!(
1505        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
1506        24usize,
1507        concat!(
1508            "Offset of field: ",
1509            stringify!(_IO_FILE),
1510            "::",
1511            stringify!(_IO_read_base)
1512        )
1513    );
1514    assert_eq!(
1515        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
1516        32usize,
1517        concat!(
1518            "Offset of field: ",
1519            stringify!(_IO_FILE),
1520            "::",
1521            stringify!(_IO_write_base)
1522        )
1523    );
1524    assert_eq!(
1525        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
1526        40usize,
1527        concat!(
1528            "Offset of field: ",
1529            stringify!(_IO_FILE),
1530            "::",
1531            stringify!(_IO_write_ptr)
1532        )
1533    );
1534    assert_eq!(
1535        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
1536        48usize,
1537        concat!(
1538            "Offset of field: ",
1539            stringify!(_IO_FILE),
1540            "::",
1541            stringify!(_IO_write_end)
1542        )
1543    );
1544    assert_eq!(
1545        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
1546        56usize,
1547        concat!(
1548            "Offset of field: ",
1549            stringify!(_IO_FILE),
1550            "::",
1551            stringify!(_IO_buf_base)
1552        )
1553    );
1554    assert_eq!(
1555        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
1556        64usize,
1557        concat!(
1558            "Offset of field: ",
1559            stringify!(_IO_FILE),
1560            "::",
1561            stringify!(_IO_buf_end)
1562        )
1563    );
1564    assert_eq!(
1565        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
1566        72usize,
1567        concat!(
1568            "Offset of field: ",
1569            stringify!(_IO_FILE),
1570            "::",
1571            stringify!(_IO_save_base)
1572        )
1573    );
1574    assert_eq!(
1575        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
1576        80usize,
1577        concat!(
1578            "Offset of field: ",
1579            stringify!(_IO_FILE),
1580            "::",
1581            stringify!(_IO_backup_base)
1582        )
1583    );
1584    assert_eq!(
1585        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
1586        88usize,
1587        concat!(
1588            "Offset of field: ",
1589            stringify!(_IO_FILE),
1590            "::",
1591            stringify!(_IO_save_end)
1592        )
1593    );
1594    assert_eq!(
1595        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
1596        96usize,
1597        concat!(
1598            "Offset of field: ",
1599            stringify!(_IO_FILE),
1600            "::",
1601            stringify!(_markers)
1602        )
1603    );
1604    assert_eq!(
1605        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
1606        104usize,
1607        concat!(
1608            "Offset of field: ",
1609            stringify!(_IO_FILE),
1610            "::",
1611            stringify!(_chain)
1612        )
1613    );
1614    assert_eq!(
1615        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
1616        112usize,
1617        concat!(
1618            "Offset of field: ",
1619            stringify!(_IO_FILE),
1620            "::",
1621            stringify!(_fileno)
1622        )
1623    );
1624    assert_eq!(
1625        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
1626        116usize,
1627        concat!(
1628            "Offset of field: ",
1629            stringify!(_IO_FILE),
1630            "::",
1631            stringify!(_flags2)
1632        )
1633    );
1634    assert_eq!(
1635        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
1636        120usize,
1637        concat!(
1638            "Offset of field: ",
1639            stringify!(_IO_FILE),
1640            "::",
1641            stringify!(_old_offset)
1642        )
1643    );
1644    assert_eq!(
1645        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
1646        128usize,
1647        concat!(
1648            "Offset of field: ",
1649            stringify!(_IO_FILE),
1650            "::",
1651            stringify!(_cur_column)
1652        )
1653    );
1654    assert_eq!(
1655        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
1656        130usize,
1657        concat!(
1658            "Offset of field: ",
1659            stringify!(_IO_FILE),
1660            "::",
1661            stringify!(_vtable_offset)
1662        )
1663    );
1664    assert_eq!(
1665        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
1666        131usize,
1667        concat!(
1668            "Offset of field: ",
1669            stringify!(_IO_FILE),
1670            "::",
1671            stringify!(_shortbuf)
1672        )
1673    );
1674    assert_eq!(
1675        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
1676        136usize,
1677        concat!(
1678            "Offset of field: ",
1679            stringify!(_IO_FILE),
1680            "::",
1681            stringify!(_lock)
1682        )
1683    );
1684    assert_eq!(
1685        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
1686        144usize,
1687        concat!(
1688            "Offset of field: ",
1689            stringify!(_IO_FILE),
1690            "::",
1691            stringify!(_offset)
1692        )
1693    );
1694    assert_eq!(
1695        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
1696        152usize,
1697        concat!(
1698            "Offset of field: ",
1699            stringify!(_IO_FILE),
1700            "::",
1701            stringify!(_codecvt)
1702        )
1703    );
1704    assert_eq!(
1705        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
1706        160usize,
1707        concat!(
1708            "Offset of field: ",
1709            stringify!(_IO_FILE),
1710            "::",
1711            stringify!(_wide_data)
1712        )
1713    );
1714    assert_eq!(
1715        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
1716        168usize,
1717        concat!(
1718            "Offset of field: ",
1719            stringify!(_IO_FILE),
1720            "::",
1721            stringify!(_freeres_list)
1722        )
1723    );
1724    assert_eq!(
1725        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
1726        176usize,
1727        concat!(
1728            "Offset of field: ",
1729            stringify!(_IO_FILE),
1730            "::",
1731            stringify!(_freeres_buf)
1732        )
1733    );
1734    assert_eq!(
1735        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
1736        184usize,
1737        concat!(
1738            "Offset of field: ",
1739            stringify!(_IO_FILE),
1740            "::",
1741            stringify!(__pad5)
1742        )
1743    );
1744    assert_eq!(
1745        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
1746        192usize,
1747        concat!(
1748            "Offset of field: ",
1749            stringify!(_IO_FILE),
1750            "::",
1751            stringify!(_mode)
1752        )
1753    );
1754    assert_eq!(
1755        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
1756        196usize,
1757        concat!(
1758            "Offset of field: ",
1759            stringify!(_IO_FILE),
1760            "::",
1761            stringify!(_unused2)
1762        )
1763    );
1764}
1765pub type off_t = __off_t;
1766pub type fpos_t = __fpos_t;
1767extern "C" {
1768    pub static mut stdin: *mut FILE;
1769}
1770extern "C" {
1771    pub static mut stdout: *mut FILE;
1772}
1773extern "C" {
1774    pub static mut stderr: *mut FILE;
1775}
1776extern "C" {
1777    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1778}
1779extern "C" {
1780    pub fn rename(
1781        __old: *const ::std::os::raw::c_char,
1782        __new: *const ::std::os::raw::c_char,
1783    ) -> ::std::os::raw::c_int;
1784}
1785extern "C" {
1786    pub fn renameat(
1787        __oldfd: ::std::os::raw::c_int,
1788        __old: *const ::std::os::raw::c_char,
1789        __newfd: ::std::os::raw::c_int,
1790        __new: *const ::std::os::raw::c_char,
1791    ) -> ::std::os::raw::c_int;
1792}
1793extern "C" {
1794    pub fn tmpfile() -> *mut FILE;
1795}
1796extern "C" {
1797    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1798}
1799extern "C" {
1800    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1801}
1802extern "C" {
1803    pub fn tempnam(
1804        __dir: *const ::std::os::raw::c_char,
1805        __pfx: *const ::std::os::raw::c_char,
1806    ) -> *mut ::std::os::raw::c_char;
1807}
1808extern "C" {
1809    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1810}
1811extern "C" {
1812    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
1813}
1814extern "C" {
1815    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1816}
1817extern "C" {
1818    pub fn fopen(
1819        __filename: *const ::std::os::raw::c_char,
1820        __modes: *const ::std::os::raw::c_char,
1821    ) -> *mut FILE;
1822}
1823extern "C" {
1824    pub fn freopen(
1825        __filename: *const ::std::os::raw::c_char,
1826        __modes: *const ::std::os::raw::c_char,
1827        __stream: *mut FILE,
1828    ) -> *mut FILE;
1829}
1830extern "C" {
1831    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
1832        -> *mut FILE;
1833}
1834extern "C" {
1835    pub fn fmemopen(
1836        __s: *mut ::std::os::raw::c_void,
1837        __len: usize,
1838        __modes: *const ::std::os::raw::c_char,
1839    ) -> *mut FILE;
1840}
1841extern "C" {
1842    pub fn open_memstream(
1843        __bufloc: *mut *mut ::std::os::raw::c_char,
1844        __sizeloc: *mut usize,
1845    ) -> *mut FILE;
1846}
1847extern "C" {
1848    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
1849}
1850extern "C" {
1851    pub fn setvbuf(
1852        __stream: *mut FILE,
1853        __buf: *mut ::std::os::raw::c_char,
1854        __modes: ::std::os::raw::c_int,
1855        __n: usize,
1856    ) -> ::std::os::raw::c_int;
1857}
1858extern "C" {
1859    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
1860}
1861extern "C" {
1862    pub fn setlinebuf(__stream: *mut FILE);
1863}
1864extern "C" {
1865    pub fn fprintf(
1866        __stream: *mut FILE,
1867        __format: *const ::std::os::raw::c_char,
1868        ...
1869    ) -> ::std::os::raw::c_int;
1870}
1871extern "C" {
1872    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1873}
1874extern "C" {
1875    pub fn sprintf(
1876        __s: *mut ::std::os::raw::c_char,
1877        __format: *const ::std::os::raw::c_char,
1878        ...
1879    ) -> ::std::os::raw::c_int;
1880}
1881extern "C" {
1882    pub fn vfprintf(
1883        __s: *mut FILE,
1884        __format: *const ::std::os::raw::c_char,
1885        __arg: *mut __va_list_tag,
1886    ) -> ::std::os::raw::c_int;
1887}
1888extern "C" {
1889    pub fn vprintf(
1890        __format: *const ::std::os::raw::c_char,
1891        __arg: *mut __va_list_tag,
1892    ) -> ::std::os::raw::c_int;
1893}
1894extern "C" {
1895    pub fn vsprintf(
1896        __s: *mut ::std::os::raw::c_char,
1897        __format: *const ::std::os::raw::c_char,
1898        __arg: *mut __va_list_tag,
1899    ) -> ::std::os::raw::c_int;
1900}
1901extern "C" {
1902    pub fn snprintf(
1903        __s: *mut ::std::os::raw::c_char,
1904        __maxlen: ::std::os::raw::c_ulong,
1905        __format: *const ::std::os::raw::c_char,
1906        ...
1907    ) -> ::std::os::raw::c_int;
1908}
1909extern "C" {
1910    pub fn vsnprintf(
1911        __s: *mut ::std::os::raw::c_char,
1912        __maxlen: ::std::os::raw::c_ulong,
1913        __format: *const ::std::os::raw::c_char,
1914        __arg: *mut __va_list_tag,
1915    ) -> ::std::os::raw::c_int;
1916}
1917extern "C" {
1918    pub fn vdprintf(
1919        __fd: ::std::os::raw::c_int,
1920        __fmt: *const ::std::os::raw::c_char,
1921        __arg: *mut __va_list_tag,
1922    ) -> ::std::os::raw::c_int;
1923}
1924extern "C" {
1925    pub fn dprintf(
1926        __fd: ::std::os::raw::c_int,
1927        __fmt: *const ::std::os::raw::c_char,
1928        ...
1929    ) -> ::std::os::raw::c_int;
1930}
1931extern "C" {
1932    pub fn fscanf(
1933        __stream: *mut FILE,
1934        __format: *const ::std::os::raw::c_char,
1935        ...
1936    ) -> ::std::os::raw::c_int;
1937}
1938extern "C" {
1939    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1940}
1941extern "C" {
1942    pub fn sscanf(
1943        __s: *const ::std::os::raw::c_char,
1944        __format: *const ::std::os::raw::c_char,
1945        ...
1946    ) -> ::std::os::raw::c_int;
1947}
1948extern "C" {
1949    #[link_name = "\u{1}__isoc99_fscanf"]
1950    pub fn fscanf1(
1951        __stream: *mut FILE,
1952        __format: *const ::std::os::raw::c_char,
1953        ...
1954    ) -> ::std::os::raw::c_int;
1955}
1956extern "C" {
1957    #[link_name = "\u{1}__isoc99_scanf"]
1958    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
1959}
1960extern "C" {
1961    #[link_name = "\u{1}__isoc99_sscanf"]
1962    pub fn sscanf1(
1963        __s: *const ::std::os::raw::c_char,
1964        __format: *const ::std::os::raw::c_char,
1965        ...
1966    ) -> ::std::os::raw::c_int;
1967}
1968extern "C" {
1969    pub fn vfscanf(
1970        __s: *mut FILE,
1971        __format: *const ::std::os::raw::c_char,
1972        __arg: *mut __va_list_tag,
1973    ) -> ::std::os::raw::c_int;
1974}
1975extern "C" {
1976    pub fn vscanf(
1977        __format: *const ::std::os::raw::c_char,
1978        __arg: *mut __va_list_tag,
1979    ) -> ::std::os::raw::c_int;
1980}
1981extern "C" {
1982    pub fn vsscanf(
1983        __s: *const ::std::os::raw::c_char,
1984        __format: *const ::std::os::raw::c_char,
1985        __arg: *mut __va_list_tag,
1986    ) -> ::std::os::raw::c_int;
1987}
1988extern "C" {
1989    #[link_name = "\u{1}__isoc99_vfscanf"]
1990    pub fn vfscanf1(
1991        __s: *mut FILE,
1992        __format: *const ::std::os::raw::c_char,
1993        __arg: *mut __va_list_tag,
1994    ) -> ::std::os::raw::c_int;
1995}
1996extern "C" {
1997    #[link_name = "\u{1}__isoc99_vscanf"]
1998    pub fn vscanf1(
1999        __format: *const ::std::os::raw::c_char,
2000        __arg: *mut __va_list_tag,
2001    ) -> ::std::os::raw::c_int;
2002}
2003extern "C" {
2004    #[link_name = "\u{1}__isoc99_vsscanf"]
2005    pub fn vsscanf1(
2006        __s: *const ::std::os::raw::c_char,
2007        __format: *const ::std::os::raw::c_char,
2008        __arg: *mut __va_list_tag,
2009    ) -> ::std::os::raw::c_int;
2010}
2011extern "C" {
2012    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2013}
2014extern "C" {
2015    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
2016}
2017extern "C" {
2018    pub fn getchar() -> ::std::os::raw::c_int;
2019}
2020extern "C" {
2021    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2022}
2023extern "C" {
2024    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
2025}
2026extern "C" {
2027    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2028}
2029extern "C" {
2030    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2031}
2032extern "C" {
2033    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2034}
2035extern "C" {
2036    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2037}
2038extern "C" {
2039    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
2040        -> ::std::os::raw::c_int;
2041}
2042extern "C" {
2043    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2044}
2045extern "C" {
2046    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2047}
2048extern "C" {
2049    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
2050}
2051extern "C" {
2052    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2053}
2054extern "C" {
2055    pub fn fgets(
2056        __s: *mut ::std::os::raw::c_char,
2057        __n: ::std::os::raw::c_int,
2058        __stream: *mut FILE,
2059    ) -> *mut ::std::os::raw::c_char;
2060}
2061extern "C" {
2062    pub fn __getdelim(
2063        __lineptr: *mut *mut ::std::os::raw::c_char,
2064        __n: *mut usize,
2065        __delimiter: ::std::os::raw::c_int,
2066        __stream: *mut FILE,
2067    ) -> __ssize_t;
2068}
2069extern "C" {
2070    pub fn getdelim(
2071        __lineptr: *mut *mut ::std::os::raw::c_char,
2072        __n: *mut usize,
2073        __delimiter: ::std::os::raw::c_int,
2074        __stream: *mut FILE,
2075    ) -> __ssize_t;
2076}
2077extern "C" {
2078    pub fn getline(
2079        __lineptr: *mut *mut ::std::os::raw::c_char,
2080        __n: *mut usize,
2081        __stream: *mut FILE,
2082    ) -> __ssize_t;
2083}
2084extern "C" {
2085    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
2086}
2087extern "C" {
2088    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
2089}
2090extern "C" {
2091    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
2092}
2093extern "C" {
2094    pub fn fread(
2095        __ptr: *mut ::std::os::raw::c_void,
2096        __size: ::std::os::raw::c_ulong,
2097        __n: ::std::os::raw::c_ulong,
2098        __stream: *mut FILE,
2099    ) -> ::std::os::raw::c_ulong;
2100}
2101extern "C" {
2102    pub fn fwrite(
2103        __ptr: *const ::std::os::raw::c_void,
2104        __size: ::std::os::raw::c_ulong,
2105        __n: ::std::os::raw::c_ulong,
2106        __s: *mut FILE,
2107    ) -> ::std::os::raw::c_ulong;
2108}
2109extern "C" {
2110    pub fn fread_unlocked(
2111        __ptr: *mut ::std::os::raw::c_void,
2112        __size: usize,
2113        __n: usize,
2114        __stream: *mut FILE,
2115    ) -> usize;
2116}
2117extern "C" {
2118    pub fn fwrite_unlocked(
2119        __ptr: *const ::std::os::raw::c_void,
2120        __size: usize,
2121        __n: usize,
2122        __stream: *mut FILE,
2123    ) -> usize;
2124}
2125extern "C" {
2126    pub fn fseek(
2127        __stream: *mut FILE,
2128        __off: ::std::os::raw::c_long,
2129        __whence: ::std::os::raw::c_int,
2130    ) -> ::std::os::raw::c_int;
2131}
2132extern "C" {
2133    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
2134}
2135extern "C" {
2136    pub fn rewind(__stream: *mut FILE);
2137}
2138extern "C" {
2139    pub fn fseeko(
2140        __stream: *mut FILE,
2141        __off: __off_t,
2142        __whence: ::std::os::raw::c_int,
2143    ) -> ::std::os::raw::c_int;
2144}
2145extern "C" {
2146    pub fn ftello(__stream: *mut FILE) -> __off_t;
2147}
2148extern "C" {
2149    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
2150}
2151extern "C" {
2152    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
2153}
2154extern "C" {
2155    pub fn clearerr(__stream: *mut FILE);
2156}
2157extern "C" {
2158    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
2159}
2160extern "C" {
2161    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
2162}
2163extern "C" {
2164    pub fn clearerr_unlocked(__stream: *mut FILE);
2165}
2166extern "C" {
2167    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2168}
2169extern "C" {
2170    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2171}
2172extern "C" {
2173    pub fn perror(__s: *const ::std::os::raw::c_char);
2174}
2175extern "C" {
2176    pub static mut sys_nerr: ::std::os::raw::c_int;
2177}
2178extern "C" {
2179    pub static sys_errlist: [*const ::std::os::raw::c_char; 0usize];
2180}
2181extern "C" {
2182    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
2183}
2184extern "C" {
2185    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
2186}
2187extern "C" {
2188    pub fn popen(
2189        __command: *const ::std::os::raw::c_char,
2190        __modes: *const ::std::os::raw::c_char,
2191    ) -> *mut FILE;
2192}
2193extern "C" {
2194    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
2195}
2196extern "C" {
2197    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2198}
2199extern "C" {
2200    pub fn flockfile(__stream: *mut FILE);
2201}
2202extern "C" {
2203    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
2204}
2205extern "C" {
2206    pub fn funlockfile(__stream: *mut FILE);
2207}
2208extern "C" {
2209    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
2210}
2211extern "C" {
2212    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2213}
2214extern "C" {
2215    pub fn memcpy(
2216        __dest: *mut ::std::os::raw::c_void,
2217        __src: *const ::std::os::raw::c_void,
2218        __n: ::std::os::raw::c_ulong,
2219    ) -> *mut ::std::os::raw::c_void;
2220}
2221extern "C" {
2222    pub fn memmove(
2223        __dest: *mut ::std::os::raw::c_void,
2224        __src: *const ::std::os::raw::c_void,
2225        __n: ::std::os::raw::c_ulong,
2226    ) -> *mut ::std::os::raw::c_void;
2227}
2228extern "C" {
2229    pub fn memccpy(
2230        __dest: *mut ::std::os::raw::c_void,
2231        __src: *const ::std::os::raw::c_void,
2232        __c: ::std::os::raw::c_int,
2233        __n: ::std::os::raw::c_ulong,
2234    ) -> *mut ::std::os::raw::c_void;
2235}
2236extern "C" {
2237    pub fn memset(
2238        __s: *mut ::std::os::raw::c_void,
2239        __c: ::std::os::raw::c_int,
2240        __n: ::std::os::raw::c_ulong,
2241    ) -> *mut ::std::os::raw::c_void;
2242}
2243extern "C" {
2244    pub fn memcmp(
2245        __s1: *const ::std::os::raw::c_void,
2246        __s2: *const ::std::os::raw::c_void,
2247        __n: ::std::os::raw::c_ulong,
2248    ) -> ::std::os::raw::c_int;
2249}
2250extern "C" {
2251    pub fn memchr(
2252        __s: *const ::std::os::raw::c_void,
2253        __c: ::std::os::raw::c_int,
2254        __n: ::std::os::raw::c_ulong,
2255    ) -> *mut ::std::os::raw::c_void;
2256}
2257extern "C" {
2258    pub fn strcpy(
2259        __dest: *mut ::std::os::raw::c_char,
2260        __src: *const ::std::os::raw::c_char,
2261    ) -> *mut ::std::os::raw::c_char;
2262}
2263extern "C" {
2264    pub fn strncpy(
2265        __dest: *mut ::std::os::raw::c_char,
2266        __src: *const ::std::os::raw::c_char,
2267        __n: ::std::os::raw::c_ulong,
2268    ) -> *mut ::std::os::raw::c_char;
2269}
2270extern "C" {
2271    pub fn strcat(
2272        __dest: *mut ::std::os::raw::c_char,
2273        __src: *const ::std::os::raw::c_char,
2274    ) -> *mut ::std::os::raw::c_char;
2275}
2276extern "C" {
2277    pub fn strncat(
2278        __dest: *mut ::std::os::raw::c_char,
2279        __src: *const ::std::os::raw::c_char,
2280        __n: ::std::os::raw::c_ulong,
2281    ) -> *mut ::std::os::raw::c_char;
2282}
2283extern "C" {
2284    pub fn strcmp(
2285        __s1: *const ::std::os::raw::c_char,
2286        __s2: *const ::std::os::raw::c_char,
2287    ) -> ::std::os::raw::c_int;
2288}
2289extern "C" {
2290    pub fn strncmp(
2291        __s1: *const ::std::os::raw::c_char,
2292        __s2: *const ::std::os::raw::c_char,
2293        __n: ::std::os::raw::c_ulong,
2294    ) -> ::std::os::raw::c_int;
2295}
2296extern "C" {
2297    pub fn strcoll(
2298        __s1: *const ::std::os::raw::c_char,
2299        __s2: *const ::std::os::raw::c_char,
2300    ) -> ::std::os::raw::c_int;
2301}
2302extern "C" {
2303    pub fn strxfrm(
2304        __dest: *mut ::std::os::raw::c_char,
2305        __src: *const ::std::os::raw::c_char,
2306        __n: ::std::os::raw::c_ulong,
2307    ) -> ::std::os::raw::c_ulong;
2308}
2309extern "C" {
2310    pub fn strcoll_l(
2311        __s1: *const ::std::os::raw::c_char,
2312        __s2: *const ::std::os::raw::c_char,
2313        __l: locale_t,
2314    ) -> ::std::os::raw::c_int;
2315}
2316extern "C" {
2317    pub fn strxfrm_l(
2318        __dest: *mut ::std::os::raw::c_char,
2319        __src: *const ::std::os::raw::c_char,
2320        __n: usize,
2321        __l: locale_t,
2322    ) -> usize;
2323}
2324extern "C" {
2325    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2326}
2327extern "C" {
2328    pub fn strndup(
2329        __string: *const ::std::os::raw::c_char,
2330        __n: ::std::os::raw::c_ulong,
2331    ) -> *mut ::std::os::raw::c_char;
2332}
2333extern "C" {
2334    pub fn strchr(
2335        __s: *const ::std::os::raw::c_char,
2336        __c: ::std::os::raw::c_int,
2337    ) -> *mut ::std::os::raw::c_char;
2338}
2339extern "C" {
2340    pub fn strrchr(
2341        __s: *const ::std::os::raw::c_char,
2342        __c: ::std::os::raw::c_int,
2343    ) -> *mut ::std::os::raw::c_char;
2344}
2345extern "C" {
2346    pub fn strcspn(
2347        __s: *const ::std::os::raw::c_char,
2348        __reject: *const ::std::os::raw::c_char,
2349    ) -> ::std::os::raw::c_ulong;
2350}
2351extern "C" {
2352    pub fn strspn(
2353        __s: *const ::std::os::raw::c_char,
2354        __accept: *const ::std::os::raw::c_char,
2355    ) -> ::std::os::raw::c_ulong;
2356}
2357extern "C" {
2358    pub fn strpbrk(
2359        __s: *const ::std::os::raw::c_char,
2360        __accept: *const ::std::os::raw::c_char,
2361    ) -> *mut ::std::os::raw::c_char;
2362}
2363extern "C" {
2364    pub fn strstr(
2365        __haystack: *const ::std::os::raw::c_char,
2366        __needle: *const ::std::os::raw::c_char,
2367    ) -> *mut ::std::os::raw::c_char;
2368}
2369extern "C" {
2370    pub fn strtok(
2371        __s: *mut ::std::os::raw::c_char,
2372        __delim: *const ::std::os::raw::c_char,
2373    ) -> *mut ::std::os::raw::c_char;
2374}
2375extern "C" {
2376    pub fn __strtok_r(
2377        __s: *mut ::std::os::raw::c_char,
2378        __delim: *const ::std::os::raw::c_char,
2379        __save_ptr: *mut *mut ::std::os::raw::c_char,
2380    ) -> *mut ::std::os::raw::c_char;
2381}
2382extern "C" {
2383    pub fn strtok_r(
2384        __s: *mut ::std::os::raw::c_char,
2385        __delim: *const ::std::os::raw::c_char,
2386        __save_ptr: *mut *mut ::std::os::raw::c_char,
2387    ) -> *mut ::std::os::raw::c_char;
2388}
2389extern "C" {
2390    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
2391}
2392extern "C" {
2393    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
2394}
2395extern "C" {
2396    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2397}
2398extern "C" {
2399    #[link_name = "\u{1}__xpg_strerror_r"]
2400    pub fn strerror_r(
2401        __errnum: ::std::os::raw::c_int,
2402        __buf: *mut ::std::os::raw::c_char,
2403        __buflen: usize,
2404    ) -> ::std::os::raw::c_int;
2405}
2406extern "C" {
2407    pub fn strerror_l(
2408        __errnum: ::std::os::raw::c_int,
2409        __l: locale_t,
2410    ) -> *mut ::std::os::raw::c_char;
2411}
2412extern "C" {
2413    pub fn bcmp(
2414        __s1: *const ::std::os::raw::c_void,
2415        __s2: *const ::std::os::raw::c_void,
2416        __n: ::std::os::raw::c_ulong,
2417    ) -> ::std::os::raw::c_int;
2418}
2419extern "C" {
2420    pub fn bcopy(
2421        __src: *const ::std::os::raw::c_void,
2422        __dest: *mut ::std::os::raw::c_void,
2423        __n: usize,
2424    );
2425}
2426extern "C" {
2427    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
2428}
2429extern "C" {
2430    pub fn index(
2431        __s: *const ::std::os::raw::c_char,
2432        __c: ::std::os::raw::c_int,
2433    ) -> *mut ::std::os::raw::c_char;
2434}
2435extern "C" {
2436    pub fn rindex(
2437        __s: *const ::std::os::raw::c_char,
2438        __c: ::std::os::raw::c_int,
2439    ) -> *mut ::std::os::raw::c_char;
2440}
2441extern "C" {
2442    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2443}
2444extern "C" {
2445    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
2446}
2447extern "C" {
2448    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
2449}
2450extern "C" {
2451    pub fn strcasecmp(
2452        __s1: *const ::std::os::raw::c_char,
2453        __s2: *const ::std::os::raw::c_char,
2454    ) -> ::std::os::raw::c_int;
2455}
2456extern "C" {
2457    pub fn strncasecmp(
2458        __s1: *const ::std::os::raw::c_char,
2459        __s2: *const ::std::os::raw::c_char,
2460        __n: ::std::os::raw::c_ulong,
2461    ) -> ::std::os::raw::c_int;
2462}
2463extern "C" {
2464    pub fn strcasecmp_l(
2465        __s1: *const ::std::os::raw::c_char,
2466        __s2: *const ::std::os::raw::c_char,
2467        __loc: locale_t,
2468    ) -> ::std::os::raw::c_int;
2469}
2470extern "C" {
2471    pub fn strncasecmp_l(
2472        __s1: *const ::std::os::raw::c_char,
2473        __s2: *const ::std::os::raw::c_char,
2474        __n: usize,
2475        __loc: locale_t,
2476    ) -> ::std::os::raw::c_int;
2477}
2478extern "C" {
2479    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
2480}
2481extern "C" {
2482    pub fn strsep(
2483        __stringp: *mut *mut ::std::os::raw::c_char,
2484        __delim: *const ::std::os::raw::c_char,
2485    ) -> *mut ::std::os::raw::c_char;
2486}
2487extern "C" {
2488    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2489}
2490extern "C" {
2491    pub fn __stpcpy(
2492        __dest: *mut ::std::os::raw::c_char,
2493        __src: *const ::std::os::raw::c_char,
2494    ) -> *mut ::std::os::raw::c_char;
2495}
2496extern "C" {
2497    pub fn stpcpy(
2498        __dest: *mut ::std::os::raw::c_char,
2499        __src: *const ::std::os::raw::c_char,
2500    ) -> *mut ::std::os::raw::c_char;
2501}
2502extern "C" {
2503    pub fn __stpncpy(
2504        __dest: *mut ::std::os::raw::c_char,
2505        __src: *const ::std::os::raw::c_char,
2506        __n: usize,
2507    ) -> *mut ::std::os::raw::c_char;
2508}
2509extern "C" {
2510    pub fn stpncpy(
2511        __dest: *mut ::std::os::raw::c_char,
2512        __src: *const ::std::os::raw::c_char,
2513        __n: ::std::os::raw::c_ulong,
2514    ) -> *mut ::std::os::raw::c_char;
2515}
2516#[repr(C)]
2517#[derive(Debug, Copy, Clone)]
2518pub struct iovec {
2519    pub iov_base: *mut ::std::os::raw::c_void,
2520    pub iov_len: usize,
2521}
2522#[test]
2523fn bindgen_test_layout_iovec() {
2524    const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
2525    let ptr = UNINIT.as_ptr();
2526    assert_eq!(
2527        ::std::mem::size_of::<iovec>(),
2528        16usize,
2529        concat!("Size of: ", stringify!(iovec))
2530    );
2531    assert_eq!(
2532        ::std::mem::align_of::<iovec>(),
2533        8usize,
2534        concat!("Alignment of ", stringify!(iovec))
2535    );
2536    assert_eq!(
2537        unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
2538        0usize,
2539        concat!(
2540            "Offset of field: ",
2541            stringify!(iovec),
2542            "::",
2543            stringify!(iov_base)
2544        )
2545    );
2546    assert_eq!(
2547        unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
2548        8usize,
2549        concat!(
2550            "Offset of field: ",
2551            stringify!(iovec),
2552            "::",
2553            stringify!(iov_len)
2554        )
2555    );
2556}
2557pub type u_char = __u_char;
2558pub type u_short = __u_short;
2559pub type u_int = __u_int;
2560pub type u_long = __u_long;
2561pub type quad_t = __quad_t;
2562pub type u_quad_t = __u_quad_t;
2563pub type fsid_t = __fsid_t;
2564pub type loff_t = __loff_t;
2565pub type ino_t = __ino_t;
2566pub type dev_t = __dev_t;
2567pub type gid_t = __gid_t;
2568pub type mode_t = __mode_t;
2569pub type nlink_t = __nlink_t;
2570pub type uid_t = __uid_t;
2571pub type id_t = __id_t;
2572pub type daddr_t = __daddr_t;
2573pub type caddr_t = __caddr_t;
2574pub type key_t = __key_t;
2575pub type ulong = ::std::os::raw::c_ulong;
2576pub type ushort = ::std::os::raw::c_ushort;
2577pub type uint = ::std::os::raw::c_uint;
2578pub type u_int8_t = __uint8_t;
2579pub type u_int16_t = __uint16_t;
2580pub type u_int32_t = __uint32_t;
2581pub type u_int64_t = __uint64_t;
2582pub type register_t = ::std::os::raw::c_long;
2583#[repr(C)]
2584#[derive(Debug, Copy, Clone)]
2585pub struct __sigset_t {
2586    pub __val: [::std::os::raw::c_ulong; 16usize],
2587}
2588#[test]
2589fn bindgen_test_layout___sigset_t() {
2590    const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
2591    let ptr = UNINIT.as_ptr();
2592    assert_eq!(
2593        ::std::mem::size_of::<__sigset_t>(),
2594        128usize,
2595        concat!("Size of: ", stringify!(__sigset_t))
2596    );
2597    assert_eq!(
2598        ::std::mem::align_of::<__sigset_t>(),
2599        8usize,
2600        concat!("Alignment of ", stringify!(__sigset_t))
2601    );
2602    assert_eq!(
2603        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
2604        0usize,
2605        concat!(
2606            "Offset of field: ",
2607            stringify!(__sigset_t),
2608            "::",
2609            stringify!(__val)
2610        )
2611    );
2612}
2613pub type sigset_t = __sigset_t;
2614#[repr(C)]
2615#[derive(Debug, Copy, Clone)]
2616pub struct timeval {
2617    pub tv_sec: __time_t,
2618    pub tv_usec: __suseconds_t,
2619}
2620#[test]
2621fn bindgen_test_layout_timeval() {
2622    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
2623    let ptr = UNINIT.as_ptr();
2624    assert_eq!(
2625        ::std::mem::size_of::<timeval>(),
2626        16usize,
2627        concat!("Size of: ", stringify!(timeval))
2628    );
2629    assert_eq!(
2630        ::std::mem::align_of::<timeval>(),
2631        8usize,
2632        concat!("Alignment of ", stringify!(timeval))
2633    );
2634    assert_eq!(
2635        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2636        0usize,
2637        concat!(
2638            "Offset of field: ",
2639            stringify!(timeval),
2640            "::",
2641            stringify!(tv_sec)
2642        )
2643    );
2644    assert_eq!(
2645        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
2646        8usize,
2647        concat!(
2648            "Offset of field: ",
2649            stringify!(timeval),
2650            "::",
2651            stringify!(tv_usec)
2652        )
2653    );
2654}
2655pub type suseconds_t = __suseconds_t;
2656pub type __fd_mask = ::std::os::raw::c_long;
2657#[repr(C)]
2658#[derive(Debug, Copy, Clone)]
2659pub struct fd_set {
2660    pub __fds_bits: [__fd_mask; 16usize],
2661}
2662#[test]
2663fn bindgen_test_layout_fd_set() {
2664    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
2665    let ptr = UNINIT.as_ptr();
2666    assert_eq!(
2667        ::std::mem::size_of::<fd_set>(),
2668        128usize,
2669        concat!("Size of: ", stringify!(fd_set))
2670    );
2671    assert_eq!(
2672        ::std::mem::align_of::<fd_set>(),
2673        8usize,
2674        concat!("Alignment of ", stringify!(fd_set))
2675    );
2676    assert_eq!(
2677        unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
2678        0usize,
2679        concat!(
2680            "Offset of field: ",
2681            stringify!(fd_set),
2682            "::",
2683            stringify!(__fds_bits)
2684        )
2685    );
2686}
2687pub type fd_mask = __fd_mask;
2688extern "C" {
2689    pub fn select(
2690        __nfds: ::std::os::raw::c_int,
2691        __readfds: *mut fd_set,
2692        __writefds: *mut fd_set,
2693        __exceptfds: *mut fd_set,
2694        __timeout: *mut timeval,
2695    ) -> ::std::os::raw::c_int;
2696}
2697extern "C" {
2698    pub fn pselect(
2699        __nfds: ::std::os::raw::c_int,
2700        __readfds: *mut fd_set,
2701        __writefds: *mut fd_set,
2702        __exceptfds: *mut fd_set,
2703        __timeout: *const timespec,
2704        __sigmask: *const __sigset_t,
2705    ) -> ::std::os::raw::c_int;
2706}
2707pub type blksize_t = __blksize_t;
2708pub type blkcnt_t = __blkcnt_t;
2709pub type fsblkcnt_t = __fsblkcnt_t;
2710pub type fsfilcnt_t = __fsfilcnt_t;
2711#[repr(C)]
2712#[derive(Debug, Copy, Clone)]
2713pub struct __pthread_internal_list {
2714    pub __prev: *mut __pthread_internal_list,
2715    pub __next: *mut __pthread_internal_list,
2716}
2717#[test]
2718fn bindgen_test_layout___pthread_internal_list() {
2719    const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
2720        ::std::mem::MaybeUninit::uninit();
2721    let ptr = UNINIT.as_ptr();
2722    assert_eq!(
2723        ::std::mem::size_of::<__pthread_internal_list>(),
2724        16usize,
2725        concat!("Size of: ", stringify!(__pthread_internal_list))
2726    );
2727    assert_eq!(
2728        ::std::mem::align_of::<__pthread_internal_list>(),
2729        8usize,
2730        concat!("Alignment of ", stringify!(__pthread_internal_list))
2731    );
2732    assert_eq!(
2733        unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
2734        0usize,
2735        concat!(
2736            "Offset of field: ",
2737            stringify!(__pthread_internal_list),
2738            "::",
2739            stringify!(__prev)
2740        )
2741    );
2742    assert_eq!(
2743        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
2744        8usize,
2745        concat!(
2746            "Offset of field: ",
2747            stringify!(__pthread_internal_list),
2748            "::",
2749            stringify!(__next)
2750        )
2751    );
2752}
2753pub type __pthread_list_t = __pthread_internal_list;
2754#[repr(C)]
2755#[derive(Debug, Copy, Clone)]
2756pub struct __pthread_internal_slist {
2757    pub __next: *mut __pthread_internal_slist,
2758}
2759#[test]
2760fn bindgen_test_layout___pthread_internal_slist() {
2761    const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
2762        ::std::mem::MaybeUninit::uninit();
2763    let ptr = UNINIT.as_ptr();
2764    assert_eq!(
2765        ::std::mem::size_of::<__pthread_internal_slist>(),
2766        8usize,
2767        concat!("Size of: ", stringify!(__pthread_internal_slist))
2768    );
2769    assert_eq!(
2770        ::std::mem::align_of::<__pthread_internal_slist>(),
2771        8usize,
2772        concat!("Alignment of ", stringify!(__pthread_internal_slist))
2773    );
2774    assert_eq!(
2775        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
2776        0usize,
2777        concat!(
2778            "Offset of field: ",
2779            stringify!(__pthread_internal_slist),
2780            "::",
2781            stringify!(__next)
2782        )
2783    );
2784}
2785pub type __pthread_slist_t = __pthread_internal_slist;
2786#[repr(C)]
2787#[derive(Debug, Copy, Clone)]
2788pub struct __pthread_mutex_s {
2789    pub __lock: ::std::os::raw::c_int,
2790    pub __count: ::std::os::raw::c_uint,
2791    pub __owner: ::std::os::raw::c_int,
2792    pub __nusers: ::std::os::raw::c_uint,
2793    pub __kind: ::std::os::raw::c_int,
2794    pub __spins: ::std::os::raw::c_short,
2795    pub __elision: ::std::os::raw::c_short,
2796    pub __list: __pthread_list_t,
2797}
2798#[test]
2799fn bindgen_test_layout___pthread_mutex_s() {
2800    const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
2801    let ptr = UNINIT.as_ptr();
2802    assert_eq!(
2803        ::std::mem::size_of::<__pthread_mutex_s>(),
2804        40usize,
2805        concat!("Size of: ", stringify!(__pthread_mutex_s))
2806    );
2807    assert_eq!(
2808        ::std::mem::align_of::<__pthread_mutex_s>(),
2809        8usize,
2810        concat!("Alignment of ", stringify!(__pthread_mutex_s))
2811    );
2812    assert_eq!(
2813        unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
2814        0usize,
2815        concat!(
2816            "Offset of field: ",
2817            stringify!(__pthread_mutex_s),
2818            "::",
2819            stringify!(__lock)
2820        )
2821    );
2822    assert_eq!(
2823        unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
2824        4usize,
2825        concat!(
2826            "Offset of field: ",
2827            stringify!(__pthread_mutex_s),
2828            "::",
2829            stringify!(__count)
2830        )
2831    );
2832    assert_eq!(
2833        unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
2834        8usize,
2835        concat!(
2836            "Offset of field: ",
2837            stringify!(__pthread_mutex_s),
2838            "::",
2839            stringify!(__owner)
2840        )
2841    );
2842    assert_eq!(
2843        unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
2844        12usize,
2845        concat!(
2846            "Offset of field: ",
2847            stringify!(__pthread_mutex_s),
2848            "::",
2849            stringify!(__nusers)
2850        )
2851    );
2852    assert_eq!(
2853        unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
2854        16usize,
2855        concat!(
2856            "Offset of field: ",
2857            stringify!(__pthread_mutex_s),
2858            "::",
2859            stringify!(__kind)
2860        )
2861    );
2862    assert_eq!(
2863        unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
2864        20usize,
2865        concat!(
2866            "Offset of field: ",
2867            stringify!(__pthread_mutex_s),
2868            "::",
2869            stringify!(__spins)
2870        )
2871    );
2872    assert_eq!(
2873        unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
2874        22usize,
2875        concat!(
2876            "Offset of field: ",
2877            stringify!(__pthread_mutex_s),
2878            "::",
2879            stringify!(__elision)
2880        )
2881    );
2882    assert_eq!(
2883        unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
2884        24usize,
2885        concat!(
2886            "Offset of field: ",
2887            stringify!(__pthread_mutex_s),
2888            "::",
2889            stringify!(__list)
2890        )
2891    );
2892}
2893#[repr(C)]
2894#[derive(Debug, Copy, Clone)]
2895pub struct __pthread_rwlock_arch_t {
2896    pub __readers: ::std::os::raw::c_uint,
2897    pub __writers: ::std::os::raw::c_uint,
2898    pub __wrphase_futex: ::std::os::raw::c_uint,
2899    pub __writers_futex: ::std::os::raw::c_uint,
2900    pub __pad3: ::std::os::raw::c_uint,
2901    pub __pad4: ::std::os::raw::c_uint,
2902    pub __cur_writer: ::std::os::raw::c_int,
2903    pub __shared: ::std::os::raw::c_int,
2904    pub __rwelision: ::std::os::raw::c_schar,
2905    pub __pad1: [::std::os::raw::c_uchar; 7usize],
2906    pub __pad2: ::std::os::raw::c_ulong,
2907    pub __flags: ::std::os::raw::c_uint,
2908}
2909#[test]
2910fn bindgen_test_layout___pthread_rwlock_arch_t() {
2911    const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
2912        ::std::mem::MaybeUninit::uninit();
2913    let ptr = UNINIT.as_ptr();
2914    assert_eq!(
2915        ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
2916        56usize,
2917        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
2918    );
2919    assert_eq!(
2920        ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
2921        8usize,
2922        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
2923    );
2924    assert_eq!(
2925        unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
2926        0usize,
2927        concat!(
2928            "Offset of field: ",
2929            stringify!(__pthread_rwlock_arch_t),
2930            "::",
2931            stringify!(__readers)
2932        )
2933    );
2934    assert_eq!(
2935        unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
2936        4usize,
2937        concat!(
2938            "Offset of field: ",
2939            stringify!(__pthread_rwlock_arch_t),
2940            "::",
2941            stringify!(__writers)
2942        )
2943    );
2944    assert_eq!(
2945        unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
2946        8usize,
2947        concat!(
2948            "Offset of field: ",
2949            stringify!(__pthread_rwlock_arch_t),
2950            "::",
2951            stringify!(__wrphase_futex)
2952        )
2953    );
2954    assert_eq!(
2955        unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
2956        12usize,
2957        concat!(
2958            "Offset of field: ",
2959            stringify!(__pthread_rwlock_arch_t),
2960            "::",
2961            stringify!(__writers_futex)
2962        )
2963    );
2964    assert_eq!(
2965        unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
2966        16usize,
2967        concat!(
2968            "Offset of field: ",
2969            stringify!(__pthread_rwlock_arch_t),
2970            "::",
2971            stringify!(__pad3)
2972        )
2973    );
2974    assert_eq!(
2975        unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
2976        20usize,
2977        concat!(
2978            "Offset of field: ",
2979            stringify!(__pthread_rwlock_arch_t),
2980            "::",
2981            stringify!(__pad4)
2982        )
2983    );
2984    assert_eq!(
2985        unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
2986        24usize,
2987        concat!(
2988            "Offset of field: ",
2989            stringify!(__pthread_rwlock_arch_t),
2990            "::",
2991            stringify!(__cur_writer)
2992        )
2993    );
2994    assert_eq!(
2995        unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
2996        28usize,
2997        concat!(
2998            "Offset of field: ",
2999            stringify!(__pthread_rwlock_arch_t),
3000            "::",
3001            stringify!(__shared)
3002        )
3003    );
3004    assert_eq!(
3005        unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
3006        32usize,
3007        concat!(
3008            "Offset of field: ",
3009            stringify!(__pthread_rwlock_arch_t),
3010            "::",
3011            stringify!(__rwelision)
3012        )
3013    );
3014    assert_eq!(
3015        unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
3016        33usize,
3017        concat!(
3018            "Offset of field: ",
3019            stringify!(__pthread_rwlock_arch_t),
3020            "::",
3021            stringify!(__pad1)
3022        )
3023    );
3024    assert_eq!(
3025        unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
3026        40usize,
3027        concat!(
3028            "Offset of field: ",
3029            stringify!(__pthread_rwlock_arch_t),
3030            "::",
3031            stringify!(__pad2)
3032        )
3033    );
3034    assert_eq!(
3035        unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
3036        48usize,
3037        concat!(
3038            "Offset of field: ",
3039            stringify!(__pthread_rwlock_arch_t),
3040            "::",
3041            stringify!(__flags)
3042        )
3043    );
3044}
3045#[repr(C)]
3046#[derive(Copy, Clone)]
3047pub struct __pthread_cond_s {
3048    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
3049    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
3050    pub __g_refs: [::std::os::raw::c_uint; 2usize],
3051    pub __g_size: [::std::os::raw::c_uint; 2usize],
3052    pub __g1_orig_size: ::std::os::raw::c_uint,
3053    pub __wrefs: ::std::os::raw::c_uint,
3054    pub __g_signals: [::std::os::raw::c_uint; 2usize],
3055}
3056#[repr(C)]
3057#[derive(Copy, Clone)]
3058pub union __pthread_cond_s__bindgen_ty_1 {
3059    pub __wseq: ::std::os::raw::c_ulonglong,
3060    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
3061}
3062#[repr(C)]
3063#[derive(Debug, Copy, Clone)]
3064pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
3065    pub __low: ::std::os::raw::c_uint,
3066    pub __high: ::std::os::raw::c_uint,
3067}
3068#[test]
3069fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
3070    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1> =
3071        ::std::mem::MaybeUninit::uninit();
3072    let ptr = UNINIT.as_ptr();
3073    assert_eq!(
3074        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
3075        8usize,
3076        concat!(
3077            "Size of: ",
3078            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
3079        )
3080    );
3081    assert_eq!(
3082        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
3083        4usize,
3084        concat!(
3085            "Alignment of ",
3086            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
3087        )
3088    );
3089    assert_eq!(
3090        unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
3091        0usize,
3092        concat!(
3093            "Offset of field: ",
3094            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
3095            "::",
3096            stringify!(__low)
3097        )
3098    );
3099    assert_eq!(
3100        unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
3101        4usize,
3102        concat!(
3103            "Offset of field: ",
3104            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
3105            "::",
3106            stringify!(__high)
3107        )
3108    );
3109}
3110#[test]
3111fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
3112    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_1> =
3113        ::std::mem::MaybeUninit::uninit();
3114    let ptr = UNINIT.as_ptr();
3115    assert_eq!(
3116        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
3117        8usize,
3118        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
3119    );
3120    assert_eq!(
3121        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
3122        8usize,
3123        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
3124    );
3125    assert_eq!(
3126        unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
3127        0usize,
3128        concat!(
3129            "Offset of field: ",
3130            stringify!(__pthread_cond_s__bindgen_ty_1),
3131            "::",
3132            stringify!(__wseq)
3133        )
3134    );
3135    assert_eq!(
3136        unsafe { ::std::ptr::addr_of!((*ptr).__wseq32) as usize - ptr as usize },
3137        0usize,
3138        concat!(
3139            "Offset of field: ",
3140            stringify!(__pthread_cond_s__bindgen_ty_1),
3141            "::",
3142            stringify!(__wseq32)
3143        )
3144    );
3145}
3146#[repr(C)]
3147#[derive(Copy, Clone)]
3148pub union __pthread_cond_s__bindgen_ty_2 {
3149    pub __g1_start: ::std::os::raw::c_ulonglong,
3150    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
3151}
3152#[repr(C)]
3153#[derive(Debug, Copy, Clone)]
3154pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
3155    pub __low: ::std::os::raw::c_uint,
3156    pub __high: ::std::os::raw::c_uint,
3157}
3158#[test]
3159fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
3160    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1> =
3161        ::std::mem::MaybeUninit::uninit();
3162    let ptr = UNINIT.as_ptr();
3163    assert_eq!(
3164        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
3165        8usize,
3166        concat!(
3167            "Size of: ",
3168            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
3169        )
3170    );
3171    assert_eq!(
3172        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
3173        4usize,
3174        concat!(
3175            "Alignment of ",
3176            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
3177        )
3178    );
3179    assert_eq!(
3180        unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
3181        0usize,
3182        concat!(
3183            "Offset of field: ",
3184            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
3185            "::",
3186            stringify!(__low)
3187        )
3188    );
3189    assert_eq!(
3190        unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
3191        4usize,
3192        concat!(
3193            "Offset of field: ",
3194            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
3195            "::",
3196            stringify!(__high)
3197        )
3198    );
3199}
3200#[test]
3201fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
3202    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s__bindgen_ty_2> =
3203        ::std::mem::MaybeUninit::uninit();
3204    let ptr = UNINIT.as_ptr();
3205    assert_eq!(
3206        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
3207        8usize,
3208        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
3209    );
3210    assert_eq!(
3211        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
3212        8usize,
3213        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
3214    );
3215    assert_eq!(
3216        unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
3217        0usize,
3218        concat!(
3219            "Offset of field: ",
3220            stringify!(__pthread_cond_s__bindgen_ty_2),
3221            "::",
3222            stringify!(__g1_start)
3223        )
3224    );
3225    assert_eq!(
3226        unsafe { ::std::ptr::addr_of!((*ptr).__g1_start32) as usize - ptr as usize },
3227        0usize,
3228        concat!(
3229            "Offset of field: ",
3230            stringify!(__pthread_cond_s__bindgen_ty_2),
3231            "::",
3232            stringify!(__g1_start32)
3233        )
3234    );
3235}
3236#[test]
3237fn bindgen_test_layout___pthread_cond_s() {
3238    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
3239    let ptr = UNINIT.as_ptr();
3240    assert_eq!(
3241        ::std::mem::size_of::<__pthread_cond_s>(),
3242        48usize,
3243        concat!("Size of: ", stringify!(__pthread_cond_s))
3244    );
3245    assert_eq!(
3246        ::std::mem::align_of::<__pthread_cond_s>(),
3247        8usize,
3248        concat!("Alignment of ", stringify!(__pthread_cond_s))
3249    );
3250    assert_eq!(
3251        unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
3252        16usize,
3253        concat!(
3254            "Offset of field: ",
3255            stringify!(__pthread_cond_s),
3256            "::",
3257            stringify!(__g_refs)
3258        )
3259    );
3260    assert_eq!(
3261        unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
3262        24usize,
3263        concat!(
3264            "Offset of field: ",
3265            stringify!(__pthread_cond_s),
3266            "::",
3267            stringify!(__g_size)
3268        )
3269    );
3270    assert_eq!(
3271        unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
3272        32usize,
3273        concat!(
3274            "Offset of field: ",
3275            stringify!(__pthread_cond_s),
3276            "::",
3277            stringify!(__g1_orig_size)
3278        )
3279    );
3280    assert_eq!(
3281        unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
3282        36usize,
3283        concat!(
3284            "Offset of field: ",
3285            stringify!(__pthread_cond_s),
3286            "::",
3287            stringify!(__wrefs)
3288        )
3289    );
3290    assert_eq!(
3291        unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
3292        40usize,
3293        concat!(
3294            "Offset of field: ",
3295            stringify!(__pthread_cond_s),
3296            "::",
3297            stringify!(__g_signals)
3298        )
3299    );
3300}
3301pub type pthread_t = ::std::os::raw::c_ulong;
3302#[repr(C)]
3303#[derive(Copy, Clone)]
3304pub union pthread_mutexattr_t {
3305    pub __size: [::std::os::raw::c_char; 4usize],
3306    pub __align: ::std::os::raw::c_int,
3307}
3308#[test]
3309fn bindgen_test_layout_pthread_mutexattr_t() {
3310    const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
3311    let ptr = UNINIT.as_ptr();
3312    assert_eq!(
3313        ::std::mem::size_of::<pthread_mutexattr_t>(),
3314        4usize,
3315        concat!("Size of: ", stringify!(pthread_mutexattr_t))
3316    );
3317    assert_eq!(
3318        ::std::mem::align_of::<pthread_mutexattr_t>(),
3319        4usize,
3320        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
3321    );
3322    assert_eq!(
3323        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3324        0usize,
3325        concat!(
3326            "Offset of field: ",
3327            stringify!(pthread_mutexattr_t),
3328            "::",
3329            stringify!(__size)
3330        )
3331    );
3332    assert_eq!(
3333        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3334        0usize,
3335        concat!(
3336            "Offset of field: ",
3337            stringify!(pthread_mutexattr_t),
3338            "::",
3339            stringify!(__align)
3340        )
3341    );
3342}
3343#[repr(C)]
3344#[derive(Copy, Clone)]
3345pub union pthread_condattr_t {
3346    pub __size: [::std::os::raw::c_char; 4usize],
3347    pub __align: ::std::os::raw::c_int,
3348}
3349#[test]
3350fn bindgen_test_layout_pthread_condattr_t() {
3351    const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
3352    let ptr = UNINIT.as_ptr();
3353    assert_eq!(
3354        ::std::mem::size_of::<pthread_condattr_t>(),
3355        4usize,
3356        concat!("Size of: ", stringify!(pthread_condattr_t))
3357    );
3358    assert_eq!(
3359        ::std::mem::align_of::<pthread_condattr_t>(),
3360        4usize,
3361        concat!("Alignment of ", stringify!(pthread_condattr_t))
3362    );
3363    assert_eq!(
3364        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3365        0usize,
3366        concat!(
3367            "Offset of field: ",
3368            stringify!(pthread_condattr_t),
3369            "::",
3370            stringify!(__size)
3371        )
3372    );
3373    assert_eq!(
3374        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3375        0usize,
3376        concat!(
3377            "Offset of field: ",
3378            stringify!(pthread_condattr_t),
3379            "::",
3380            stringify!(__align)
3381        )
3382    );
3383}
3384pub type pthread_key_t = ::std::os::raw::c_uint;
3385pub type pthread_once_t = ::std::os::raw::c_int;
3386#[repr(C)]
3387#[derive(Copy, Clone)]
3388pub union pthread_attr_t {
3389    pub __size: [::std::os::raw::c_char; 56usize],
3390    pub __align: ::std::os::raw::c_long,
3391}
3392#[test]
3393fn bindgen_test_layout_pthread_attr_t() {
3394    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
3395    let ptr = UNINIT.as_ptr();
3396    assert_eq!(
3397        ::std::mem::size_of::<pthread_attr_t>(),
3398        56usize,
3399        concat!("Size of: ", stringify!(pthread_attr_t))
3400    );
3401    assert_eq!(
3402        ::std::mem::align_of::<pthread_attr_t>(),
3403        8usize,
3404        concat!("Alignment of ", stringify!(pthread_attr_t))
3405    );
3406    assert_eq!(
3407        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3408        0usize,
3409        concat!(
3410            "Offset of field: ",
3411            stringify!(pthread_attr_t),
3412            "::",
3413            stringify!(__size)
3414        )
3415    );
3416    assert_eq!(
3417        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3418        0usize,
3419        concat!(
3420            "Offset of field: ",
3421            stringify!(pthread_attr_t),
3422            "::",
3423            stringify!(__align)
3424        )
3425    );
3426}
3427#[repr(C)]
3428#[derive(Copy, Clone)]
3429pub union pthread_mutex_t {
3430    pub __data: __pthread_mutex_s,
3431    pub __size: [::std::os::raw::c_char; 40usize],
3432    pub __align: ::std::os::raw::c_long,
3433}
3434#[test]
3435fn bindgen_test_layout_pthread_mutex_t() {
3436    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
3437    let ptr = UNINIT.as_ptr();
3438    assert_eq!(
3439        ::std::mem::size_of::<pthread_mutex_t>(),
3440        40usize,
3441        concat!("Size of: ", stringify!(pthread_mutex_t))
3442    );
3443    assert_eq!(
3444        ::std::mem::align_of::<pthread_mutex_t>(),
3445        8usize,
3446        concat!("Alignment of ", stringify!(pthread_mutex_t))
3447    );
3448    assert_eq!(
3449        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
3450        0usize,
3451        concat!(
3452            "Offset of field: ",
3453            stringify!(pthread_mutex_t),
3454            "::",
3455            stringify!(__data)
3456        )
3457    );
3458    assert_eq!(
3459        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3460        0usize,
3461        concat!(
3462            "Offset of field: ",
3463            stringify!(pthread_mutex_t),
3464            "::",
3465            stringify!(__size)
3466        )
3467    );
3468    assert_eq!(
3469        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3470        0usize,
3471        concat!(
3472            "Offset of field: ",
3473            stringify!(pthread_mutex_t),
3474            "::",
3475            stringify!(__align)
3476        )
3477    );
3478}
3479#[repr(C)]
3480#[derive(Copy, Clone)]
3481pub union pthread_cond_t {
3482    pub __data: __pthread_cond_s,
3483    pub __size: [::std::os::raw::c_char; 48usize],
3484    pub __align: ::std::os::raw::c_longlong,
3485}
3486#[test]
3487fn bindgen_test_layout_pthread_cond_t() {
3488    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
3489    let ptr = UNINIT.as_ptr();
3490    assert_eq!(
3491        ::std::mem::size_of::<pthread_cond_t>(),
3492        48usize,
3493        concat!("Size of: ", stringify!(pthread_cond_t))
3494    );
3495    assert_eq!(
3496        ::std::mem::align_of::<pthread_cond_t>(),
3497        8usize,
3498        concat!("Alignment of ", stringify!(pthread_cond_t))
3499    );
3500    assert_eq!(
3501        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
3502        0usize,
3503        concat!(
3504            "Offset of field: ",
3505            stringify!(pthread_cond_t),
3506            "::",
3507            stringify!(__data)
3508        )
3509    );
3510    assert_eq!(
3511        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3512        0usize,
3513        concat!(
3514            "Offset of field: ",
3515            stringify!(pthread_cond_t),
3516            "::",
3517            stringify!(__size)
3518        )
3519    );
3520    assert_eq!(
3521        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3522        0usize,
3523        concat!(
3524            "Offset of field: ",
3525            stringify!(pthread_cond_t),
3526            "::",
3527            stringify!(__align)
3528        )
3529    );
3530}
3531#[repr(C)]
3532#[derive(Copy, Clone)]
3533pub union pthread_rwlock_t {
3534    pub __data: __pthread_rwlock_arch_t,
3535    pub __size: [::std::os::raw::c_char; 56usize],
3536    pub __align: ::std::os::raw::c_long,
3537}
3538#[test]
3539fn bindgen_test_layout_pthread_rwlock_t() {
3540    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
3541    let ptr = UNINIT.as_ptr();
3542    assert_eq!(
3543        ::std::mem::size_of::<pthread_rwlock_t>(),
3544        56usize,
3545        concat!("Size of: ", stringify!(pthread_rwlock_t))
3546    );
3547    assert_eq!(
3548        ::std::mem::align_of::<pthread_rwlock_t>(),
3549        8usize,
3550        concat!("Alignment of ", stringify!(pthread_rwlock_t))
3551    );
3552    assert_eq!(
3553        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
3554        0usize,
3555        concat!(
3556            "Offset of field: ",
3557            stringify!(pthread_rwlock_t),
3558            "::",
3559            stringify!(__data)
3560        )
3561    );
3562    assert_eq!(
3563        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3564        0usize,
3565        concat!(
3566            "Offset of field: ",
3567            stringify!(pthread_rwlock_t),
3568            "::",
3569            stringify!(__size)
3570        )
3571    );
3572    assert_eq!(
3573        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3574        0usize,
3575        concat!(
3576            "Offset of field: ",
3577            stringify!(pthread_rwlock_t),
3578            "::",
3579            stringify!(__align)
3580        )
3581    );
3582}
3583#[repr(C)]
3584#[derive(Copy, Clone)]
3585pub union pthread_rwlockattr_t {
3586    pub __size: [::std::os::raw::c_char; 8usize],
3587    pub __align: ::std::os::raw::c_long,
3588}
3589#[test]
3590fn bindgen_test_layout_pthread_rwlockattr_t() {
3591    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
3592    let ptr = UNINIT.as_ptr();
3593    assert_eq!(
3594        ::std::mem::size_of::<pthread_rwlockattr_t>(),
3595        8usize,
3596        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
3597    );
3598    assert_eq!(
3599        ::std::mem::align_of::<pthread_rwlockattr_t>(),
3600        8usize,
3601        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
3602    );
3603    assert_eq!(
3604        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3605        0usize,
3606        concat!(
3607            "Offset of field: ",
3608            stringify!(pthread_rwlockattr_t),
3609            "::",
3610            stringify!(__size)
3611        )
3612    );
3613    assert_eq!(
3614        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3615        0usize,
3616        concat!(
3617            "Offset of field: ",
3618            stringify!(pthread_rwlockattr_t),
3619            "::",
3620            stringify!(__align)
3621        )
3622    );
3623}
3624pub type pthread_spinlock_t = ::std::os::raw::c_int;
3625#[repr(C)]
3626#[derive(Copy, Clone)]
3627pub union pthread_barrier_t {
3628    pub __size: [::std::os::raw::c_char; 32usize],
3629    pub __align: ::std::os::raw::c_long,
3630}
3631#[test]
3632fn bindgen_test_layout_pthread_barrier_t() {
3633    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
3634    let ptr = UNINIT.as_ptr();
3635    assert_eq!(
3636        ::std::mem::size_of::<pthread_barrier_t>(),
3637        32usize,
3638        concat!("Size of: ", stringify!(pthread_barrier_t))
3639    );
3640    assert_eq!(
3641        ::std::mem::align_of::<pthread_barrier_t>(),
3642        8usize,
3643        concat!("Alignment of ", stringify!(pthread_barrier_t))
3644    );
3645    assert_eq!(
3646        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3647        0usize,
3648        concat!(
3649            "Offset of field: ",
3650            stringify!(pthread_barrier_t),
3651            "::",
3652            stringify!(__size)
3653        )
3654    );
3655    assert_eq!(
3656        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3657        0usize,
3658        concat!(
3659            "Offset of field: ",
3660            stringify!(pthread_barrier_t),
3661            "::",
3662            stringify!(__align)
3663        )
3664    );
3665}
3666#[repr(C)]
3667#[derive(Copy, Clone)]
3668pub union pthread_barrierattr_t {
3669    pub __size: [::std::os::raw::c_char; 4usize],
3670    pub __align: ::std::os::raw::c_int,
3671}
3672#[test]
3673fn bindgen_test_layout_pthread_barrierattr_t() {
3674    const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
3675        ::std::mem::MaybeUninit::uninit();
3676    let ptr = UNINIT.as_ptr();
3677    assert_eq!(
3678        ::std::mem::size_of::<pthread_barrierattr_t>(),
3679        4usize,
3680        concat!("Size of: ", stringify!(pthread_barrierattr_t))
3681    );
3682    assert_eq!(
3683        ::std::mem::align_of::<pthread_barrierattr_t>(),
3684        4usize,
3685        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
3686    );
3687    assert_eq!(
3688        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
3689        0usize,
3690        concat!(
3691            "Offset of field: ",
3692            stringify!(pthread_barrierattr_t),
3693            "::",
3694            stringify!(__size)
3695        )
3696    );
3697    assert_eq!(
3698        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
3699        0usize,
3700        concat!(
3701            "Offset of field: ",
3702            stringify!(pthread_barrierattr_t),
3703            "::",
3704            stringify!(__align)
3705        )
3706    );
3707}
3708pub type socklen_t = __socklen_t;
3709pub const __socket_type_SOCK_STREAM: __socket_type = 1;
3710pub const __socket_type_SOCK_DGRAM: __socket_type = 2;
3711pub const __socket_type_SOCK_RAW: __socket_type = 3;
3712pub const __socket_type_SOCK_RDM: __socket_type = 4;
3713pub const __socket_type_SOCK_SEQPACKET: __socket_type = 5;
3714pub const __socket_type_SOCK_DCCP: __socket_type = 6;
3715pub const __socket_type_SOCK_PACKET: __socket_type = 10;
3716pub const __socket_type_SOCK_CLOEXEC: __socket_type = 524288;
3717pub const __socket_type_SOCK_NONBLOCK: __socket_type = 2048;
3718pub type __socket_type = ::std::os::raw::c_uint;
3719pub type sa_family_t = ::std::os::raw::c_ushort;
3720#[repr(C)]
3721#[derive(Debug, Copy, Clone)]
3722pub struct sockaddr {
3723    pub sa_family: sa_family_t,
3724    pub sa_data: [::std::os::raw::c_char; 14usize],
3725}
3726#[test]
3727fn bindgen_test_layout_sockaddr() {
3728    const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
3729    let ptr = UNINIT.as_ptr();
3730    assert_eq!(
3731        ::std::mem::size_of::<sockaddr>(),
3732        16usize,
3733        concat!("Size of: ", stringify!(sockaddr))
3734    );
3735    assert_eq!(
3736        ::std::mem::align_of::<sockaddr>(),
3737        2usize,
3738        concat!("Alignment of ", stringify!(sockaddr))
3739    );
3740    assert_eq!(
3741        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
3742        0usize,
3743        concat!(
3744            "Offset of field: ",
3745            stringify!(sockaddr),
3746            "::",
3747            stringify!(sa_family)
3748        )
3749    );
3750    assert_eq!(
3751        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
3752        2usize,
3753        concat!(
3754            "Offset of field: ",
3755            stringify!(sockaddr),
3756            "::",
3757            stringify!(sa_data)
3758        )
3759    );
3760}
3761#[repr(C)]
3762#[derive(Debug, Copy, Clone)]
3763pub struct sockaddr_storage {
3764    pub ss_family: sa_family_t,
3765    pub __ss_padding: [::std::os::raw::c_char; 118usize],
3766    pub __ss_align: ::std::os::raw::c_ulong,
3767}
3768#[test]
3769fn bindgen_test_layout_sockaddr_storage() {
3770    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage> = ::std::mem::MaybeUninit::uninit();
3771    let ptr = UNINIT.as_ptr();
3772    assert_eq!(
3773        ::std::mem::size_of::<sockaddr_storage>(),
3774        128usize,
3775        concat!("Size of: ", stringify!(sockaddr_storage))
3776    );
3777    assert_eq!(
3778        ::std::mem::align_of::<sockaddr_storage>(),
3779        8usize,
3780        concat!("Alignment of ", stringify!(sockaddr_storage))
3781    );
3782    assert_eq!(
3783        unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
3784        0usize,
3785        concat!(
3786            "Offset of field: ",
3787            stringify!(sockaddr_storage),
3788            "::",
3789            stringify!(ss_family)
3790        )
3791    );
3792    assert_eq!(
3793        unsafe { ::std::ptr::addr_of!((*ptr).__ss_padding) as usize - ptr as usize },
3794        2usize,
3795        concat!(
3796            "Offset of field: ",
3797            stringify!(sockaddr_storage),
3798            "::",
3799            stringify!(__ss_padding)
3800        )
3801    );
3802    assert_eq!(
3803        unsafe { ::std::ptr::addr_of!((*ptr).__ss_align) as usize - ptr as usize },
3804        120usize,
3805        concat!(
3806            "Offset of field: ",
3807            stringify!(sockaddr_storage),
3808            "::",
3809            stringify!(__ss_align)
3810        )
3811    );
3812}
3813pub const MSG_OOB: _bindgen_ty_1 = 1;
3814pub const MSG_PEEK: _bindgen_ty_1 = 2;
3815pub const MSG_DONTROUTE: _bindgen_ty_1 = 4;
3816pub const MSG_CTRUNC: _bindgen_ty_1 = 8;
3817pub const MSG_PROXY: _bindgen_ty_1 = 16;
3818pub const MSG_TRUNC: _bindgen_ty_1 = 32;
3819pub const MSG_DONTWAIT: _bindgen_ty_1 = 64;
3820pub const MSG_EOR: _bindgen_ty_1 = 128;
3821pub const MSG_WAITALL: _bindgen_ty_1 = 256;
3822pub const MSG_FIN: _bindgen_ty_1 = 512;
3823pub const MSG_SYN: _bindgen_ty_1 = 1024;
3824pub const MSG_CONFIRM: _bindgen_ty_1 = 2048;
3825pub const MSG_RST: _bindgen_ty_1 = 4096;
3826pub const MSG_ERRQUEUE: _bindgen_ty_1 = 8192;
3827pub const MSG_NOSIGNAL: _bindgen_ty_1 = 16384;
3828pub const MSG_MORE: _bindgen_ty_1 = 32768;
3829pub const MSG_WAITFORONE: _bindgen_ty_1 = 65536;
3830pub const MSG_BATCH: _bindgen_ty_1 = 262144;
3831pub const MSG_ZEROCOPY: _bindgen_ty_1 = 67108864;
3832pub const MSG_FASTOPEN: _bindgen_ty_1 = 536870912;
3833pub const MSG_CMSG_CLOEXEC: _bindgen_ty_1 = 1073741824;
3834pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
3835#[repr(C)]
3836#[derive(Debug, Copy, Clone)]
3837pub struct msghdr {
3838    pub msg_name: *mut ::std::os::raw::c_void,
3839    pub msg_namelen: socklen_t,
3840    pub msg_iov: *mut iovec,
3841    pub msg_iovlen: usize,
3842    pub msg_control: *mut ::std::os::raw::c_void,
3843    pub msg_controllen: usize,
3844    pub msg_flags: ::std::os::raw::c_int,
3845}
3846#[test]
3847fn bindgen_test_layout_msghdr() {
3848    const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
3849    let ptr = UNINIT.as_ptr();
3850    assert_eq!(
3851        ::std::mem::size_of::<msghdr>(),
3852        56usize,
3853        concat!("Size of: ", stringify!(msghdr))
3854    );
3855    assert_eq!(
3856        ::std::mem::align_of::<msghdr>(),
3857        8usize,
3858        concat!("Alignment of ", stringify!(msghdr))
3859    );
3860    assert_eq!(
3861        unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
3862        0usize,
3863        concat!(
3864            "Offset of field: ",
3865            stringify!(msghdr),
3866            "::",
3867            stringify!(msg_name)
3868        )
3869    );
3870    assert_eq!(
3871        unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
3872        8usize,
3873        concat!(
3874            "Offset of field: ",
3875            stringify!(msghdr),
3876            "::",
3877            stringify!(msg_namelen)
3878        )
3879    );
3880    assert_eq!(
3881        unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
3882        16usize,
3883        concat!(
3884            "Offset of field: ",
3885            stringify!(msghdr),
3886            "::",
3887            stringify!(msg_iov)
3888        )
3889    );
3890    assert_eq!(
3891        unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
3892        24usize,
3893        concat!(
3894            "Offset of field: ",
3895            stringify!(msghdr),
3896            "::",
3897            stringify!(msg_iovlen)
3898        )
3899    );
3900    assert_eq!(
3901        unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
3902        32usize,
3903        concat!(
3904            "Offset of field: ",
3905            stringify!(msghdr),
3906            "::",
3907            stringify!(msg_control)
3908        )
3909    );
3910    assert_eq!(
3911        unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
3912        40usize,
3913        concat!(
3914            "Offset of field: ",
3915            stringify!(msghdr),
3916            "::",
3917            stringify!(msg_controllen)
3918        )
3919    );
3920    assert_eq!(
3921        unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
3922        48usize,
3923        concat!(
3924            "Offset of field: ",
3925            stringify!(msghdr),
3926            "::",
3927            stringify!(msg_flags)
3928        )
3929    );
3930}
3931#[repr(C)]
3932#[derive(Debug)]
3933pub struct cmsghdr {
3934    pub cmsg_len: usize,
3935    pub cmsg_level: ::std::os::raw::c_int,
3936    pub cmsg_type: ::std::os::raw::c_int,
3937    pub __cmsg_data: __IncompleteArrayField<::std::os::raw::c_uchar>,
3938}
3939#[test]
3940fn bindgen_test_layout_cmsghdr() {
3941    const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
3942    let ptr = UNINIT.as_ptr();
3943    assert_eq!(
3944        ::std::mem::size_of::<cmsghdr>(),
3945        16usize,
3946        concat!("Size of: ", stringify!(cmsghdr))
3947    );
3948    assert_eq!(
3949        ::std::mem::align_of::<cmsghdr>(),
3950        8usize,
3951        concat!("Alignment of ", stringify!(cmsghdr))
3952    );
3953    assert_eq!(
3954        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
3955        0usize,
3956        concat!(
3957            "Offset of field: ",
3958            stringify!(cmsghdr),
3959            "::",
3960            stringify!(cmsg_len)
3961        )
3962    );
3963    assert_eq!(
3964        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
3965        8usize,
3966        concat!(
3967            "Offset of field: ",
3968            stringify!(cmsghdr),
3969            "::",
3970            stringify!(cmsg_level)
3971        )
3972    );
3973    assert_eq!(
3974        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
3975        12usize,
3976        concat!(
3977            "Offset of field: ",
3978            stringify!(cmsghdr),
3979            "::",
3980            stringify!(cmsg_type)
3981        )
3982    );
3983    assert_eq!(
3984        unsafe { ::std::ptr::addr_of!((*ptr).__cmsg_data) as usize - ptr as usize },
3985        16usize,
3986        concat!(
3987            "Offset of field: ",
3988            stringify!(cmsghdr),
3989            "::",
3990            stringify!(__cmsg_data)
3991        )
3992    );
3993}
3994extern "C" {
3995    pub fn __cmsg_nxthdr(__mhdr: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
3996}
3997pub const SCM_RIGHTS: _bindgen_ty_2 = 1;
3998pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
3999#[repr(C)]
4000#[derive(Debug, Copy, Clone)]
4001pub struct __kernel_fd_set {
4002    pub fds_bits: [::std::os::raw::c_ulong; 16usize],
4003}
4004#[test]
4005fn bindgen_test_layout___kernel_fd_set() {
4006    const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
4007    let ptr = UNINIT.as_ptr();
4008    assert_eq!(
4009        ::std::mem::size_of::<__kernel_fd_set>(),
4010        128usize,
4011        concat!("Size of: ", stringify!(__kernel_fd_set))
4012    );
4013    assert_eq!(
4014        ::std::mem::align_of::<__kernel_fd_set>(),
4015        8usize,
4016        concat!("Alignment of ", stringify!(__kernel_fd_set))
4017    );
4018    assert_eq!(
4019        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
4020        0usize,
4021        concat!(
4022            "Offset of field: ",
4023            stringify!(__kernel_fd_set),
4024            "::",
4025            stringify!(fds_bits)
4026        )
4027    );
4028}
4029pub type __kernel_sighandler_t =
4030    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
4031pub type __kernel_key_t = ::std::os::raw::c_int;
4032pub type __kernel_mqd_t = ::std::os::raw::c_int;
4033pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
4034pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
4035pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
4036pub type __kernel_long_t = ::std::os::raw::c_long;
4037pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
4038pub type __kernel_ino_t = __kernel_ulong_t;
4039pub type __kernel_mode_t = ::std::os::raw::c_uint;
4040pub type __kernel_pid_t = ::std::os::raw::c_int;
4041pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
4042pub type __kernel_uid_t = ::std::os::raw::c_uint;
4043pub type __kernel_gid_t = ::std::os::raw::c_uint;
4044pub type __kernel_suseconds_t = __kernel_long_t;
4045pub type __kernel_daddr_t = ::std::os::raw::c_int;
4046pub type __kernel_uid32_t = ::std::os::raw::c_uint;
4047pub type __kernel_gid32_t = ::std::os::raw::c_uint;
4048pub type __kernel_size_t = __kernel_ulong_t;
4049pub type __kernel_ssize_t = __kernel_long_t;
4050pub type __kernel_ptrdiff_t = __kernel_long_t;
4051#[repr(C)]
4052#[derive(Debug, Copy, Clone)]
4053pub struct __kernel_fsid_t {
4054    pub val: [::std::os::raw::c_int; 2usize],
4055}
4056#[test]
4057fn bindgen_test_layout___kernel_fsid_t() {
4058    const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
4059    let ptr = UNINIT.as_ptr();
4060    assert_eq!(
4061        ::std::mem::size_of::<__kernel_fsid_t>(),
4062        8usize,
4063        concat!("Size of: ", stringify!(__kernel_fsid_t))
4064    );
4065    assert_eq!(
4066        ::std::mem::align_of::<__kernel_fsid_t>(),
4067        4usize,
4068        concat!("Alignment of ", stringify!(__kernel_fsid_t))
4069    );
4070    assert_eq!(
4071        unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
4072        0usize,
4073        concat!(
4074            "Offset of field: ",
4075            stringify!(__kernel_fsid_t),
4076            "::",
4077            stringify!(val)
4078        )
4079    );
4080}
4081pub type __kernel_off_t = __kernel_long_t;
4082pub type __kernel_loff_t = ::std::os::raw::c_longlong;
4083pub type __kernel_time_t = __kernel_long_t;
4084pub type __kernel_time64_t = ::std::os::raw::c_longlong;
4085pub type __kernel_clock_t = __kernel_long_t;
4086pub type __kernel_timer_t = ::std::os::raw::c_int;
4087pub type __kernel_clockid_t = ::std::os::raw::c_int;
4088pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
4089pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
4090pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
4091#[repr(C)]
4092#[derive(Debug, Copy, Clone)]
4093pub struct linger {
4094    pub l_onoff: ::std::os::raw::c_int,
4095    pub l_linger: ::std::os::raw::c_int,
4096}
4097#[test]
4098fn bindgen_test_layout_linger() {
4099    const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
4100    let ptr = UNINIT.as_ptr();
4101    assert_eq!(
4102        ::std::mem::size_of::<linger>(),
4103        8usize,
4104        concat!("Size of: ", stringify!(linger))
4105    );
4106    assert_eq!(
4107        ::std::mem::align_of::<linger>(),
4108        4usize,
4109        concat!("Alignment of ", stringify!(linger))
4110    );
4111    assert_eq!(
4112        unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
4113        0usize,
4114        concat!(
4115            "Offset of field: ",
4116            stringify!(linger),
4117            "::",
4118            stringify!(l_onoff)
4119        )
4120    );
4121    assert_eq!(
4122        unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
4123        4usize,
4124        concat!(
4125            "Offset of field: ",
4126            stringify!(linger),
4127            "::",
4128            stringify!(l_linger)
4129        )
4130    );
4131}
4132#[repr(C)]
4133#[derive(Debug, Copy, Clone)]
4134pub struct osockaddr {
4135    pub sa_family: ::std::os::raw::c_ushort,
4136    pub sa_data: [::std::os::raw::c_uchar; 14usize],
4137}
4138#[test]
4139fn bindgen_test_layout_osockaddr() {
4140    const UNINIT: ::std::mem::MaybeUninit<osockaddr> = ::std::mem::MaybeUninit::uninit();
4141    let ptr = UNINIT.as_ptr();
4142    assert_eq!(
4143        ::std::mem::size_of::<osockaddr>(),
4144        16usize,
4145        concat!("Size of: ", stringify!(osockaddr))
4146    );
4147    assert_eq!(
4148        ::std::mem::align_of::<osockaddr>(),
4149        2usize,
4150        concat!("Alignment of ", stringify!(osockaddr))
4151    );
4152    assert_eq!(
4153        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
4154        0usize,
4155        concat!(
4156            "Offset of field: ",
4157            stringify!(osockaddr),
4158            "::",
4159            stringify!(sa_family)
4160        )
4161    );
4162    assert_eq!(
4163        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
4164        2usize,
4165        concat!(
4166            "Offset of field: ",
4167            stringify!(osockaddr),
4168            "::",
4169            stringify!(sa_data)
4170        )
4171    );
4172}
4173pub const SHUT_RD: _bindgen_ty_3 = 0;
4174pub const SHUT_WR: _bindgen_ty_3 = 1;
4175pub const SHUT_RDWR: _bindgen_ty_3 = 2;
4176pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
4177extern "C" {
4178    pub fn socket(
4179        __domain: ::std::os::raw::c_int,
4180        __type: ::std::os::raw::c_int,
4181        __protocol: ::std::os::raw::c_int,
4182    ) -> ::std::os::raw::c_int;
4183}
4184extern "C" {
4185    pub fn socketpair(
4186        __domain: ::std::os::raw::c_int,
4187        __type: ::std::os::raw::c_int,
4188        __protocol: ::std::os::raw::c_int,
4189        __fds: *mut ::std::os::raw::c_int,
4190    ) -> ::std::os::raw::c_int;
4191}
4192extern "C" {
4193    pub fn bind(
4194        __fd: ::std::os::raw::c_int,
4195        __addr: *const sockaddr,
4196        __len: socklen_t,
4197    ) -> ::std::os::raw::c_int;
4198}
4199extern "C" {
4200    pub fn getsockname(
4201        __fd: ::std::os::raw::c_int,
4202        __addr: *mut sockaddr,
4203        __len: *mut socklen_t,
4204    ) -> ::std::os::raw::c_int;
4205}
4206extern "C" {
4207    pub fn connect(
4208        __fd: ::std::os::raw::c_int,
4209        __addr: *const sockaddr,
4210        __len: socklen_t,
4211    ) -> ::std::os::raw::c_int;
4212}
4213extern "C" {
4214    pub fn getpeername(
4215        __fd: ::std::os::raw::c_int,
4216        __addr: *mut sockaddr,
4217        __len: *mut socklen_t,
4218    ) -> ::std::os::raw::c_int;
4219}
4220extern "C" {
4221    pub fn send(
4222        __fd: ::std::os::raw::c_int,
4223        __buf: *const ::std::os::raw::c_void,
4224        __n: usize,
4225        __flags: ::std::os::raw::c_int,
4226    ) -> isize;
4227}
4228extern "C" {
4229    pub fn recv(
4230        __fd: ::std::os::raw::c_int,
4231        __buf: *mut ::std::os::raw::c_void,
4232        __n: usize,
4233        __flags: ::std::os::raw::c_int,
4234    ) -> isize;
4235}
4236extern "C" {
4237    pub fn sendto(
4238        __fd: ::std::os::raw::c_int,
4239        __buf: *const ::std::os::raw::c_void,
4240        __n: usize,
4241        __flags: ::std::os::raw::c_int,
4242        __addr: *const sockaddr,
4243        __addr_len: socklen_t,
4244    ) -> isize;
4245}
4246extern "C" {
4247    pub fn recvfrom(
4248        __fd: ::std::os::raw::c_int,
4249        __buf: *mut ::std::os::raw::c_void,
4250        __n: usize,
4251        __flags: ::std::os::raw::c_int,
4252        __addr: *mut sockaddr,
4253        __addr_len: *mut socklen_t,
4254    ) -> isize;
4255}
4256extern "C" {
4257    pub fn sendmsg(
4258        __fd: ::std::os::raw::c_int,
4259        __message: *const msghdr,
4260        __flags: ::std::os::raw::c_int,
4261    ) -> isize;
4262}
4263extern "C" {
4264    pub fn recvmsg(
4265        __fd: ::std::os::raw::c_int,
4266        __message: *mut msghdr,
4267        __flags: ::std::os::raw::c_int,
4268    ) -> isize;
4269}
4270extern "C" {
4271    pub fn getsockopt(
4272        __fd: ::std::os::raw::c_int,
4273        __level: ::std::os::raw::c_int,
4274        __optname: ::std::os::raw::c_int,
4275        __optval: *mut ::std::os::raw::c_void,
4276        __optlen: *mut socklen_t,
4277    ) -> ::std::os::raw::c_int;
4278}
4279extern "C" {
4280    pub fn setsockopt(
4281        __fd: ::std::os::raw::c_int,
4282        __level: ::std::os::raw::c_int,
4283        __optname: ::std::os::raw::c_int,
4284        __optval: *const ::std::os::raw::c_void,
4285        __optlen: socklen_t,
4286    ) -> ::std::os::raw::c_int;
4287}
4288extern "C" {
4289    pub fn listen(__fd: ::std::os::raw::c_int, __n: ::std::os::raw::c_int)
4290        -> ::std::os::raw::c_int;
4291}
4292extern "C" {
4293    pub fn accept(
4294        __fd: ::std::os::raw::c_int,
4295        __addr: *mut sockaddr,
4296        __addr_len: *mut socklen_t,
4297    ) -> ::std::os::raw::c_int;
4298}
4299extern "C" {
4300    pub fn shutdown(
4301        __fd: ::std::os::raw::c_int,
4302        __how: ::std::os::raw::c_int,
4303    ) -> ::std::os::raw::c_int;
4304}
4305extern "C" {
4306    pub fn sockatmark(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4307}
4308extern "C" {
4309    pub fn isfdtype(
4310        __fd: ::std::os::raw::c_int,
4311        __fdtype: ::std::os::raw::c_int,
4312    ) -> ::std::os::raw::c_int;
4313}
4314pub type in_addr_t = u32;
4315#[repr(C)]
4316#[derive(Debug, Copy, Clone)]
4317pub struct in_addr {
4318    pub s_addr: in_addr_t,
4319}
4320#[test]
4321fn bindgen_test_layout_in_addr() {
4322    const UNINIT: ::std::mem::MaybeUninit<in_addr> = ::std::mem::MaybeUninit::uninit();
4323    let ptr = UNINIT.as_ptr();
4324    assert_eq!(
4325        ::std::mem::size_of::<in_addr>(),
4326        4usize,
4327        concat!("Size of: ", stringify!(in_addr))
4328    );
4329    assert_eq!(
4330        ::std::mem::align_of::<in_addr>(),
4331        4usize,
4332        concat!("Alignment of ", stringify!(in_addr))
4333    );
4334    assert_eq!(
4335        unsafe { ::std::ptr::addr_of!((*ptr).s_addr) as usize - ptr as usize },
4336        0usize,
4337        concat!(
4338            "Offset of field: ",
4339            stringify!(in_addr),
4340            "::",
4341            stringify!(s_addr)
4342        )
4343    );
4344}
4345#[repr(C)]
4346#[derive(Debug, Copy, Clone)]
4347pub struct ip_opts {
4348    pub ip_dst: in_addr,
4349    pub ip_opts: [::std::os::raw::c_char; 40usize],
4350}
4351#[test]
4352fn bindgen_test_layout_ip_opts() {
4353    const UNINIT: ::std::mem::MaybeUninit<ip_opts> = ::std::mem::MaybeUninit::uninit();
4354    let ptr = UNINIT.as_ptr();
4355    assert_eq!(
4356        ::std::mem::size_of::<ip_opts>(),
4357        44usize,
4358        concat!("Size of: ", stringify!(ip_opts))
4359    );
4360    assert_eq!(
4361        ::std::mem::align_of::<ip_opts>(),
4362        4usize,
4363        concat!("Alignment of ", stringify!(ip_opts))
4364    );
4365    assert_eq!(
4366        unsafe { ::std::ptr::addr_of!((*ptr).ip_dst) as usize - ptr as usize },
4367        0usize,
4368        concat!(
4369            "Offset of field: ",
4370            stringify!(ip_opts),
4371            "::",
4372            stringify!(ip_dst)
4373        )
4374    );
4375    assert_eq!(
4376        unsafe { ::std::ptr::addr_of!((*ptr).ip_opts) as usize - ptr as usize },
4377        4usize,
4378        concat!(
4379            "Offset of field: ",
4380            stringify!(ip_opts),
4381            "::",
4382            stringify!(ip_opts)
4383        )
4384    );
4385}
4386#[repr(C)]
4387#[derive(Debug, Copy, Clone)]
4388pub struct ip_mreqn {
4389    pub imr_multiaddr: in_addr,
4390    pub imr_address: in_addr,
4391    pub imr_ifindex: ::std::os::raw::c_int,
4392}
4393#[test]
4394fn bindgen_test_layout_ip_mreqn() {
4395    const UNINIT: ::std::mem::MaybeUninit<ip_mreqn> = ::std::mem::MaybeUninit::uninit();
4396    let ptr = UNINIT.as_ptr();
4397    assert_eq!(
4398        ::std::mem::size_of::<ip_mreqn>(),
4399        12usize,
4400        concat!("Size of: ", stringify!(ip_mreqn))
4401    );
4402    assert_eq!(
4403        ::std::mem::align_of::<ip_mreqn>(),
4404        4usize,
4405        concat!("Alignment of ", stringify!(ip_mreqn))
4406    );
4407    assert_eq!(
4408        unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
4409        0usize,
4410        concat!(
4411            "Offset of field: ",
4412            stringify!(ip_mreqn),
4413            "::",
4414            stringify!(imr_multiaddr)
4415        )
4416    );
4417    assert_eq!(
4418        unsafe { ::std::ptr::addr_of!((*ptr).imr_address) as usize - ptr as usize },
4419        4usize,
4420        concat!(
4421            "Offset of field: ",
4422            stringify!(ip_mreqn),
4423            "::",
4424            stringify!(imr_address)
4425        )
4426    );
4427    assert_eq!(
4428        unsafe { ::std::ptr::addr_of!((*ptr).imr_ifindex) as usize - ptr as usize },
4429        8usize,
4430        concat!(
4431            "Offset of field: ",
4432            stringify!(ip_mreqn),
4433            "::",
4434            stringify!(imr_ifindex)
4435        )
4436    );
4437}
4438#[repr(C)]
4439#[derive(Debug, Copy, Clone)]
4440pub struct in_pktinfo {
4441    pub ipi_ifindex: ::std::os::raw::c_int,
4442    pub ipi_spec_dst: in_addr,
4443    pub ipi_addr: in_addr,
4444}
4445#[test]
4446fn bindgen_test_layout_in_pktinfo() {
4447    const UNINIT: ::std::mem::MaybeUninit<in_pktinfo> = ::std::mem::MaybeUninit::uninit();
4448    let ptr = UNINIT.as_ptr();
4449    assert_eq!(
4450        ::std::mem::size_of::<in_pktinfo>(),
4451        12usize,
4452        concat!("Size of: ", stringify!(in_pktinfo))
4453    );
4454    assert_eq!(
4455        ::std::mem::align_of::<in_pktinfo>(),
4456        4usize,
4457        concat!("Alignment of ", stringify!(in_pktinfo))
4458    );
4459    assert_eq!(
4460        unsafe { ::std::ptr::addr_of!((*ptr).ipi_ifindex) as usize - ptr as usize },
4461        0usize,
4462        concat!(
4463            "Offset of field: ",
4464            stringify!(in_pktinfo),
4465            "::",
4466            stringify!(ipi_ifindex)
4467        )
4468    );
4469    assert_eq!(
4470        unsafe { ::std::ptr::addr_of!((*ptr).ipi_spec_dst) as usize - ptr as usize },
4471        4usize,
4472        concat!(
4473            "Offset of field: ",
4474            stringify!(in_pktinfo),
4475            "::",
4476            stringify!(ipi_spec_dst)
4477        )
4478    );
4479    assert_eq!(
4480        unsafe { ::std::ptr::addr_of!((*ptr).ipi_addr) as usize - ptr as usize },
4481        8usize,
4482        concat!(
4483            "Offset of field: ",
4484            stringify!(in_pktinfo),
4485            "::",
4486            stringify!(ipi_addr)
4487        )
4488    );
4489}
4490pub const IPPROTO_IP: _bindgen_ty_4 = 0;
4491pub const IPPROTO_ICMP: _bindgen_ty_4 = 1;
4492pub const IPPROTO_IGMP: _bindgen_ty_4 = 2;
4493pub const IPPROTO_IPIP: _bindgen_ty_4 = 4;
4494pub const IPPROTO_TCP: _bindgen_ty_4 = 6;
4495pub const IPPROTO_EGP: _bindgen_ty_4 = 8;
4496pub const IPPROTO_PUP: _bindgen_ty_4 = 12;
4497pub const IPPROTO_UDP: _bindgen_ty_4 = 17;
4498pub const IPPROTO_IDP: _bindgen_ty_4 = 22;
4499pub const IPPROTO_TP: _bindgen_ty_4 = 29;
4500pub const IPPROTO_DCCP: _bindgen_ty_4 = 33;
4501pub const IPPROTO_IPV6: _bindgen_ty_4 = 41;
4502pub const IPPROTO_RSVP: _bindgen_ty_4 = 46;
4503pub const IPPROTO_GRE: _bindgen_ty_4 = 47;
4504pub const IPPROTO_ESP: _bindgen_ty_4 = 50;
4505pub const IPPROTO_AH: _bindgen_ty_4 = 51;
4506pub const IPPROTO_MTP: _bindgen_ty_4 = 92;
4507pub const IPPROTO_BEETPH: _bindgen_ty_4 = 94;
4508pub const IPPROTO_ENCAP: _bindgen_ty_4 = 98;
4509pub const IPPROTO_PIM: _bindgen_ty_4 = 103;
4510pub const IPPROTO_COMP: _bindgen_ty_4 = 108;
4511pub const IPPROTO_SCTP: _bindgen_ty_4 = 132;
4512pub const IPPROTO_UDPLITE: _bindgen_ty_4 = 136;
4513pub const IPPROTO_MPLS: _bindgen_ty_4 = 137;
4514pub const IPPROTO_RAW: _bindgen_ty_4 = 255;
4515pub const IPPROTO_MAX: _bindgen_ty_4 = 256;
4516pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
4517pub const IPPROTO_HOPOPTS: _bindgen_ty_5 = 0;
4518pub const IPPROTO_ROUTING: _bindgen_ty_5 = 43;
4519pub const IPPROTO_FRAGMENT: _bindgen_ty_5 = 44;
4520pub const IPPROTO_ICMPV6: _bindgen_ty_5 = 58;
4521pub const IPPROTO_NONE: _bindgen_ty_5 = 59;
4522pub const IPPROTO_DSTOPTS: _bindgen_ty_5 = 60;
4523pub const IPPROTO_MH: _bindgen_ty_5 = 135;
4524pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
4525pub type in_port_t = u16;
4526pub const IPPORT_ECHO: _bindgen_ty_6 = 7;
4527pub const IPPORT_DISCARD: _bindgen_ty_6 = 9;
4528pub const IPPORT_SYSTAT: _bindgen_ty_6 = 11;
4529pub const IPPORT_DAYTIME: _bindgen_ty_6 = 13;
4530pub const IPPORT_NETSTAT: _bindgen_ty_6 = 15;
4531pub const IPPORT_FTP: _bindgen_ty_6 = 21;
4532pub const IPPORT_TELNET: _bindgen_ty_6 = 23;
4533pub const IPPORT_SMTP: _bindgen_ty_6 = 25;
4534pub const IPPORT_TIMESERVER: _bindgen_ty_6 = 37;
4535pub const IPPORT_NAMESERVER: _bindgen_ty_6 = 42;
4536pub const IPPORT_WHOIS: _bindgen_ty_6 = 43;
4537pub const IPPORT_MTP: _bindgen_ty_6 = 57;
4538pub const IPPORT_TFTP: _bindgen_ty_6 = 69;
4539pub const IPPORT_RJE: _bindgen_ty_6 = 77;
4540pub const IPPORT_FINGER: _bindgen_ty_6 = 79;
4541pub const IPPORT_TTYLINK: _bindgen_ty_6 = 87;
4542pub const IPPORT_SUPDUP: _bindgen_ty_6 = 95;
4543pub const IPPORT_EXECSERVER: _bindgen_ty_6 = 512;
4544pub const IPPORT_LOGINSERVER: _bindgen_ty_6 = 513;
4545pub const IPPORT_CMDSERVER: _bindgen_ty_6 = 514;
4546pub const IPPORT_EFSSERVER: _bindgen_ty_6 = 520;
4547pub const IPPORT_BIFFUDP: _bindgen_ty_6 = 512;
4548pub const IPPORT_WHOSERVER: _bindgen_ty_6 = 513;
4549pub const IPPORT_ROUTESERVER: _bindgen_ty_6 = 520;
4550pub const IPPORT_RESERVED: _bindgen_ty_6 = 1024;
4551pub const IPPORT_USERRESERVED: _bindgen_ty_6 = 5000;
4552pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
4553#[repr(C)]
4554#[derive(Copy, Clone)]
4555pub struct in6_addr {
4556    pub __in6_u: in6_addr__bindgen_ty_1,
4557}
4558#[repr(C)]
4559#[derive(Copy, Clone)]
4560pub union in6_addr__bindgen_ty_1 {
4561    pub __u6_addr8: [u8; 16usize],
4562    pub __u6_addr16: [u16; 8usize],
4563    pub __u6_addr32: [u32; 4usize],
4564}
4565#[test]
4566fn bindgen_test_layout_in6_addr__bindgen_ty_1() {
4567    const UNINIT: ::std::mem::MaybeUninit<in6_addr__bindgen_ty_1> =
4568        ::std::mem::MaybeUninit::uninit();
4569    let ptr = UNINIT.as_ptr();
4570    assert_eq!(
4571        ::std::mem::size_of::<in6_addr__bindgen_ty_1>(),
4572        16usize,
4573        concat!("Size of: ", stringify!(in6_addr__bindgen_ty_1))
4574    );
4575    assert_eq!(
4576        ::std::mem::align_of::<in6_addr__bindgen_ty_1>(),
4577        4usize,
4578        concat!("Alignment of ", stringify!(in6_addr__bindgen_ty_1))
4579    );
4580    assert_eq!(
4581        unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr8) as usize - ptr as usize },
4582        0usize,
4583        concat!(
4584            "Offset of field: ",
4585            stringify!(in6_addr__bindgen_ty_1),
4586            "::",
4587            stringify!(__u6_addr8)
4588        )
4589    );
4590    assert_eq!(
4591        unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr16) as usize - ptr as usize },
4592        0usize,
4593        concat!(
4594            "Offset of field: ",
4595            stringify!(in6_addr__bindgen_ty_1),
4596            "::",
4597            stringify!(__u6_addr16)
4598        )
4599    );
4600    assert_eq!(
4601        unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr32) as usize - ptr as usize },
4602        0usize,
4603        concat!(
4604            "Offset of field: ",
4605            stringify!(in6_addr__bindgen_ty_1),
4606            "::",
4607            stringify!(__u6_addr32)
4608        )
4609    );
4610}
4611#[test]
4612fn bindgen_test_layout_in6_addr() {
4613    const UNINIT: ::std::mem::MaybeUninit<in6_addr> = ::std::mem::MaybeUninit::uninit();
4614    let ptr = UNINIT.as_ptr();
4615    assert_eq!(
4616        ::std::mem::size_of::<in6_addr>(),
4617        16usize,
4618        concat!("Size of: ", stringify!(in6_addr))
4619    );
4620    assert_eq!(
4621        ::std::mem::align_of::<in6_addr>(),
4622        4usize,
4623        concat!("Alignment of ", stringify!(in6_addr))
4624    );
4625    assert_eq!(
4626        unsafe { ::std::ptr::addr_of!((*ptr).__in6_u) as usize - ptr as usize },
4627        0usize,
4628        concat!(
4629            "Offset of field: ",
4630            stringify!(in6_addr),
4631            "::",
4632            stringify!(__in6_u)
4633        )
4634    );
4635}
4636extern "C" {
4637    pub static in6addr_any: in6_addr;
4638}
4639extern "C" {
4640    pub static in6addr_loopback: in6_addr;
4641}
4642#[repr(C)]
4643#[derive(Debug, Copy, Clone)]
4644pub struct sockaddr_in {
4645    pub sin_family: sa_family_t,
4646    pub sin_port: in_port_t,
4647    pub sin_addr: in_addr,
4648    pub sin_zero: [::std::os::raw::c_uchar; 8usize],
4649}
4650#[test]
4651fn bindgen_test_layout_sockaddr_in() {
4652    const UNINIT: ::std::mem::MaybeUninit<sockaddr_in> = ::std::mem::MaybeUninit::uninit();
4653    let ptr = UNINIT.as_ptr();
4654    assert_eq!(
4655        ::std::mem::size_of::<sockaddr_in>(),
4656        16usize,
4657        concat!("Size of: ", stringify!(sockaddr_in))
4658    );
4659    assert_eq!(
4660        ::std::mem::align_of::<sockaddr_in>(),
4661        4usize,
4662        concat!("Alignment of ", stringify!(sockaddr_in))
4663    );
4664    assert_eq!(
4665        unsafe { ::std::ptr::addr_of!((*ptr).sin_family) as usize - ptr as usize },
4666        0usize,
4667        concat!(
4668            "Offset of field: ",
4669            stringify!(sockaddr_in),
4670            "::",
4671            stringify!(sin_family)
4672        )
4673    );
4674    assert_eq!(
4675        unsafe { ::std::ptr::addr_of!((*ptr).sin_port) as usize - ptr as usize },
4676        2usize,
4677        concat!(
4678            "Offset of field: ",
4679            stringify!(sockaddr_in),
4680            "::",
4681            stringify!(sin_port)
4682        )
4683    );
4684    assert_eq!(
4685        unsafe { ::std::ptr::addr_of!((*ptr).sin_addr) as usize - ptr as usize },
4686        4usize,
4687        concat!(
4688            "Offset of field: ",
4689            stringify!(sockaddr_in),
4690            "::",
4691            stringify!(sin_addr)
4692        )
4693    );
4694    assert_eq!(
4695        unsafe { ::std::ptr::addr_of!((*ptr).sin_zero) as usize - ptr as usize },
4696        8usize,
4697        concat!(
4698            "Offset of field: ",
4699            stringify!(sockaddr_in),
4700            "::",
4701            stringify!(sin_zero)
4702        )
4703    );
4704}
4705#[repr(C)]
4706#[derive(Copy, Clone)]
4707pub struct sockaddr_in6 {
4708    pub sin6_family: sa_family_t,
4709    pub sin6_port: in_port_t,
4710    pub sin6_flowinfo: u32,
4711    pub sin6_addr: in6_addr,
4712    pub sin6_scope_id: u32,
4713}
4714#[test]
4715fn bindgen_test_layout_sockaddr_in6() {
4716    const UNINIT: ::std::mem::MaybeUninit<sockaddr_in6> = ::std::mem::MaybeUninit::uninit();
4717    let ptr = UNINIT.as_ptr();
4718    assert_eq!(
4719        ::std::mem::size_of::<sockaddr_in6>(),
4720        28usize,
4721        concat!("Size of: ", stringify!(sockaddr_in6))
4722    );
4723    assert_eq!(
4724        ::std::mem::align_of::<sockaddr_in6>(),
4725        4usize,
4726        concat!("Alignment of ", stringify!(sockaddr_in6))
4727    );
4728    assert_eq!(
4729        unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize },
4730        0usize,
4731        concat!(
4732            "Offset of field: ",
4733            stringify!(sockaddr_in6),
4734            "::",
4735            stringify!(sin6_family)
4736        )
4737    );
4738    assert_eq!(
4739        unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize },
4740        2usize,
4741        concat!(
4742            "Offset of field: ",
4743            stringify!(sockaddr_in6),
4744            "::",
4745            stringify!(sin6_port)
4746        )
4747    );
4748    assert_eq!(
4749        unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize },
4750        4usize,
4751        concat!(
4752            "Offset of field: ",
4753            stringify!(sockaddr_in6),
4754            "::",
4755            stringify!(sin6_flowinfo)
4756        )
4757    );
4758    assert_eq!(
4759        unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize },
4760        8usize,
4761        concat!(
4762            "Offset of field: ",
4763            stringify!(sockaddr_in6),
4764            "::",
4765            stringify!(sin6_addr)
4766        )
4767    );
4768    assert_eq!(
4769        unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_id) as usize - ptr as usize },
4770        24usize,
4771        concat!(
4772            "Offset of field: ",
4773            stringify!(sockaddr_in6),
4774            "::",
4775            stringify!(sin6_scope_id)
4776        )
4777    );
4778}
4779#[repr(C)]
4780#[derive(Debug, Copy, Clone)]
4781pub struct ip_mreq {
4782    pub imr_multiaddr: in_addr,
4783    pub imr_interface: in_addr,
4784}
4785#[test]
4786fn bindgen_test_layout_ip_mreq() {
4787    const UNINIT: ::std::mem::MaybeUninit<ip_mreq> = ::std::mem::MaybeUninit::uninit();
4788    let ptr = UNINIT.as_ptr();
4789    assert_eq!(
4790        ::std::mem::size_of::<ip_mreq>(),
4791        8usize,
4792        concat!("Size of: ", stringify!(ip_mreq))
4793    );
4794    assert_eq!(
4795        ::std::mem::align_of::<ip_mreq>(),
4796        4usize,
4797        concat!("Alignment of ", stringify!(ip_mreq))
4798    );
4799    assert_eq!(
4800        unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
4801        0usize,
4802        concat!(
4803            "Offset of field: ",
4804            stringify!(ip_mreq),
4805            "::",
4806            stringify!(imr_multiaddr)
4807        )
4808    );
4809    assert_eq!(
4810        unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
4811        4usize,
4812        concat!(
4813            "Offset of field: ",
4814            stringify!(ip_mreq),
4815            "::",
4816            stringify!(imr_interface)
4817        )
4818    );
4819}
4820#[repr(C)]
4821#[derive(Debug, Copy, Clone)]
4822pub struct ip_mreq_source {
4823    pub imr_multiaddr: in_addr,
4824    pub imr_interface: in_addr,
4825    pub imr_sourceaddr: in_addr,
4826}
4827#[test]
4828fn bindgen_test_layout_ip_mreq_source() {
4829    const UNINIT: ::std::mem::MaybeUninit<ip_mreq_source> = ::std::mem::MaybeUninit::uninit();
4830    let ptr = UNINIT.as_ptr();
4831    assert_eq!(
4832        ::std::mem::size_of::<ip_mreq_source>(),
4833        12usize,
4834        concat!("Size of: ", stringify!(ip_mreq_source))
4835    );
4836    assert_eq!(
4837        ::std::mem::align_of::<ip_mreq_source>(),
4838        4usize,
4839        concat!("Alignment of ", stringify!(ip_mreq_source))
4840    );
4841    assert_eq!(
4842        unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
4843        0usize,
4844        concat!(
4845            "Offset of field: ",
4846            stringify!(ip_mreq_source),
4847            "::",
4848            stringify!(imr_multiaddr)
4849        )
4850    );
4851    assert_eq!(
4852        unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
4853        4usize,
4854        concat!(
4855            "Offset of field: ",
4856            stringify!(ip_mreq_source),
4857            "::",
4858            stringify!(imr_interface)
4859        )
4860    );
4861    assert_eq!(
4862        unsafe { ::std::ptr::addr_of!((*ptr).imr_sourceaddr) as usize - ptr as usize },
4863        8usize,
4864        concat!(
4865            "Offset of field: ",
4866            stringify!(ip_mreq_source),
4867            "::",
4868            stringify!(imr_sourceaddr)
4869        )
4870    );
4871}
4872#[repr(C)]
4873#[derive(Copy, Clone)]
4874pub struct ipv6_mreq {
4875    pub ipv6mr_multiaddr: in6_addr,
4876    pub ipv6mr_interface: ::std::os::raw::c_uint,
4877}
4878#[test]
4879fn bindgen_test_layout_ipv6_mreq() {
4880    const UNINIT: ::std::mem::MaybeUninit<ipv6_mreq> = ::std::mem::MaybeUninit::uninit();
4881    let ptr = UNINIT.as_ptr();
4882    assert_eq!(
4883        ::std::mem::size_of::<ipv6_mreq>(),
4884        20usize,
4885        concat!("Size of: ", stringify!(ipv6_mreq))
4886    );
4887    assert_eq!(
4888        ::std::mem::align_of::<ipv6_mreq>(),
4889        4usize,
4890        concat!("Alignment of ", stringify!(ipv6_mreq))
4891    );
4892    assert_eq!(
4893        unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_multiaddr) as usize - ptr as usize },
4894        0usize,
4895        concat!(
4896            "Offset of field: ",
4897            stringify!(ipv6_mreq),
4898            "::",
4899            stringify!(ipv6mr_multiaddr)
4900        )
4901    );
4902    assert_eq!(
4903        unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_interface) as usize - ptr as usize },
4904        16usize,
4905        concat!(
4906            "Offset of field: ",
4907            stringify!(ipv6_mreq),
4908            "::",
4909            stringify!(ipv6mr_interface)
4910        )
4911    );
4912}
4913#[repr(C)]
4914#[derive(Debug, Copy, Clone)]
4915pub struct group_req {
4916    pub gr_interface: u32,
4917    pub gr_group: sockaddr_storage,
4918}
4919#[test]
4920fn bindgen_test_layout_group_req() {
4921    const UNINIT: ::std::mem::MaybeUninit<group_req> = ::std::mem::MaybeUninit::uninit();
4922    let ptr = UNINIT.as_ptr();
4923    assert_eq!(
4924        ::std::mem::size_of::<group_req>(),
4925        136usize,
4926        concat!("Size of: ", stringify!(group_req))
4927    );
4928    assert_eq!(
4929        ::std::mem::align_of::<group_req>(),
4930        8usize,
4931        concat!("Alignment of ", stringify!(group_req))
4932    );
4933    assert_eq!(
4934        unsafe { ::std::ptr::addr_of!((*ptr).gr_interface) as usize - ptr as usize },
4935        0usize,
4936        concat!(
4937            "Offset of field: ",
4938            stringify!(group_req),
4939            "::",
4940            stringify!(gr_interface)
4941        )
4942    );
4943    assert_eq!(
4944        unsafe { ::std::ptr::addr_of!((*ptr).gr_group) as usize - ptr as usize },
4945        8usize,
4946        concat!(
4947            "Offset of field: ",
4948            stringify!(group_req),
4949            "::",
4950            stringify!(gr_group)
4951        )
4952    );
4953}
4954#[repr(C)]
4955#[derive(Debug, Copy, Clone)]
4956pub struct group_source_req {
4957    pub gsr_interface: u32,
4958    pub gsr_group: sockaddr_storage,
4959    pub gsr_source: sockaddr_storage,
4960}
4961#[test]
4962fn bindgen_test_layout_group_source_req() {
4963    const UNINIT: ::std::mem::MaybeUninit<group_source_req> = ::std::mem::MaybeUninit::uninit();
4964    let ptr = UNINIT.as_ptr();
4965    assert_eq!(
4966        ::std::mem::size_of::<group_source_req>(),
4967        264usize,
4968        concat!("Size of: ", stringify!(group_source_req))
4969    );
4970    assert_eq!(
4971        ::std::mem::align_of::<group_source_req>(),
4972        8usize,
4973        concat!("Alignment of ", stringify!(group_source_req))
4974    );
4975    assert_eq!(
4976        unsafe { ::std::ptr::addr_of!((*ptr).gsr_interface) as usize - ptr as usize },
4977        0usize,
4978        concat!(
4979            "Offset of field: ",
4980            stringify!(group_source_req),
4981            "::",
4982            stringify!(gsr_interface)
4983        )
4984    );
4985    assert_eq!(
4986        unsafe { ::std::ptr::addr_of!((*ptr).gsr_group) as usize - ptr as usize },
4987        8usize,
4988        concat!(
4989            "Offset of field: ",
4990            stringify!(group_source_req),
4991            "::",
4992            stringify!(gsr_group)
4993        )
4994    );
4995    assert_eq!(
4996        unsafe { ::std::ptr::addr_of!((*ptr).gsr_source) as usize - ptr as usize },
4997        136usize,
4998        concat!(
4999            "Offset of field: ",
5000            stringify!(group_source_req),
5001            "::",
5002            stringify!(gsr_source)
5003        )
5004    );
5005}
5006#[repr(C)]
5007#[derive(Debug, Copy, Clone)]
5008pub struct ip_msfilter {
5009    pub imsf_multiaddr: in_addr,
5010    pub imsf_interface: in_addr,
5011    pub imsf_fmode: u32,
5012    pub imsf_numsrc: u32,
5013    pub imsf_slist: [in_addr; 1usize],
5014}
5015#[test]
5016fn bindgen_test_layout_ip_msfilter() {
5017    const UNINIT: ::std::mem::MaybeUninit<ip_msfilter> = ::std::mem::MaybeUninit::uninit();
5018    let ptr = UNINIT.as_ptr();
5019    assert_eq!(
5020        ::std::mem::size_of::<ip_msfilter>(),
5021        20usize,
5022        concat!("Size of: ", stringify!(ip_msfilter))
5023    );
5024    assert_eq!(
5025        ::std::mem::align_of::<ip_msfilter>(),
5026        4usize,
5027        concat!("Alignment of ", stringify!(ip_msfilter))
5028    );
5029    assert_eq!(
5030        unsafe { ::std::ptr::addr_of!((*ptr).imsf_multiaddr) as usize - ptr as usize },
5031        0usize,
5032        concat!(
5033            "Offset of field: ",
5034            stringify!(ip_msfilter),
5035            "::",
5036            stringify!(imsf_multiaddr)
5037        )
5038    );
5039    assert_eq!(
5040        unsafe { ::std::ptr::addr_of!((*ptr).imsf_interface) as usize - ptr as usize },
5041        4usize,
5042        concat!(
5043            "Offset of field: ",
5044            stringify!(ip_msfilter),
5045            "::",
5046            stringify!(imsf_interface)
5047        )
5048    );
5049    assert_eq!(
5050        unsafe { ::std::ptr::addr_of!((*ptr).imsf_fmode) as usize - ptr as usize },
5051        8usize,
5052        concat!(
5053            "Offset of field: ",
5054            stringify!(ip_msfilter),
5055            "::",
5056            stringify!(imsf_fmode)
5057        )
5058    );
5059    assert_eq!(
5060        unsafe { ::std::ptr::addr_of!((*ptr).imsf_numsrc) as usize - ptr as usize },
5061        12usize,
5062        concat!(
5063            "Offset of field: ",
5064            stringify!(ip_msfilter),
5065            "::",
5066            stringify!(imsf_numsrc)
5067        )
5068    );
5069    assert_eq!(
5070        unsafe { ::std::ptr::addr_of!((*ptr).imsf_slist) as usize - ptr as usize },
5071        16usize,
5072        concat!(
5073            "Offset of field: ",
5074            stringify!(ip_msfilter),
5075            "::",
5076            stringify!(imsf_slist)
5077        )
5078    );
5079}
5080#[repr(C)]
5081#[derive(Debug, Copy, Clone)]
5082pub struct group_filter {
5083    pub gf_interface: u32,
5084    pub gf_group: sockaddr_storage,
5085    pub gf_fmode: u32,
5086    pub gf_numsrc: u32,
5087    pub gf_slist: [sockaddr_storage; 1usize],
5088}
5089#[test]
5090fn bindgen_test_layout_group_filter() {
5091    const UNINIT: ::std::mem::MaybeUninit<group_filter> = ::std::mem::MaybeUninit::uninit();
5092    let ptr = UNINIT.as_ptr();
5093    assert_eq!(
5094        ::std::mem::size_of::<group_filter>(),
5095        272usize,
5096        concat!("Size of: ", stringify!(group_filter))
5097    );
5098    assert_eq!(
5099        ::std::mem::align_of::<group_filter>(),
5100        8usize,
5101        concat!("Alignment of ", stringify!(group_filter))
5102    );
5103    assert_eq!(
5104        unsafe { ::std::ptr::addr_of!((*ptr).gf_interface) as usize - ptr as usize },
5105        0usize,
5106        concat!(
5107            "Offset of field: ",
5108            stringify!(group_filter),
5109            "::",
5110            stringify!(gf_interface)
5111        )
5112    );
5113    assert_eq!(
5114        unsafe { ::std::ptr::addr_of!((*ptr).gf_group) as usize - ptr as usize },
5115        8usize,
5116        concat!(
5117            "Offset of field: ",
5118            stringify!(group_filter),
5119            "::",
5120            stringify!(gf_group)
5121        )
5122    );
5123    assert_eq!(
5124        unsafe { ::std::ptr::addr_of!((*ptr).gf_fmode) as usize - ptr as usize },
5125        136usize,
5126        concat!(
5127            "Offset of field: ",
5128            stringify!(group_filter),
5129            "::",
5130            stringify!(gf_fmode)
5131        )
5132    );
5133    assert_eq!(
5134        unsafe { ::std::ptr::addr_of!((*ptr).gf_numsrc) as usize - ptr as usize },
5135        140usize,
5136        concat!(
5137            "Offset of field: ",
5138            stringify!(group_filter),
5139            "::",
5140            stringify!(gf_numsrc)
5141        )
5142    );
5143    assert_eq!(
5144        unsafe { ::std::ptr::addr_of!((*ptr).gf_slist) as usize - ptr as usize },
5145        144usize,
5146        concat!(
5147            "Offset of field: ",
5148            stringify!(group_filter),
5149            "::",
5150            stringify!(gf_slist)
5151        )
5152    );
5153}
5154extern "C" {
5155    pub fn ntohl(__netlong: u32) -> u32;
5156}
5157extern "C" {
5158    pub fn ntohs(__netshort: u16) -> u16;
5159}
5160extern "C" {
5161    pub fn htonl(__hostlong: u32) -> u32;
5162}
5163extern "C" {
5164    pub fn htons(__hostshort: u16) -> u16;
5165}
5166extern "C" {
5167    pub fn bindresvport(
5168        __sockfd: ::std::os::raw::c_int,
5169        __sock_in: *mut sockaddr_in,
5170    ) -> ::std::os::raw::c_int;
5171}
5172extern "C" {
5173    pub fn bindresvport6(
5174        __sockfd: ::std::os::raw::c_int,
5175        __sock_in: *mut sockaddr_in6,
5176    ) -> ::std::os::raw::c_int;
5177}
5178#[repr(C)]
5179#[derive(Debug, Copy, Clone)]
5180pub struct bt_security {
5181    pub level: u8,
5182    pub key_size: u8,
5183}
5184#[test]
5185fn bindgen_test_layout_bt_security() {
5186    const UNINIT: ::std::mem::MaybeUninit<bt_security> = ::std::mem::MaybeUninit::uninit();
5187    let ptr = UNINIT.as_ptr();
5188    assert_eq!(
5189        ::std::mem::size_of::<bt_security>(),
5190        2usize,
5191        concat!("Size of: ", stringify!(bt_security))
5192    );
5193    assert_eq!(
5194        ::std::mem::align_of::<bt_security>(),
5195        1usize,
5196        concat!("Alignment of ", stringify!(bt_security))
5197    );
5198    assert_eq!(
5199        unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
5200        0usize,
5201        concat!(
5202            "Offset of field: ",
5203            stringify!(bt_security),
5204            "::",
5205            stringify!(level)
5206        )
5207    );
5208    assert_eq!(
5209        unsafe { ::std::ptr::addr_of!((*ptr).key_size) as usize - ptr as usize },
5210        1usize,
5211        concat!(
5212            "Offset of field: ",
5213            stringify!(bt_security),
5214            "::",
5215            stringify!(key_size)
5216        )
5217    );
5218}
5219#[repr(C)]
5220#[derive(Debug, Copy, Clone)]
5221pub struct bt_power {
5222    pub force_active: u8,
5223}
5224#[test]
5225fn bindgen_test_layout_bt_power() {
5226    const UNINIT: ::std::mem::MaybeUninit<bt_power> = ::std::mem::MaybeUninit::uninit();
5227    let ptr = UNINIT.as_ptr();
5228    assert_eq!(
5229        ::std::mem::size_of::<bt_power>(),
5230        1usize,
5231        concat!("Size of: ", stringify!(bt_power))
5232    );
5233    assert_eq!(
5234        ::std::mem::align_of::<bt_power>(),
5235        1usize,
5236        concat!("Alignment of ", stringify!(bt_power))
5237    );
5238    assert_eq!(
5239        unsafe { ::std::ptr::addr_of!((*ptr).force_active) as usize - ptr as usize },
5240        0usize,
5241        concat!(
5242            "Offset of field: ",
5243            stringify!(bt_power),
5244            "::",
5245            stringify!(force_active)
5246        )
5247    );
5248}
5249#[repr(C)]
5250#[derive(Debug, Copy, Clone)]
5251pub struct bt_voice {
5252    pub setting: u16,
5253}
5254#[test]
5255fn bindgen_test_layout_bt_voice() {
5256    const UNINIT: ::std::mem::MaybeUninit<bt_voice> = ::std::mem::MaybeUninit::uninit();
5257    let ptr = UNINIT.as_ptr();
5258    assert_eq!(
5259        ::std::mem::size_of::<bt_voice>(),
5260        2usize,
5261        concat!("Size of: ", stringify!(bt_voice))
5262    );
5263    assert_eq!(
5264        ::std::mem::align_of::<bt_voice>(),
5265        2usize,
5266        concat!("Alignment of ", stringify!(bt_voice))
5267    );
5268    assert_eq!(
5269        unsafe { ::std::ptr::addr_of!((*ptr).setting) as usize - ptr as usize },
5270        0usize,
5271        concat!(
5272            "Offset of field: ",
5273            stringify!(bt_voice),
5274            "::",
5275            stringify!(setting)
5276        )
5277    );
5278}
5279pub const BT_CONNECTED: _bindgen_ty_7 = 1;
5280pub const BT_OPEN: _bindgen_ty_7 = 2;
5281pub const BT_BOUND: _bindgen_ty_7 = 3;
5282pub const BT_LISTEN: _bindgen_ty_7 = 4;
5283pub const BT_CONNECT: _bindgen_ty_7 = 5;
5284pub const BT_CONNECT2: _bindgen_ty_7 = 6;
5285pub const BT_CONFIG: _bindgen_ty_7 = 7;
5286pub const BT_DISCONN: _bindgen_ty_7 = 8;
5287pub const BT_CLOSED: _bindgen_ty_7 = 9;
5288pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
5289#[repr(C, packed)]
5290#[derive(Debug, Copy, Clone)]
5291pub struct bdaddr_t {
5292    pub b: [u8; 6usize],
5293}
5294#[test]
5295fn bindgen_test_layout_bdaddr_t() {
5296    const UNINIT: ::std::mem::MaybeUninit<bdaddr_t> = ::std::mem::MaybeUninit::uninit();
5297    let ptr = UNINIT.as_ptr();
5298    assert_eq!(
5299        ::std::mem::size_of::<bdaddr_t>(),
5300        6usize,
5301        concat!("Size of: ", stringify!(bdaddr_t))
5302    );
5303    assert_eq!(
5304        ::std::mem::align_of::<bdaddr_t>(),
5305        1usize,
5306        concat!("Alignment of ", stringify!(bdaddr_t))
5307    );
5308    assert_eq!(
5309        unsafe { ::std::ptr::addr_of!((*ptr).b) as usize - ptr as usize },
5310        0usize,
5311        concat!(
5312            "Offset of field: ",
5313            stringify!(bdaddr_t),
5314            "::",
5315            stringify!(b)
5316        )
5317    );
5318}
5319extern "C" {
5320    pub fn baswap(dst: *mut bdaddr_t, src: *const bdaddr_t);
5321}
5322extern "C" {
5323    pub fn strtoba(str_: *const ::std::os::raw::c_char) -> *mut bdaddr_t;
5324}
5325extern "C" {
5326    pub fn batostr(ba: *const bdaddr_t) -> *mut ::std::os::raw::c_char;
5327}
5328extern "C" {
5329    pub fn ba2str(ba: *const bdaddr_t, str_: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5330}
5331extern "C" {
5332    pub fn ba2strlc(
5333        ba: *const bdaddr_t,
5334        str_: *mut ::std::os::raw::c_char,
5335    ) -> ::std::os::raw::c_int;
5336}
5337extern "C" {
5338    pub fn str2ba(str_: *const ::std::os::raw::c_char, ba: *mut bdaddr_t) -> ::std::os::raw::c_int;
5339}
5340extern "C" {
5341    pub fn ba2oui(ba: *const bdaddr_t, oui: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5342}
5343extern "C" {
5344    pub fn bachk(str_: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5345}
5346extern "C" {
5347    pub fn baprintf(format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
5348}
5349extern "C" {
5350    pub fn bafprintf(
5351        stream: *mut FILE,
5352        format: *const ::std::os::raw::c_char,
5353        ...
5354    ) -> ::std::os::raw::c_int;
5355}
5356extern "C" {
5357    pub fn basprintf(
5358        str_: *mut ::std::os::raw::c_char,
5359        format: *const ::std::os::raw::c_char,
5360        ...
5361    ) -> ::std::os::raw::c_int;
5362}
5363extern "C" {
5364    pub fn basnprintf(
5365        str_: *mut ::std::os::raw::c_char,
5366        size: usize,
5367        format: *const ::std::os::raw::c_char,
5368        ...
5369    ) -> ::std::os::raw::c_int;
5370}
5371extern "C" {
5372    pub fn bt_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5373}
5374extern "C" {
5375    pub fn bt_free(ptr: *mut ::std::os::raw::c_void);
5376}
5377extern "C" {
5378    pub fn bt_error(code: u16) -> ::std::os::raw::c_int;
5379}
5380extern "C" {
5381    pub fn bt_compidtostr(id: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5382}
5383#[repr(C)]
5384#[derive(Debug, Copy, Clone)]
5385pub struct uint128_t {
5386    pub data: [u8; 16usize],
5387}
5388#[test]
5389fn bindgen_test_layout_uint128_t() {
5390    const UNINIT: ::std::mem::MaybeUninit<uint128_t> = ::std::mem::MaybeUninit::uninit();
5391    let ptr = UNINIT.as_ptr();
5392    assert_eq!(
5393        ::std::mem::size_of::<uint128_t>(),
5394        16usize,
5395        concat!("Size of: ", stringify!(uint128_t))
5396    );
5397    assert_eq!(
5398        ::std::mem::align_of::<uint128_t>(),
5399        1usize,
5400        concat!("Alignment of ", stringify!(uint128_t))
5401    );
5402    assert_eq!(
5403        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5404        0usize,
5405        concat!(
5406            "Offset of field: ",
5407            stringify!(uint128_t),
5408            "::",
5409            stringify!(data)
5410        )
5411    );
5412}
5413pub const cwiid_command_CWIID_CMD_STATUS: cwiid_command = 0;
5414pub const cwiid_command_CWIID_CMD_LED: cwiid_command = 1;
5415pub const cwiid_command_CWIID_CMD_RUMBLE: cwiid_command = 2;
5416pub const cwiid_command_CWIID_CMD_RPT_MODE: cwiid_command = 3;
5417pub type cwiid_command = ::std::os::raw::c_uint;
5418pub const cwiid_mesg_type_CWIID_MESG_STATUS: cwiid_mesg_type = 0;
5419pub const cwiid_mesg_type_CWIID_MESG_BTN: cwiid_mesg_type = 1;
5420pub const cwiid_mesg_type_CWIID_MESG_ACC: cwiid_mesg_type = 2;
5421pub const cwiid_mesg_type_CWIID_MESG_IR: cwiid_mesg_type = 3;
5422pub const cwiid_mesg_type_CWIID_MESG_NUNCHUK: cwiid_mesg_type = 4;
5423pub const cwiid_mesg_type_CWIID_MESG_CLASSIC: cwiid_mesg_type = 5;
5424pub const cwiid_mesg_type_CWIID_MESG_BALANCE: cwiid_mesg_type = 6;
5425pub const cwiid_mesg_type_CWIID_MESG_MOTIONPLUS: cwiid_mesg_type = 7;
5426pub const cwiid_mesg_type_CWIID_MESG_ERROR: cwiid_mesg_type = 8;
5427pub const cwiid_mesg_type_CWIID_MESG_UNKNOWN: cwiid_mesg_type = 9;
5428pub type cwiid_mesg_type = ::std::os::raw::c_uint;
5429pub const cwiid_ext_type_CWIID_EXT_NONE: cwiid_ext_type = 0;
5430pub const cwiid_ext_type_CWIID_EXT_NUNCHUK: cwiid_ext_type = 1;
5431pub const cwiid_ext_type_CWIID_EXT_CLASSIC: cwiid_ext_type = 2;
5432pub const cwiid_ext_type_CWIID_EXT_BALANCE: cwiid_ext_type = 3;
5433pub const cwiid_ext_type_CWIID_EXT_MOTIONPLUS: cwiid_ext_type = 4;
5434pub const cwiid_ext_type_CWIID_EXT_UNKNOWN: cwiid_ext_type = 5;
5435pub type cwiid_ext_type = ::std::os::raw::c_uint;
5436pub const cwiid_error_CWIID_ERROR_NONE: cwiid_error = 0;
5437pub const cwiid_error_CWIID_ERROR_DISCONNECT: cwiid_error = 1;
5438pub const cwiid_error_CWIID_ERROR_COMM: cwiid_error = 2;
5439pub type cwiid_error = ::std::os::raw::c_uint;
5440#[repr(C)]
5441#[derive(Debug, Copy, Clone)]
5442pub struct acc_cal {
5443    pub zero: [u8; 3usize],
5444    pub one: [u8; 3usize],
5445}
5446#[test]
5447fn bindgen_test_layout_acc_cal() {
5448    const UNINIT: ::std::mem::MaybeUninit<acc_cal> = ::std::mem::MaybeUninit::uninit();
5449    let ptr = UNINIT.as_ptr();
5450    assert_eq!(
5451        ::std::mem::size_of::<acc_cal>(),
5452        6usize,
5453        concat!("Size of: ", stringify!(acc_cal))
5454    );
5455    assert_eq!(
5456        ::std::mem::align_of::<acc_cal>(),
5457        1usize,
5458        concat!("Alignment of ", stringify!(acc_cal))
5459    );
5460    assert_eq!(
5461        unsafe { ::std::ptr::addr_of!((*ptr).zero) as usize - ptr as usize },
5462        0usize,
5463        concat!(
5464            "Offset of field: ",
5465            stringify!(acc_cal),
5466            "::",
5467            stringify!(zero)
5468        )
5469    );
5470    assert_eq!(
5471        unsafe { ::std::ptr::addr_of!((*ptr).one) as usize - ptr as usize },
5472        3usize,
5473        concat!(
5474            "Offset of field: ",
5475            stringify!(acc_cal),
5476            "::",
5477            stringify!(one)
5478        )
5479    );
5480}
5481#[repr(C)]
5482#[derive(Debug, Copy, Clone)]
5483pub struct balance_cal {
5484    pub right_top: [u16; 3usize],
5485    pub right_bottom: [u16; 3usize],
5486    pub left_top: [u16; 3usize],
5487    pub left_bottom: [u16; 3usize],
5488}
5489#[test]
5490fn bindgen_test_layout_balance_cal() {
5491    const UNINIT: ::std::mem::MaybeUninit<balance_cal> = ::std::mem::MaybeUninit::uninit();
5492    let ptr = UNINIT.as_ptr();
5493    assert_eq!(
5494        ::std::mem::size_of::<balance_cal>(),
5495        24usize,
5496        concat!("Size of: ", stringify!(balance_cal))
5497    );
5498    assert_eq!(
5499        ::std::mem::align_of::<balance_cal>(),
5500        2usize,
5501        concat!("Alignment of ", stringify!(balance_cal))
5502    );
5503    assert_eq!(
5504        unsafe { ::std::ptr::addr_of!((*ptr).right_top) as usize - ptr as usize },
5505        0usize,
5506        concat!(
5507            "Offset of field: ",
5508            stringify!(balance_cal),
5509            "::",
5510            stringify!(right_top)
5511        )
5512    );
5513    assert_eq!(
5514        unsafe { ::std::ptr::addr_of!((*ptr).right_bottom) as usize - ptr as usize },
5515        6usize,
5516        concat!(
5517            "Offset of field: ",
5518            stringify!(balance_cal),
5519            "::",
5520            stringify!(right_bottom)
5521        )
5522    );
5523    assert_eq!(
5524        unsafe { ::std::ptr::addr_of!((*ptr).left_top) as usize - ptr as usize },
5525        12usize,
5526        concat!(
5527            "Offset of field: ",
5528            stringify!(balance_cal),
5529            "::",
5530            stringify!(left_top)
5531        )
5532    );
5533    assert_eq!(
5534        unsafe { ::std::ptr::addr_of!((*ptr).left_bottom) as usize - ptr as usize },
5535        18usize,
5536        concat!(
5537            "Offset of field: ",
5538            stringify!(balance_cal),
5539            "::",
5540            stringify!(left_bottom)
5541        )
5542    );
5543}
5544#[repr(C)]
5545#[derive(Debug, Copy, Clone)]
5546pub struct cwiid_status_mesg {
5547    pub type_: cwiid_mesg_type,
5548    pub battery: u8,
5549    pub ext_type: cwiid_ext_type,
5550}
5551#[test]
5552fn bindgen_test_layout_cwiid_status_mesg() {
5553    const UNINIT: ::std::mem::MaybeUninit<cwiid_status_mesg> = ::std::mem::MaybeUninit::uninit();
5554    let ptr = UNINIT.as_ptr();
5555    assert_eq!(
5556        ::std::mem::size_of::<cwiid_status_mesg>(),
5557        12usize,
5558        concat!("Size of: ", stringify!(cwiid_status_mesg))
5559    );
5560    assert_eq!(
5561        ::std::mem::align_of::<cwiid_status_mesg>(),
5562        4usize,
5563        concat!("Alignment of ", stringify!(cwiid_status_mesg))
5564    );
5565    assert_eq!(
5566        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5567        0usize,
5568        concat!(
5569            "Offset of field: ",
5570            stringify!(cwiid_status_mesg),
5571            "::",
5572            stringify!(type_)
5573        )
5574    );
5575    assert_eq!(
5576        unsafe { ::std::ptr::addr_of!((*ptr).battery) as usize - ptr as usize },
5577        4usize,
5578        concat!(
5579            "Offset of field: ",
5580            stringify!(cwiid_status_mesg),
5581            "::",
5582            stringify!(battery)
5583        )
5584    );
5585    assert_eq!(
5586        unsafe { ::std::ptr::addr_of!((*ptr).ext_type) as usize - ptr as usize },
5587        8usize,
5588        concat!(
5589            "Offset of field: ",
5590            stringify!(cwiid_status_mesg),
5591            "::",
5592            stringify!(ext_type)
5593        )
5594    );
5595}
5596#[repr(C)]
5597#[derive(Debug, Copy, Clone)]
5598pub struct cwiid_btn_mesg {
5599    pub type_: cwiid_mesg_type,
5600    pub buttons: u16,
5601}
5602#[test]
5603fn bindgen_test_layout_cwiid_btn_mesg() {
5604    const UNINIT: ::std::mem::MaybeUninit<cwiid_btn_mesg> = ::std::mem::MaybeUninit::uninit();
5605    let ptr = UNINIT.as_ptr();
5606    assert_eq!(
5607        ::std::mem::size_of::<cwiid_btn_mesg>(),
5608        8usize,
5609        concat!("Size of: ", stringify!(cwiid_btn_mesg))
5610    );
5611    assert_eq!(
5612        ::std::mem::align_of::<cwiid_btn_mesg>(),
5613        4usize,
5614        concat!("Alignment of ", stringify!(cwiid_btn_mesg))
5615    );
5616    assert_eq!(
5617        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5618        0usize,
5619        concat!(
5620            "Offset of field: ",
5621            stringify!(cwiid_btn_mesg),
5622            "::",
5623            stringify!(type_)
5624        )
5625    );
5626    assert_eq!(
5627        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
5628        4usize,
5629        concat!(
5630            "Offset of field: ",
5631            stringify!(cwiid_btn_mesg),
5632            "::",
5633            stringify!(buttons)
5634        )
5635    );
5636}
5637#[repr(C)]
5638#[derive(Debug, Copy, Clone)]
5639pub struct cwiid_acc_mesg {
5640    pub type_: cwiid_mesg_type,
5641    pub acc: [u8; 3usize],
5642}
5643#[test]
5644fn bindgen_test_layout_cwiid_acc_mesg() {
5645    const UNINIT: ::std::mem::MaybeUninit<cwiid_acc_mesg> = ::std::mem::MaybeUninit::uninit();
5646    let ptr = UNINIT.as_ptr();
5647    assert_eq!(
5648        ::std::mem::size_of::<cwiid_acc_mesg>(),
5649        8usize,
5650        concat!("Size of: ", stringify!(cwiid_acc_mesg))
5651    );
5652    assert_eq!(
5653        ::std::mem::align_of::<cwiid_acc_mesg>(),
5654        4usize,
5655        concat!("Alignment of ", stringify!(cwiid_acc_mesg))
5656    );
5657    assert_eq!(
5658        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5659        0usize,
5660        concat!(
5661            "Offset of field: ",
5662            stringify!(cwiid_acc_mesg),
5663            "::",
5664            stringify!(type_)
5665        )
5666    );
5667    assert_eq!(
5668        unsafe { ::std::ptr::addr_of!((*ptr).acc) as usize - ptr as usize },
5669        4usize,
5670        concat!(
5671            "Offset of field: ",
5672            stringify!(cwiid_acc_mesg),
5673            "::",
5674            stringify!(acc)
5675        )
5676    );
5677}
5678#[repr(C)]
5679#[derive(Debug, Copy, Clone)]
5680pub struct cwiid_ir_src {
5681    pub valid: ::std::os::raw::c_char,
5682    pub pos: [u16; 2usize],
5683    pub size: i8,
5684}
5685#[test]
5686fn bindgen_test_layout_cwiid_ir_src() {
5687    const UNINIT: ::std::mem::MaybeUninit<cwiid_ir_src> = ::std::mem::MaybeUninit::uninit();
5688    let ptr = UNINIT.as_ptr();
5689    assert_eq!(
5690        ::std::mem::size_of::<cwiid_ir_src>(),
5691        8usize,
5692        concat!("Size of: ", stringify!(cwiid_ir_src))
5693    );
5694    assert_eq!(
5695        ::std::mem::align_of::<cwiid_ir_src>(),
5696        2usize,
5697        concat!("Alignment of ", stringify!(cwiid_ir_src))
5698    );
5699    assert_eq!(
5700        unsafe { ::std::ptr::addr_of!((*ptr).valid) as usize - ptr as usize },
5701        0usize,
5702        concat!(
5703            "Offset of field: ",
5704            stringify!(cwiid_ir_src),
5705            "::",
5706            stringify!(valid)
5707        )
5708    );
5709    assert_eq!(
5710        unsafe { ::std::ptr::addr_of!((*ptr).pos) as usize - ptr as usize },
5711        2usize,
5712        concat!(
5713            "Offset of field: ",
5714            stringify!(cwiid_ir_src),
5715            "::",
5716            stringify!(pos)
5717        )
5718    );
5719    assert_eq!(
5720        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
5721        6usize,
5722        concat!(
5723            "Offset of field: ",
5724            stringify!(cwiid_ir_src),
5725            "::",
5726            stringify!(size)
5727        )
5728    );
5729}
5730#[repr(C)]
5731#[derive(Debug, Copy, Clone)]
5732pub struct cwiid_ir_mesg {
5733    pub type_: cwiid_mesg_type,
5734    pub src: [cwiid_ir_src; 4usize],
5735}
5736#[test]
5737fn bindgen_test_layout_cwiid_ir_mesg() {
5738    const UNINIT: ::std::mem::MaybeUninit<cwiid_ir_mesg> = ::std::mem::MaybeUninit::uninit();
5739    let ptr = UNINIT.as_ptr();
5740    assert_eq!(
5741        ::std::mem::size_of::<cwiid_ir_mesg>(),
5742        36usize,
5743        concat!("Size of: ", stringify!(cwiid_ir_mesg))
5744    );
5745    assert_eq!(
5746        ::std::mem::align_of::<cwiid_ir_mesg>(),
5747        4usize,
5748        concat!("Alignment of ", stringify!(cwiid_ir_mesg))
5749    );
5750    assert_eq!(
5751        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5752        0usize,
5753        concat!(
5754            "Offset of field: ",
5755            stringify!(cwiid_ir_mesg),
5756            "::",
5757            stringify!(type_)
5758        )
5759    );
5760    assert_eq!(
5761        unsafe { ::std::ptr::addr_of!((*ptr).src) as usize - ptr as usize },
5762        4usize,
5763        concat!(
5764            "Offset of field: ",
5765            stringify!(cwiid_ir_mesg),
5766            "::",
5767            stringify!(src)
5768        )
5769    );
5770}
5771#[repr(C)]
5772#[derive(Debug, Copy, Clone)]
5773pub struct cwiid_nunchuk_mesg {
5774    pub type_: cwiid_mesg_type,
5775    pub stick: [u8; 2usize],
5776    pub acc: [u8; 3usize],
5777    pub buttons: u8,
5778}
5779#[test]
5780fn bindgen_test_layout_cwiid_nunchuk_mesg() {
5781    const UNINIT: ::std::mem::MaybeUninit<cwiid_nunchuk_mesg> = ::std::mem::MaybeUninit::uninit();
5782    let ptr = UNINIT.as_ptr();
5783    assert_eq!(
5784        ::std::mem::size_of::<cwiid_nunchuk_mesg>(),
5785        12usize,
5786        concat!("Size of: ", stringify!(cwiid_nunchuk_mesg))
5787    );
5788    assert_eq!(
5789        ::std::mem::align_of::<cwiid_nunchuk_mesg>(),
5790        4usize,
5791        concat!("Alignment of ", stringify!(cwiid_nunchuk_mesg))
5792    );
5793    assert_eq!(
5794        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5795        0usize,
5796        concat!(
5797            "Offset of field: ",
5798            stringify!(cwiid_nunchuk_mesg),
5799            "::",
5800            stringify!(type_)
5801        )
5802    );
5803    assert_eq!(
5804        unsafe { ::std::ptr::addr_of!((*ptr).stick) as usize - ptr as usize },
5805        4usize,
5806        concat!(
5807            "Offset of field: ",
5808            stringify!(cwiid_nunchuk_mesg),
5809            "::",
5810            stringify!(stick)
5811        )
5812    );
5813    assert_eq!(
5814        unsafe { ::std::ptr::addr_of!((*ptr).acc) as usize - ptr as usize },
5815        6usize,
5816        concat!(
5817            "Offset of field: ",
5818            stringify!(cwiid_nunchuk_mesg),
5819            "::",
5820            stringify!(acc)
5821        )
5822    );
5823    assert_eq!(
5824        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
5825        9usize,
5826        concat!(
5827            "Offset of field: ",
5828            stringify!(cwiid_nunchuk_mesg),
5829            "::",
5830            stringify!(buttons)
5831        )
5832    );
5833}
5834#[repr(C)]
5835#[derive(Debug, Copy, Clone)]
5836pub struct cwiid_classic_mesg {
5837    pub type_: cwiid_mesg_type,
5838    pub l_stick: [u8; 2usize],
5839    pub r_stick: [u8; 2usize],
5840    pub l: u8,
5841    pub r: u8,
5842    pub buttons: u16,
5843}
5844#[test]
5845fn bindgen_test_layout_cwiid_classic_mesg() {
5846    const UNINIT: ::std::mem::MaybeUninit<cwiid_classic_mesg> = ::std::mem::MaybeUninit::uninit();
5847    let ptr = UNINIT.as_ptr();
5848    assert_eq!(
5849        ::std::mem::size_of::<cwiid_classic_mesg>(),
5850        12usize,
5851        concat!("Size of: ", stringify!(cwiid_classic_mesg))
5852    );
5853    assert_eq!(
5854        ::std::mem::align_of::<cwiid_classic_mesg>(),
5855        4usize,
5856        concat!("Alignment of ", stringify!(cwiid_classic_mesg))
5857    );
5858    assert_eq!(
5859        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5860        0usize,
5861        concat!(
5862            "Offset of field: ",
5863            stringify!(cwiid_classic_mesg),
5864            "::",
5865            stringify!(type_)
5866        )
5867    );
5868    assert_eq!(
5869        unsafe { ::std::ptr::addr_of!((*ptr).l_stick) as usize - ptr as usize },
5870        4usize,
5871        concat!(
5872            "Offset of field: ",
5873            stringify!(cwiid_classic_mesg),
5874            "::",
5875            stringify!(l_stick)
5876        )
5877    );
5878    assert_eq!(
5879        unsafe { ::std::ptr::addr_of!((*ptr).r_stick) as usize - ptr as usize },
5880        6usize,
5881        concat!(
5882            "Offset of field: ",
5883            stringify!(cwiid_classic_mesg),
5884            "::",
5885            stringify!(r_stick)
5886        )
5887    );
5888    assert_eq!(
5889        unsafe { ::std::ptr::addr_of!((*ptr).l) as usize - ptr as usize },
5890        8usize,
5891        concat!(
5892            "Offset of field: ",
5893            stringify!(cwiid_classic_mesg),
5894            "::",
5895            stringify!(l)
5896        )
5897    );
5898    assert_eq!(
5899        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
5900        9usize,
5901        concat!(
5902            "Offset of field: ",
5903            stringify!(cwiid_classic_mesg),
5904            "::",
5905            stringify!(r)
5906        )
5907    );
5908    assert_eq!(
5909        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
5910        10usize,
5911        concat!(
5912            "Offset of field: ",
5913            stringify!(cwiid_classic_mesg),
5914            "::",
5915            stringify!(buttons)
5916        )
5917    );
5918}
5919#[repr(C)]
5920#[derive(Debug, Copy, Clone)]
5921pub struct cwiid_balance_mesg {
5922    pub type_: cwiid_mesg_type,
5923    pub right_top: u16,
5924    pub right_bottom: u16,
5925    pub left_top: u16,
5926    pub left_bottom: u16,
5927}
5928#[test]
5929fn bindgen_test_layout_cwiid_balance_mesg() {
5930    const UNINIT: ::std::mem::MaybeUninit<cwiid_balance_mesg> = ::std::mem::MaybeUninit::uninit();
5931    let ptr = UNINIT.as_ptr();
5932    assert_eq!(
5933        ::std::mem::size_of::<cwiid_balance_mesg>(),
5934        12usize,
5935        concat!("Size of: ", stringify!(cwiid_balance_mesg))
5936    );
5937    assert_eq!(
5938        ::std::mem::align_of::<cwiid_balance_mesg>(),
5939        4usize,
5940        concat!("Alignment of ", stringify!(cwiid_balance_mesg))
5941    );
5942    assert_eq!(
5943        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5944        0usize,
5945        concat!(
5946            "Offset of field: ",
5947            stringify!(cwiid_balance_mesg),
5948            "::",
5949            stringify!(type_)
5950        )
5951    );
5952    assert_eq!(
5953        unsafe { ::std::ptr::addr_of!((*ptr).right_top) as usize - ptr as usize },
5954        4usize,
5955        concat!(
5956            "Offset of field: ",
5957            stringify!(cwiid_balance_mesg),
5958            "::",
5959            stringify!(right_top)
5960        )
5961    );
5962    assert_eq!(
5963        unsafe { ::std::ptr::addr_of!((*ptr).right_bottom) as usize - ptr as usize },
5964        6usize,
5965        concat!(
5966            "Offset of field: ",
5967            stringify!(cwiid_balance_mesg),
5968            "::",
5969            stringify!(right_bottom)
5970        )
5971    );
5972    assert_eq!(
5973        unsafe { ::std::ptr::addr_of!((*ptr).left_top) as usize - ptr as usize },
5974        8usize,
5975        concat!(
5976            "Offset of field: ",
5977            stringify!(cwiid_balance_mesg),
5978            "::",
5979            stringify!(left_top)
5980        )
5981    );
5982    assert_eq!(
5983        unsafe { ::std::ptr::addr_of!((*ptr).left_bottom) as usize - ptr as usize },
5984        10usize,
5985        concat!(
5986            "Offset of field: ",
5987            stringify!(cwiid_balance_mesg),
5988            "::",
5989            stringify!(left_bottom)
5990        )
5991    );
5992}
5993#[repr(C)]
5994#[derive(Debug, Copy, Clone)]
5995pub struct cwiid_motionplus_mesg {
5996    pub type_: cwiid_mesg_type,
5997    pub angle_rate: [u16; 3usize],
5998    pub low_speed: [u8; 3usize],
5999}
6000#[test]
6001fn bindgen_test_layout_cwiid_motionplus_mesg() {
6002    const UNINIT: ::std::mem::MaybeUninit<cwiid_motionplus_mesg> =
6003        ::std::mem::MaybeUninit::uninit();
6004    let ptr = UNINIT.as_ptr();
6005    assert_eq!(
6006        ::std::mem::size_of::<cwiid_motionplus_mesg>(),
6007        16usize,
6008        concat!("Size of: ", stringify!(cwiid_motionplus_mesg))
6009    );
6010    assert_eq!(
6011        ::std::mem::align_of::<cwiid_motionplus_mesg>(),
6012        4usize,
6013        concat!("Alignment of ", stringify!(cwiid_motionplus_mesg))
6014    );
6015    assert_eq!(
6016        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6017        0usize,
6018        concat!(
6019            "Offset of field: ",
6020            stringify!(cwiid_motionplus_mesg),
6021            "::",
6022            stringify!(type_)
6023        )
6024    );
6025    assert_eq!(
6026        unsafe { ::std::ptr::addr_of!((*ptr).angle_rate) as usize - ptr as usize },
6027        4usize,
6028        concat!(
6029            "Offset of field: ",
6030            stringify!(cwiid_motionplus_mesg),
6031            "::",
6032            stringify!(angle_rate)
6033        )
6034    );
6035    assert_eq!(
6036        unsafe { ::std::ptr::addr_of!((*ptr).low_speed) as usize - ptr as usize },
6037        10usize,
6038        concat!(
6039            "Offset of field: ",
6040            stringify!(cwiid_motionplus_mesg),
6041            "::",
6042            stringify!(low_speed)
6043        )
6044    );
6045}
6046#[repr(C)]
6047#[derive(Debug, Copy, Clone)]
6048pub struct cwiid_error_mesg {
6049    pub type_: cwiid_mesg_type,
6050    pub error: cwiid_error,
6051}
6052#[test]
6053fn bindgen_test_layout_cwiid_error_mesg() {
6054    const UNINIT: ::std::mem::MaybeUninit<cwiid_error_mesg> = ::std::mem::MaybeUninit::uninit();
6055    let ptr = UNINIT.as_ptr();
6056    assert_eq!(
6057        ::std::mem::size_of::<cwiid_error_mesg>(),
6058        8usize,
6059        concat!("Size of: ", stringify!(cwiid_error_mesg))
6060    );
6061    assert_eq!(
6062        ::std::mem::align_of::<cwiid_error_mesg>(),
6063        4usize,
6064        concat!("Alignment of ", stringify!(cwiid_error_mesg))
6065    );
6066    assert_eq!(
6067        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6068        0usize,
6069        concat!(
6070            "Offset of field: ",
6071            stringify!(cwiid_error_mesg),
6072            "::",
6073            stringify!(type_)
6074        )
6075    );
6076    assert_eq!(
6077        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
6078        4usize,
6079        concat!(
6080            "Offset of field: ",
6081            stringify!(cwiid_error_mesg),
6082            "::",
6083            stringify!(error)
6084        )
6085    );
6086}
6087#[repr(C)]
6088#[derive(Copy, Clone)]
6089pub union cwiid_mesg {
6090    pub type_: cwiid_mesg_type,
6091    pub status_mesg: cwiid_status_mesg,
6092    pub btn_mesg: cwiid_btn_mesg,
6093    pub acc_mesg: cwiid_acc_mesg,
6094    pub ir_mesg: cwiid_ir_mesg,
6095    pub nunchuk_mesg: cwiid_nunchuk_mesg,
6096    pub classic_mesg: cwiid_classic_mesg,
6097    pub balance_mesg: cwiid_balance_mesg,
6098    pub motionplus_mesg: cwiid_motionplus_mesg,
6099    pub error_mesg: cwiid_error_mesg,
6100}
6101#[test]
6102fn bindgen_test_layout_cwiid_mesg() {
6103    const UNINIT: ::std::mem::MaybeUninit<cwiid_mesg> = ::std::mem::MaybeUninit::uninit();
6104    let ptr = UNINIT.as_ptr();
6105    assert_eq!(
6106        ::std::mem::size_of::<cwiid_mesg>(),
6107        36usize,
6108        concat!("Size of: ", stringify!(cwiid_mesg))
6109    );
6110    assert_eq!(
6111        ::std::mem::align_of::<cwiid_mesg>(),
6112        4usize,
6113        concat!("Alignment of ", stringify!(cwiid_mesg))
6114    );
6115    assert_eq!(
6116        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
6117        0usize,
6118        concat!(
6119            "Offset of field: ",
6120            stringify!(cwiid_mesg),
6121            "::",
6122            stringify!(type_)
6123        )
6124    );
6125    assert_eq!(
6126        unsafe { ::std::ptr::addr_of!((*ptr).status_mesg) as usize - ptr as usize },
6127        0usize,
6128        concat!(
6129            "Offset of field: ",
6130            stringify!(cwiid_mesg),
6131            "::",
6132            stringify!(status_mesg)
6133        )
6134    );
6135    assert_eq!(
6136        unsafe { ::std::ptr::addr_of!((*ptr).btn_mesg) as usize - ptr as usize },
6137        0usize,
6138        concat!(
6139            "Offset of field: ",
6140            stringify!(cwiid_mesg),
6141            "::",
6142            stringify!(btn_mesg)
6143        )
6144    );
6145    assert_eq!(
6146        unsafe { ::std::ptr::addr_of!((*ptr).acc_mesg) as usize - ptr as usize },
6147        0usize,
6148        concat!(
6149            "Offset of field: ",
6150            stringify!(cwiid_mesg),
6151            "::",
6152            stringify!(acc_mesg)
6153        )
6154    );
6155    assert_eq!(
6156        unsafe { ::std::ptr::addr_of!((*ptr).ir_mesg) as usize - ptr as usize },
6157        0usize,
6158        concat!(
6159            "Offset of field: ",
6160            stringify!(cwiid_mesg),
6161            "::",
6162            stringify!(ir_mesg)
6163        )
6164    );
6165    assert_eq!(
6166        unsafe { ::std::ptr::addr_of!((*ptr).nunchuk_mesg) as usize - ptr as usize },
6167        0usize,
6168        concat!(
6169            "Offset of field: ",
6170            stringify!(cwiid_mesg),
6171            "::",
6172            stringify!(nunchuk_mesg)
6173        )
6174    );
6175    assert_eq!(
6176        unsafe { ::std::ptr::addr_of!((*ptr).classic_mesg) as usize - ptr as usize },
6177        0usize,
6178        concat!(
6179            "Offset of field: ",
6180            stringify!(cwiid_mesg),
6181            "::",
6182            stringify!(classic_mesg)
6183        )
6184    );
6185    assert_eq!(
6186        unsafe { ::std::ptr::addr_of!((*ptr).balance_mesg) as usize - ptr as usize },
6187        0usize,
6188        concat!(
6189            "Offset of field: ",
6190            stringify!(cwiid_mesg),
6191            "::",
6192            stringify!(balance_mesg)
6193        )
6194    );
6195    assert_eq!(
6196        unsafe { ::std::ptr::addr_of!((*ptr).motionplus_mesg) as usize - ptr as usize },
6197        0usize,
6198        concat!(
6199            "Offset of field: ",
6200            stringify!(cwiid_mesg),
6201            "::",
6202            stringify!(motionplus_mesg)
6203        )
6204    );
6205    assert_eq!(
6206        unsafe { ::std::ptr::addr_of!((*ptr).error_mesg) as usize - ptr as usize },
6207        0usize,
6208        concat!(
6209            "Offset of field: ",
6210            stringify!(cwiid_mesg),
6211            "::",
6212            stringify!(error_mesg)
6213        )
6214    );
6215}
6216#[repr(C)]
6217#[derive(Debug, Copy, Clone)]
6218pub struct nunchuk_state {
6219    pub stick: [u8; 2usize],
6220    pub acc: [u8; 3usize],
6221    pub buttons: u8,
6222}
6223#[test]
6224fn bindgen_test_layout_nunchuk_state() {
6225    const UNINIT: ::std::mem::MaybeUninit<nunchuk_state> = ::std::mem::MaybeUninit::uninit();
6226    let ptr = UNINIT.as_ptr();
6227    assert_eq!(
6228        ::std::mem::size_of::<nunchuk_state>(),
6229        6usize,
6230        concat!("Size of: ", stringify!(nunchuk_state))
6231    );
6232    assert_eq!(
6233        ::std::mem::align_of::<nunchuk_state>(),
6234        1usize,
6235        concat!("Alignment of ", stringify!(nunchuk_state))
6236    );
6237    assert_eq!(
6238        unsafe { ::std::ptr::addr_of!((*ptr).stick) as usize - ptr as usize },
6239        0usize,
6240        concat!(
6241            "Offset of field: ",
6242            stringify!(nunchuk_state),
6243            "::",
6244            stringify!(stick)
6245        )
6246    );
6247    assert_eq!(
6248        unsafe { ::std::ptr::addr_of!((*ptr).acc) as usize - ptr as usize },
6249        2usize,
6250        concat!(
6251            "Offset of field: ",
6252            stringify!(nunchuk_state),
6253            "::",
6254            stringify!(acc)
6255        )
6256    );
6257    assert_eq!(
6258        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
6259        5usize,
6260        concat!(
6261            "Offset of field: ",
6262            stringify!(nunchuk_state),
6263            "::",
6264            stringify!(buttons)
6265        )
6266    );
6267}
6268#[repr(C)]
6269#[derive(Debug, Copy, Clone)]
6270pub struct classic_state {
6271    pub l_stick: [u8; 2usize],
6272    pub r_stick: [u8; 2usize],
6273    pub l: u8,
6274    pub r: u8,
6275    pub buttons: u16,
6276}
6277#[test]
6278fn bindgen_test_layout_classic_state() {
6279    const UNINIT: ::std::mem::MaybeUninit<classic_state> = ::std::mem::MaybeUninit::uninit();
6280    let ptr = UNINIT.as_ptr();
6281    assert_eq!(
6282        ::std::mem::size_of::<classic_state>(),
6283        8usize,
6284        concat!("Size of: ", stringify!(classic_state))
6285    );
6286    assert_eq!(
6287        ::std::mem::align_of::<classic_state>(),
6288        2usize,
6289        concat!("Alignment of ", stringify!(classic_state))
6290    );
6291    assert_eq!(
6292        unsafe { ::std::ptr::addr_of!((*ptr).l_stick) as usize - ptr as usize },
6293        0usize,
6294        concat!(
6295            "Offset of field: ",
6296            stringify!(classic_state),
6297            "::",
6298            stringify!(l_stick)
6299        )
6300    );
6301    assert_eq!(
6302        unsafe { ::std::ptr::addr_of!((*ptr).r_stick) as usize - ptr as usize },
6303        2usize,
6304        concat!(
6305            "Offset of field: ",
6306            stringify!(classic_state),
6307            "::",
6308            stringify!(r_stick)
6309        )
6310    );
6311    assert_eq!(
6312        unsafe { ::std::ptr::addr_of!((*ptr).l) as usize - ptr as usize },
6313        4usize,
6314        concat!(
6315            "Offset of field: ",
6316            stringify!(classic_state),
6317            "::",
6318            stringify!(l)
6319        )
6320    );
6321    assert_eq!(
6322        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
6323        5usize,
6324        concat!(
6325            "Offset of field: ",
6326            stringify!(classic_state),
6327            "::",
6328            stringify!(r)
6329        )
6330    );
6331    assert_eq!(
6332        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
6333        6usize,
6334        concat!(
6335            "Offset of field: ",
6336            stringify!(classic_state),
6337            "::",
6338            stringify!(buttons)
6339        )
6340    );
6341}
6342#[repr(C)]
6343#[derive(Debug, Copy, Clone)]
6344pub struct balance_state {
6345    pub right_top: u16,
6346    pub right_bottom: u16,
6347    pub left_top: u16,
6348    pub left_bottom: u16,
6349}
6350#[test]
6351fn bindgen_test_layout_balance_state() {
6352    const UNINIT: ::std::mem::MaybeUninit<balance_state> = ::std::mem::MaybeUninit::uninit();
6353    let ptr = UNINIT.as_ptr();
6354    assert_eq!(
6355        ::std::mem::size_of::<balance_state>(),
6356        8usize,
6357        concat!("Size of: ", stringify!(balance_state))
6358    );
6359    assert_eq!(
6360        ::std::mem::align_of::<balance_state>(),
6361        2usize,
6362        concat!("Alignment of ", stringify!(balance_state))
6363    );
6364    assert_eq!(
6365        unsafe { ::std::ptr::addr_of!((*ptr).right_top) as usize - ptr as usize },
6366        0usize,
6367        concat!(
6368            "Offset of field: ",
6369            stringify!(balance_state),
6370            "::",
6371            stringify!(right_top)
6372        )
6373    );
6374    assert_eq!(
6375        unsafe { ::std::ptr::addr_of!((*ptr).right_bottom) as usize - ptr as usize },
6376        2usize,
6377        concat!(
6378            "Offset of field: ",
6379            stringify!(balance_state),
6380            "::",
6381            stringify!(right_bottom)
6382        )
6383    );
6384    assert_eq!(
6385        unsafe { ::std::ptr::addr_of!((*ptr).left_top) as usize - ptr as usize },
6386        4usize,
6387        concat!(
6388            "Offset of field: ",
6389            stringify!(balance_state),
6390            "::",
6391            stringify!(left_top)
6392        )
6393    );
6394    assert_eq!(
6395        unsafe { ::std::ptr::addr_of!((*ptr).left_bottom) as usize - ptr as usize },
6396        6usize,
6397        concat!(
6398            "Offset of field: ",
6399            stringify!(balance_state),
6400            "::",
6401            stringify!(left_bottom)
6402        )
6403    );
6404}
6405#[repr(C)]
6406#[derive(Debug, Copy, Clone)]
6407pub struct motionplus_state {
6408    pub angle_rate: [u16; 3usize],
6409    pub low_speed: [u8; 3usize],
6410}
6411#[test]
6412fn bindgen_test_layout_motionplus_state() {
6413    const UNINIT: ::std::mem::MaybeUninit<motionplus_state> = ::std::mem::MaybeUninit::uninit();
6414    let ptr = UNINIT.as_ptr();
6415    assert_eq!(
6416        ::std::mem::size_of::<motionplus_state>(),
6417        10usize,
6418        concat!("Size of: ", stringify!(motionplus_state))
6419    );
6420    assert_eq!(
6421        ::std::mem::align_of::<motionplus_state>(),
6422        2usize,
6423        concat!("Alignment of ", stringify!(motionplus_state))
6424    );
6425    assert_eq!(
6426        unsafe { ::std::ptr::addr_of!((*ptr).angle_rate) as usize - ptr as usize },
6427        0usize,
6428        concat!(
6429            "Offset of field: ",
6430            stringify!(motionplus_state),
6431            "::",
6432            stringify!(angle_rate)
6433        )
6434    );
6435    assert_eq!(
6436        unsafe { ::std::ptr::addr_of!((*ptr).low_speed) as usize - ptr as usize },
6437        6usize,
6438        concat!(
6439            "Offset of field: ",
6440            stringify!(motionplus_state),
6441            "::",
6442            stringify!(low_speed)
6443        )
6444    );
6445}
6446#[repr(C)]
6447#[derive(Copy, Clone)]
6448pub union ext_state {
6449    pub nunchuk: nunchuk_state,
6450    pub classic: classic_state,
6451    pub balance: balance_state,
6452    pub motionplus: motionplus_state,
6453}
6454#[test]
6455fn bindgen_test_layout_ext_state() {
6456    const UNINIT: ::std::mem::MaybeUninit<ext_state> = ::std::mem::MaybeUninit::uninit();
6457    let ptr = UNINIT.as_ptr();
6458    assert_eq!(
6459        ::std::mem::size_of::<ext_state>(),
6460        10usize,
6461        concat!("Size of: ", stringify!(ext_state))
6462    );
6463    assert_eq!(
6464        ::std::mem::align_of::<ext_state>(),
6465        2usize,
6466        concat!("Alignment of ", stringify!(ext_state))
6467    );
6468    assert_eq!(
6469        unsafe { ::std::ptr::addr_of!((*ptr).nunchuk) as usize - ptr as usize },
6470        0usize,
6471        concat!(
6472            "Offset of field: ",
6473            stringify!(ext_state),
6474            "::",
6475            stringify!(nunchuk)
6476        )
6477    );
6478    assert_eq!(
6479        unsafe { ::std::ptr::addr_of!((*ptr).classic) as usize - ptr as usize },
6480        0usize,
6481        concat!(
6482            "Offset of field: ",
6483            stringify!(ext_state),
6484            "::",
6485            stringify!(classic)
6486        )
6487    );
6488    assert_eq!(
6489        unsafe { ::std::ptr::addr_of!((*ptr).balance) as usize - ptr as usize },
6490        0usize,
6491        concat!(
6492            "Offset of field: ",
6493            stringify!(ext_state),
6494            "::",
6495            stringify!(balance)
6496        )
6497    );
6498    assert_eq!(
6499        unsafe { ::std::ptr::addr_of!((*ptr).motionplus) as usize - ptr as usize },
6500        0usize,
6501        concat!(
6502            "Offset of field: ",
6503            stringify!(ext_state),
6504            "::",
6505            stringify!(motionplus)
6506        )
6507    );
6508}
6509#[repr(C)]
6510#[derive(Copy, Clone)]
6511pub struct cwiid_state {
6512    pub rpt_mode: u8,
6513    pub led: u8,
6514    pub rumble: u8,
6515    pub battery: u8,
6516    pub buttons: u16,
6517    pub acc: [u8; 3usize],
6518    pub ir_src: [cwiid_ir_src; 4usize],
6519    pub ext_type: cwiid_ext_type,
6520    pub ext: ext_state,
6521    pub error: cwiid_error,
6522}
6523#[test]
6524fn bindgen_test_layout_cwiid_state() {
6525    const UNINIT: ::std::mem::MaybeUninit<cwiid_state> = ::std::mem::MaybeUninit::uninit();
6526    let ptr = UNINIT.as_ptr();
6527    assert_eq!(
6528        ::std::mem::size_of::<cwiid_state>(),
6529        64usize,
6530        concat!("Size of: ", stringify!(cwiid_state))
6531    );
6532    assert_eq!(
6533        ::std::mem::align_of::<cwiid_state>(),
6534        4usize,
6535        concat!("Alignment of ", stringify!(cwiid_state))
6536    );
6537    assert_eq!(
6538        unsafe { ::std::ptr::addr_of!((*ptr).rpt_mode) as usize - ptr as usize },
6539        0usize,
6540        concat!(
6541            "Offset of field: ",
6542            stringify!(cwiid_state),
6543            "::",
6544            stringify!(rpt_mode)
6545        )
6546    );
6547    assert_eq!(
6548        unsafe { ::std::ptr::addr_of!((*ptr).led) as usize - ptr as usize },
6549        1usize,
6550        concat!(
6551            "Offset of field: ",
6552            stringify!(cwiid_state),
6553            "::",
6554            stringify!(led)
6555        )
6556    );
6557    assert_eq!(
6558        unsafe { ::std::ptr::addr_of!((*ptr).rumble) as usize - ptr as usize },
6559        2usize,
6560        concat!(
6561            "Offset of field: ",
6562            stringify!(cwiid_state),
6563            "::",
6564            stringify!(rumble)
6565        )
6566    );
6567    assert_eq!(
6568        unsafe { ::std::ptr::addr_of!((*ptr).battery) as usize - ptr as usize },
6569        3usize,
6570        concat!(
6571            "Offset of field: ",
6572            stringify!(cwiid_state),
6573            "::",
6574            stringify!(battery)
6575        )
6576    );
6577    assert_eq!(
6578        unsafe { ::std::ptr::addr_of!((*ptr).buttons) as usize - ptr as usize },
6579        4usize,
6580        concat!(
6581            "Offset of field: ",
6582            stringify!(cwiid_state),
6583            "::",
6584            stringify!(buttons)
6585        )
6586    );
6587    assert_eq!(
6588        unsafe { ::std::ptr::addr_of!((*ptr).acc) as usize - ptr as usize },
6589        6usize,
6590        concat!(
6591            "Offset of field: ",
6592            stringify!(cwiid_state),
6593            "::",
6594            stringify!(acc)
6595        )
6596    );
6597    assert_eq!(
6598        unsafe { ::std::ptr::addr_of!((*ptr).ir_src) as usize - ptr as usize },
6599        10usize,
6600        concat!(
6601            "Offset of field: ",
6602            stringify!(cwiid_state),
6603            "::",
6604            stringify!(ir_src)
6605        )
6606    );
6607    assert_eq!(
6608        unsafe { ::std::ptr::addr_of!((*ptr).ext_type) as usize - ptr as usize },
6609        44usize,
6610        concat!(
6611            "Offset of field: ",
6612            stringify!(cwiid_state),
6613            "::",
6614            stringify!(ext_type)
6615        )
6616    );
6617    assert_eq!(
6618        unsafe { ::std::ptr::addr_of!((*ptr).ext) as usize - ptr as usize },
6619        48usize,
6620        concat!(
6621            "Offset of field: ",
6622            stringify!(cwiid_state),
6623            "::",
6624            stringify!(ext)
6625        )
6626    );
6627    assert_eq!(
6628        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
6629        60usize,
6630        concat!(
6631            "Offset of field: ",
6632            stringify!(cwiid_state),
6633            "::",
6634            stringify!(error)
6635        )
6636    );
6637}
6638#[repr(C)]
6639#[derive(Debug, Copy, Clone)]
6640pub struct wiimote {
6641    _unused: [u8; 0],
6642}
6643pub type cwiid_wiimote_t = wiimote;
6644pub type cwiid_mesg_callback_t = ::std::option::Option<
6645    unsafe extern "C" fn(
6646        arg1: *mut cwiid_wiimote_t,
6647        arg2: ::std::os::raw::c_int,
6648        arg3: *mut cwiid_mesg,
6649        arg4: *mut timespec,
6650    ),
6651>;
6652pub type cwiid_err_t = ::std::option::Option<
6653    unsafe extern "C" fn(
6654        arg1: *mut cwiid_wiimote_t,
6655        arg2: *const ::std::os::raw::c_char,
6656        ap: *mut __va_list_tag,
6657    ),
6658>;
6659#[repr(C)]
6660#[derive(Debug, Copy, Clone)]
6661pub struct cwiid_bdinfo {
6662    pub bdaddr: bdaddr_t,
6663    pub btclass: [u8; 3usize],
6664    pub name: [::std::os::raw::c_char; 32usize],
6665}
6666#[test]
6667fn bindgen_test_layout_cwiid_bdinfo() {
6668    const UNINIT: ::std::mem::MaybeUninit<cwiid_bdinfo> = ::std::mem::MaybeUninit::uninit();
6669    let ptr = UNINIT.as_ptr();
6670    assert_eq!(
6671        ::std::mem::size_of::<cwiid_bdinfo>(),
6672        41usize,
6673        concat!("Size of: ", stringify!(cwiid_bdinfo))
6674    );
6675    assert_eq!(
6676        ::std::mem::align_of::<cwiid_bdinfo>(),
6677        1usize,
6678        concat!("Alignment of ", stringify!(cwiid_bdinfo))
6679    );
6680    assert_eq!(
6681        unsafe { ::std::ptr::addr_of!((*ptr).bdaddr) as usize - ptr as usize },
6682        0usize,
6683        concat!(
6684            "Offset of field: ",
6685            stringify!(cwiid_bdinfo),
6686            "::",
6687            stringify!(bdaddr)
6688        )
6689    );
6690    assert_eq!(
6691        unsafe { ::std::ptr::addr_of!((*ptr).btclass) as usize - ptr as usize },
6692        6usize,
6693        concat!(
6694            "Offset of field: ",
6695            stringify!(cwiid_bdinfo),
6696            "::",
6697            stringify!(btclass)
6698        )
6699    );
6700    assert_eq!(
6701        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
6702        9usize,
6703        concat!(
6704            "Offset of field: ",
6705            stringify!(cwiid_bdinfo),
6706            "::",
6707            stringify!(name)
6708        )
6709    );
6710}
6711extern "C" {
6712    pub fn cwiid_set_err(err: cwiid_err_t) -> ::std::os::raw::c_int;
6713}
6714extern "C" {
6715    pub fn cwiid_err_default(
6716        wiimote: *mut wiimote,
6717        str_: *const ::std::os::raw::c_char,
6718        ap: *mut __va_list_tag,
6719    );
6720}
6721extern "C" {
6722    pub fn cwiid_open(bdaddr: *mut bdaddr_t, flags: ::std::os::raw::c_int) -> *mut cwiid_wiimote_t;
6723}
6724extern "C" {
6725    pub fn cwiid_open_timeout(
6726        bdaddr: *mut bdaddr_t,
6727        flags: ::std::os::raw::c_int,
6728        timeout: ::std::os::raw::c_int,
6729    ) -> *mut cwiid_wiimote_t;
6730}
6731extern "C" {
6732    pub fn cwiid_listen(flags: ::std::os::raw::c_int) -> *mut cwiid_wiimote_t;
6733}
6734extern "C" {
6735    pub fn cwiid_close(wiimote: *mut cwiid_wiimote_t) -> ::std::os::raw::c_int;
6736}
6737extern "C" {
6738    pub fn cwiid_get_id(wiimote: *mut cwiid_wiimote_t) -> ::std::os::raw::c_int;
6739}
6740extern "C" {
6741    pub fn cwiid_set_data(
6742        wiimote: *mut cwiid_wiimote_t,
6743        data: *const ::std::os::raw::c_void,
6744    ) -> ::std::os::raw::c_int;
6745}
6746extern "C" {
6747    pub fn cwiid_get_data(wiimote: *mut cwiid_wiimote_t) -> *const ::std::os::raw::c_void;
6748}
6749extern "C" {
6750    pub fn cwiid_enable(
6751        wiimote: *mut cwiid_wiimote_t,
6752        flags: ::std::os::raw::c_int,
6753    ) -> ::std::os::raw::c_int;
6754}
6755extern "C" {
6756    pub fn cwiid_disable(
6757        wiimote: *mut cwiid_wiimote_t,
6758        flags: ::std::os::raw::c_int,
6759    ) -> ::std::os::raw::c_int;
6760}
6761extern "C" {
6762    pub fn cwiid_set_mesg_callback(
6763        wiimote: *mut cwiid_wiimote_t,
6764        callback: cwiid_mesg_callback_t,
6765    ) -> ::std::os::raw::c_int;
6766}
6767extern "C" {
6768    pub fn cwiid_get_mesg(
6769        wiimote: *mut cwiid_wiimote_t,
6770        mesg_count: *mut ::std::os::raw::c_int,
6771        mesg: *mut *mut cwiid_mesg,
6772        timestamp: *mut timespec,
6773    ) -> ::std::os::raw::c_int;
6774}
6775extern "C" {
6776    pub fn cwiid_get_state(
6777        wiimote: *mut cwiid_wiimote_t,
6778        state: *mut cwiid_state,
6779    ) -> ::std::os::raw::c_int;
6780}
6781extern "C" {
6782    pub fn cwiid_get_acc_cal(
6783        wiimote: *mut wiimote,
6784        ext_type: cwiid_ext_type,
6785        acc_cal: *mut acc_cal,
6786    ) -> ::std::os::raw::c_int;
6787}
6788extern "C" {
6789    pub fn cwiid_get_balance_cal(
6790        wiimote: *mut wiimote,
6791        balance_cal: *mut balance_cal,
6792    ) -> ::std::os::raw::c_int;
6793}
6794extern "C" {
6795    pub fn cwiid_command(
6796        wiimote: *mut cwiid_wiimote_t,
6797        command: cwiid_command,
6798        flags: ::std::os::raw::c_int,
6799    ) -> ::std::os::raw::c_int;
6800}
6801extern "C" {
6802    pub fn cwiid_send_rpt(
6803        wiimote: *mut cwiid_wiimote_t,
6804        flags: u8,
6805        report: u8,
6806        len: usize,
6807        data: *const ::std::os::raw::c_void,
6808    ) -> ::std::os::raw::c_int;
6809}
6810extern "C" {
6811    pub fn cwiid_request_status(wiimote: *mut cwiid_wiimote_t) -> ::std::os::raw::c_int;
6812}
6813extern "C" {
6814    pub fn cwiid_set_led(wiimote: *mut cwiid_wiimote_t, led: u8) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817    pub fn cwiid_set_rumble(wiimote: *mut cwiid_wiimote_t, rumble: u8) -> ::std::os::raw::c_int;
6818}
6819extern "C" {
6820    pub fn cwiid_set_rpt_mode(wiimote: *mut cwiid_wiimote_t, rpt_mode: u8)
6821        -> ::std::os::raw::c_int;
6822}
6823extern "C" {
6824    pub fn cwiid_read(
6825        wiimote: *mut cwiid_wiimote_t,
6826        flags: u8,
6827        offset: u32,
6828        len: u16,
6829        data: *mut ::std::os::raw::c_void,
6830    ) -> ::std::os::raw::c_int;
6831}
6832extern "C" {
6833    pub fn cwiid_write(
6834        wiimote: *mut cwiid_wiimote_t,
6835        flags: u8,
6836        offset: u32,
6837        len: u16,
6838        data: *const ::std::os::raw::c_void,
6839    ) -> ::std::os::raw::c_int;
6840}
6841extern "C" {
6842    pub fn cwiid_get_bdinfo_array(
6843        dev_id: ::std::os::raw::c_int,
6844        timeout: ::std::os::raw::c_uint,
6845        max_bdinfo: ::std::os::raw::c_int,
6846        bdinfo: *mut *mut cwiid_bdinfo,
6847        flags: u8,
6848    ) -> ::std::os::raw::c_int;
6849}
6850extern "C" {
6851    pub fn cwiid_find_wiimote(
6852        bdaddr: *mut bdaddr_t,
6853        timeout: ::std::os::raw::c_int,
6854    ) -> ::std::os::raw::c_int;
6855}
6856pub type __builtin_va_list = [__va_list_tag; 1usize];
6857#[repr(C)]
6858#[derive(Debug, Copy, Clone)]
6859pub struct __va_list_tag {
6860    pub gp_offset: ::std::os::raw::c_uint,
6861    pub fp_offset: ::std::os::raw::c_uint,
6862    pub overflow_arg_area: *mut ::std::os::raw::c_void,
6863    pub reg_save_area: *mut ::std::os::raw::c_void,
6864}
6865#[test]
6866fn bindgen_test_layout___va_list_tag() {
6867    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
6868    let ptr = UNINIT.as_ptr();
6869    assert_eq!(
6870        ::std::mem::size_of::<__va_list_tag>(),
6871        24usize,
6872        concat!("Size of: ", stringify!(__va_list_tag))
6873    );
6874    assert_eq!(
6875        ::std::mem::align_of::<__va_list_tag>(),
6876        8usize,
6877        concat!("Alignment of ", stringify!(__va_list_tag))
6878    );
6879    assert_eq!(
6880        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
6881        0usize,
6882        concat!(
6883            "Offset of field: ",
6884            stringify!(__va_list_tag),
6885            "::",
6886            stringify!(gp_offset)
6887        )
6888    );
6889    assert_eq!(
6890        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
6891        4usize,
6892        concat!(
6893            "Offset of field: ",
6894            stringify!(__va_list_tag),
6895            "::",
6896            stringify!(fp_offset)
6897        )
6898    );
6899    assert_eq!(
6900        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
6901        8usize,
6902        concat!(
6903            "Offset of field: ",
6904            stringify!(__va_list_tag),
6905            "::",
6906            stringify!(overflow_arg_area)
6907        )
6908    );
6909    assert_eq!(
6910        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
6911        16usize,
6912        concat!(
6913            "Offset of field: ",
6914            stringify!(__va_list_tag),
6915            "::",
6916            stringify!(reg_save_area)
6917        )
6918    );
6919}
6920#[repr(C)]
6921#[derive(Debug, Copy, Clone)]
6922pub struct __locale_data {
6923    pub _address: u8,
6924}