1 /* automatically generated by rust-bindgen 0.69.5 */
2
3 #[repr(C)]
4 #[derive(Default)]
5 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
6 impl<T> __IncompleteArrayField<T> {
7 #[inline]
new() -> Self8 pub const fn new() -> Self {
9 __IncompleteArrayField(::std::marker::PhantomData, [])
10 }
11 #[inline]
as_ptr(&self) -> *const T12 pub fn as_ptr(&self) -> *const T {
13 self as *const _ as *const T
14 }
15 #[inline]
as_mut_ptr(&mut self) -> *mut T16 pub fn as_mut_ptr(&mut self) -> *mut T {
17 self as *mut _ as *mut T
18 }
19 #[inline]
as_slice(&self, len: usize) -> &[T]20 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21 ::std::slice::from_raw_parts(self.as_ptr(), len)
22 }
23 #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]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 }
28 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result29 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
30 fmt.write_str("__IncompleteArrayField")
31 }
32 }
33 pub const _STDINT_H: u32 = 1;
34 pub const _FEATURES_H: u32 = 1;
35 pub const _DEFAULT_SOURCE: u32 = 1;
36 pub const __GLIBC_USE_ISOC2X: u32 = 0;
37 pub const __USE_ISOC11: u32 = 1;
38 pub const __USE_ISOC99: u32 = 1;
39 pub const __USE_ISOC95: u32 = 1;
40 pub const __USE_POSIX_IMPLICITLY: u32 = 1;
41 pub const _POSIX_SOURCE: u32 = 1;
42 pub const _POSIX_C_SOURCE: u32 = 200809;
43 pub const __USE_POSIX: u32 = 1;
44 pub const __USE_POSIX2: u32 = 1;
45 pub const __USE_POSIX199309: u32 = 1;
46 pub const __USE_POSIX199506: u32 = 1;
47 pub const __USE_XOPEN2K: u32 = 1;
48 pub const __USE_XOPEN2K8: u32 = 1;
49 pub const _ATFILE_SOURCE: u32 = 1;
50 pub const __WORDSIZE: u32 = 64;
51 pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
52 pub const __SYSCALL_WORDSIZE: u32 = 64;
53 pub const __TIMESIZE: u32 = 64;
54 pub const __USE_MISC: u32 = 1;
55 pub const __USE_ATFILE: u32 = 1;
56 pub const __USE_FORTIFY_LEVEL: u32 = 0;
57 pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
58 pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
59 pub const __GLIBC_USE_C2X_STRTOL: u32 = 0;
60 pub const _STDC_PREDEF_H: u32 = 1;
61 pub const __STDC_IEC_559__: u32 = 1;
62 pub const __STDC_IEC_60559_BFP__: u32 = 201404;
63 pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
64 pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
65 pub const __STDC_ISO_10646__: u32 = 201706;
66 pub const __GNU_LIBRARY__: u32 = 6;
67 pub const __GLIBC__: u32 = 2;
68 pub const __GLIBC_MINOR__: u32 = 38;
69 pub const _SYS_CDEFS_H: u32 = 1;
70 pub const __glibc_c99_flexarr_available: u32 = 1;
71 pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
72 pub const __HAVE_GENERIC_SELECTION: u32 = 1;
73 pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
74 pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
75 pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
76 pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
77 pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
78 pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
79 pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
80 pub const _BITS_TYPES_H: u32 = 1;
81 pub const _BITS_TYPESIZES_H: u32 = 1;
82 pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
83 pub const __INO_T_MATCHES_INO64_T: u32 = 1;
84 pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
85 pub const __STATFS_MATCHES_STATFS64: u32 = 1;
86 pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
87 pub const __FD_SETSIZE: u32 = 1024;
88 pub const _BITS_TIME64_H: u32 = 1;
89 pub const _BITS_WCHAR_H: u32 = 1;
90 pub const _BITS_STDINT_INTN_H: u32 = 1;
91 pub const _BITS_STDINT_UINTN_H: u32 = 1;
92 pub const INT8_MIN: i32 = -128;
93 pub const INT16_MIN: i32 = -32768;
94 pub const INT32_MIN: i32 = -2147483648;
95 pub const INT8_MAX: u32 = 127;
96 pub const INT16_MAX: u32 = 32767;
97 pub const INT32_MAX: u32 = 2147483647;
98 pub const UINT8_MAX: u32 = 255;
99 pub const UINT16_MAX: u32 = 65535;
100 pub const UINT32_MAX: u32 = 4294967295;
101 pub const INT_LEAST8_MIN: i32 = -128;
102 pub const INT_LEAST16_MIN: i32 = -32768;
103 pub const INT_LEAST32_MIN: i32 = -2147483648;
104 pub const INT_LEAST8_MAX: u32 = 127;
105 pub const INT_LEAST16_MAX: u32 = 32767;
106 pub const INT_LEAST32_MAX: u32 = 2147483647;
107 pub const UINT_LEAST8_MAX: u32 = 255;
108 pub const UINT_LEAST16_MAX: u32 = 65535;
109 pub const UINT_LEAST32_MAX: u32 = 4294967295;
110 pub const INT_FAST8_MIN: i32 = -128;
111 pub const INT_FAST16_MIN: i64 = -9223372036854775808;
112 pub const INT_FAST32_MIN: i64 = -9223372036854775808;
113 pub const INT_FAST8_MAX: u32 = 127;
114 pub const INT_FAST16_MAX: u64 = 9223372036854775807;
115 pub const INT_FAST32_MAX: u64 = 9223372036854775807;
116 pub const UINT_FAST8_MAX: u32 = 255;
117 pub const UINT_FAST16_MAX: i32 = -1;
118 pub const UINT_FAST32_MAX: i32 = -1;
119 pub const INTPTR_MIN: i64 = -9223372036854775808;
120 pub const INTPTR_MAX: u64 = 9223372036854775807;
121 pub const UINTPTR_MAX: i32 = -1;
122 pub const PTRDIFF_MIN: i64 = -9223372036854775808;
123 pub const PTRDIFF_MAX: u64 = 9223372036854775807;
124 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
125 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
126 pub const SIZE_MAX: i32 = -1;
127 pub const WINT_MIN: u32 = 0;
128 pub const WINT_MAX: u32 = 4294967295;
129 pub const __bool_true_false_are_defined: u32 = 1;
130 pub const true_: u32 = 1;
131 pub const false_: u32 = 0;
132 pub const _SYS_TYPES_H: u32 = 1;
133 pub const __clock_t_defined: u32 = 1;
134 pub const __clockid_t_defined: u32 = 1;
135 pub const __time_t_defined: u32 = 1;
136 pub const __timer_t_defined: u32 = 1;
137 pub const __BIT_TYPES_DEFINED__: u32 = 1;
138 pub const _ENDIAN_H: u32 = 1;
139 pub const _BITS_ENDIAN_H: u32 = 1;
140 pub const __LITTLE_ENDIAN: u32 = 1234;
141 pub const __BIG_ENDIAN: u32 = 4321;
142 pub const __PDP_ENDIAN: u32 = 3412;
143 pub const _BITS_ENDIANNESS_H: u32 = 1;
144 pub const __BYTE_ORDER: u32 = 1234;
145 pub const __FLOAT_WORD_ORDER: u32 = 1234;
146 pub const LITTLE_ENDIAN: u32 = 1234;
147 pub const BIG_ENDIAN: u32 = 4321;
148 pub const PDP_ENDIAN: u32 = 3412;
149 pub const BYTE_ORDER: u32 = 1234;
150 pub const _BITS_BYTESWAP_H: u32 = 1;
151 pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
152 pub const _SYS_SELECT_H: u32 = 1;
153 pub const __sigset_t_defined: u32 = 1;
154 pub const __timeval_defined: u32 = 1;
155 pub const _STRUCT_TIMESPEC: u32 = 1;
156 pub const FD_SETSIZE: u32 = 1024;
157 pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
158 pub const _THREAD_SHARED_TYPES_H: u32 = 1;
159 pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
160 pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
161 pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
162 pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
163 pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
164 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
165 pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
166 pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
167 pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
168 pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
169 pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
170 pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
171 pub const __have_pthread_attr_t: u32 = 1;
172 pub const _NETINET_IN_H: u32 = 1;
173 pub const _SYS_SOCKET_H: u32 = 1;
174 pub const __iovec_defined: u32 = 1;
175 pub const PF_UNSPEC: u32 = 0;
176 pub const PF_LOCAL: u32 = 1;
177 pub const PF_UNIX: u32 = 1;
178 pub const PF_FILE: u32 = 1;
179 pub const PF_INET: u32 = 2;
180 pub const PF_AX25: u32 = 3;
181 pub const PF_IPX: u32 = 4;
182 pub const PF_APPLETALK: u32 = 5;
183 pub const PF_NETROM: u32 = 6;
184 pub const PF_BRIDGE: u32 = 7;
185 pub const PF_ATMPVC: u32 = 8;
186 pub const PF_X25: u32 = 9;
187 pub const PF_INET6: u32 = 10;
188 pub const PF_ROSE: u32 = 11;
189 pub const PF_DECnet: u32 = 12;
190 pub const PF_NETBEUI: u32 = 13;
191 pub const PF_SECURITY: u32 = 14;
192 pub const PF_KEY: u32 = 15;
193 pub const PF_NETLINK: u32 = 16;
194 pub const PF_ROUTE: u32 = 16;
195 pub const PF_PACKET: u32 = 17;
196 pub const PF_ASH: u32 = 18;
197 pub const PF_ECONET: u32 = 19;
198 pub const PF_ATMSVC: u32 = 20;
199 pub const PF_RDS: u32 = 21;
200 pub const PF_SNA: u32 = 22;
201 pub const PF_IRDA: u32 = 23;
202 pub const PF_PPPOX: u32 = 24;
203 pub const PF_WANPIPE: u32 = 25;
204 pub const PF_LLC: u32 = 26;
205 pub const PF_IB: u32 = 27;
206 pub const PF_MPLS: u32 = 28;
207 pub const PF_CAN: u32 = 29;
208 pub const PF_TIPC: u32 = 30;
209 pub const PF_BLUETOOTH: u32 = 31;
210 pub const PF_IUCV: u32 = 32;
211 pub const PF_RXRPC: u32 = 33;
212 pub const PF_ISDN: u32 = 34;
213 pub const PF_PHONET: u32 = 35;
214 pub const PF_IEEE802154: u32 = 36;
215 pub const PF_CAIF: u32 = 37;
216 pub const PF_ALG: u32 = 38;
217 pub const PF_NFC: u32 = 39;
218 pub const PF_VSOCK: u32 = 40;
219 pub const PF_KCM: u32 = 41;
220 pub const PF_QIPCRTR: u32 = 42;
221 pub const PF_SMC: u32 = 43;
222 pub const PF_XDP: u32 = 44;
223 pub const PF_MCTP: u32 = 45;
224 pub const PF_MAX: u32 = 46;
225 pub const AF_UNSPEC: u32 = 0;
226 pub const AF_LOCAL: u32 = 1;
227 pub const AF_UNIX: u32 = 1;
228 pub const AF_FILE: u32 = 1;
229 pub const AF_INET: u32 = 2;
230 pub const AF_AX25: u32 = 3;
231 pub const AF_IPX: u32 = 4;
232 pub const AF_APPLETALK: u32 = 5;
233 pub const AF_NETROM: u32 = 6;
234 pub const AF_BRIDGE: u32 = 7;
235 pub const AF_ATMPVC: u32 = 8;
236 pub const AF_X25: u32 = 9;
237 pub const AF_INET6: u32 = 10;
238 pub const AF_ROSE: u32 = 11;
239 pub const AF_DECnet: u32 = 12;
240 pub const AF_NETBEUI: u32 = 13;
241 pub const AF_SECURITY: u32 = 14;
242 pub const AF_KEY: u32 = 15;
243 pub const AF_NETLINK: u32 = 16;
244 pub const AF_ROUTE: u32 = 16;
245 pub const AF_PACKET: u32 = 17;
246 pub const AF_ASH: u32 = 18;
247 pub const AF_ECONET: u32 = 19;
248 pub const AF_ATMSVC: u32 = 20;
249 pub const AF_RDS: u32 = 21;
250 pub const AF_SNA: u32 = 22;
251 pub const AF_IRDA: u32 = 23;
252 pub const AF_PPPOX: u32 = 24;
253 pub const AF_WANPIPE: u32 = 25;
254 pub const AF_LLC: u32 = 26;
255 pub const AF_IB: u32 = 27;
256 pub const AF_MPLS: u32 = 28;
257 pub const AF_CAN: u32 = 29;
258 pub const AF_TIPC: u32 = 30;
259 pub const AF_BLUETOOTH: u32 = 31;
260 pub const AF_IUCV: u32 = 32;
261 pub const AF_RXRPC: u32 = 33;
262 pub const AF_ISDN: u32 = 34;
263 pub const AF_PHONET: u32 = 35;
264 pub const AF_IEEE802154: u32 = 36;
265 pub const AF_CAIF: u32 = 37;
266 pub const AF_ALG: u32 = 38;
267 pub const AF_NFC: u32 = 39;
268 pub const AF_VSOCK: u32 = 40;
269 pub const AF_KCM: u32 = 41;
270 pub const AF_QIPCRTR: u32 = 42;
271 pub const AF_SMC: u32 = 43;
272 pub const AF_XDP: u32 = 44;
273 pub const AF_MCTP: u32 = 45;
274 pub const AF_MAX: u32 = 46;
275 pub const SOL_RAW: u32 = 255;
276 pub const SOL_DECNET: u32 = 261;
277 pub const SOL_X25: u32 = 262;
278 pub const SOL_PACKET: u32 = 263;
279 pub const SOL_ATM: u32 = 264;
280 pub const SOL_AAL: u32 = 265;
281 pub const SOL_IRDA: u32 = 266;
282 pub const SOL_NETBEUI: u32 = 267;
283 pub const SOL_LLC: u32 = 268;
284 pub const SOL_DCCP: u32 = 269;
285 pub const SOL_NETLINK: u32 = 270;
286 pub const SOL_TIPC: u32 = 271;
287 pub const SOL_RXRPC: u32 = 272;
288 pub const SOL_PPPOL2TP: u32 = 273;
289 pub const SOL_BLUETOOTH: u32 = 274;
290 pub const SOL_PNPIPE: u32 = 275;
291 pub const SOL_RDS: u32 = 276;
292 pub const SOL_IUCV: u32 = 277;
293 pub const SOL_CAIF: u32 = 278;
294 pub const SOL_ALG: u32 = 279;
295 pub const SOL_NFC: u32 = 280;
296 pub const SOL_KCM: u32 = 281;
297 pub const SOL_TLS: u32 = 282;
298 pub const SOL_XDP: u32 = 283;
299 pub const SOL_MPTCP: u32 = 284;
300 pub const SOL_MCTP: u32 = 285;
301 pub const SOL_SMC: u32 = 286;
302 pub const SOMAXCONN: u32 = 4096;
303 pub const _BITS_SOCKADDR_H: u32 = 1;
304 pub const _SS_SIZE: u32 = 128;
305 pub const __BITS_PER_LONG: u32 = 64;
306 pub const __BITS_PER_LONG_LONG: u32 = 64;
307 pub const FIOSETOWN: u32 = 35073;
308 pub const SIOCSPGRP: u32 = 35074;
309 pub const FIOGETOWN: u32 = 35075;
310 pub const SIOCGPGRP: u32 = 35076;
311 pub const SIOCATMARK: u32 = 35077;
312 pub const SIOCGSTAMP_OLD: u32 = 35078;
313 pub const SIOCGSTAMPNS_OLD: u32 = 35079;
314 pub const SOL_SOCKET: u32 = 1;
315 pub const SO_DEBUG: u32 = 1;
316 pub const SO_REUSEADDR: u32 = 2;
317 pub const SO_TYPE: u32 = 3;
318 pub const SO_ERROR: u32 = 4;
319 pub const SO_DONTROUTE: u32 = 5;
320 pub const SO_BROADCAST: u32 = 6;
321 pub const SO_SNDBUF: u32 = 7;
322 pub const SO_RCVBUF: u32 = 8;
323 pub const SO_SNDBUFFORCE: u32 = 32;
324 pub const SO_RCVBUFFORCE: u32 = 33;
325 pub const SO_KEEPALIVE: u32 = 9;
326 pub const SO_OOBINLINE: u32 = 10;
327 pub const SO_NO_CHECK: u32 = 11;
328 pub const SO_PRIORITY: u32 = 12;
329 pub const SO_LINGER: u32 = 13;
330 pub const SO_BSDCOMPAT: u32 = 14;
331 pub const SO_REUSEPORT: u32 = 15;
332 pub const SO_PASSCRED: u32 = 16;
333 pub const SO_PEERCRED: u32 = 17;
334 pub const SO_RCVLOWAT: u32 = 18;
335 pub const SO_SNDLOWAT: u32 = 19;
336 pub const SO_RCVTIMEO_OLD: u32 = 20;
337 pub const SO_SNDTIMEO_OLD: u32 = 21;
338 pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
339 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
340 pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
341 pub const SO_BINDTODEVICE: u32 = 25;
342 pub const SO_ATTACH_FILTER: u32 = 26;
343 pub const SO_DETACH_FILTER: u32 = 27;
344 pub const SO_GET_FILTER: u32 = 26;
345 pub const SO_PEERNAME: u32 = 28;
346 pub const SO_ACCEPTCONN: u32 = 30;
347 pub const SO_PEERSEC: u32 = 31;
348 pub const SO_PASSSEC: u32 = 34;
349 pub const SO_MARK: u32 = 36;
350 pub const SO_PROTOCOL: u32 = 38;
351 pub const SO_DOMAIN: u32 = 39;
352 pub const SO_RXQ_OVFL: u32 = 40;
353 pub const SO_WIFI_STATUS: u32 = 41;
354 pub const SCM_WIFI_STATUS: u32 = 41;
355 pub const SO_PEEK_OFF: u32 = 42;
356 pub const SO_NOFCS: u32 = 43;
357 pub const SO_LOCK_FILTER: u32 = 44;
358 pub const SO_SELECT_ERR_QUEUE: u32 = 45;
359 pub const SO_BUSY_POLL: u32 = 46;
360 pub const SO_MAX_PACING_RATE: u32 = 47;
361 pub const SO_BPF_EXTENSIONS: u32 = 48;
362 pub const SO_INCOMING_CPU: u32 = 49;
363 pub const SO_ATTACH_BPF: u32 = 50;
364 pub const SO_DETACH_BPF: u32 = 27;
365 pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
366 pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
367 pub const SO_CNX_ADVICE: u32 = 53;
368 pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
369 pub const SO_MEMINFO: u32 = 55;
370 pub const SO_INCOMING_NAPI_ID: u32 = 56;
371 pub const SO_COOKIE: u32 = 57;
372 pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
373 pub const SO_PEERGROUPS: u32 = 59;
374 pub const SO_ZEROCOPY: u32 = 60;
375 pub const SO_TXTIME: u32 = 61;
376 pub const SCM_TXTIME: u32 = 61;
377 pub const SO_BINDTOIFINDEX: u32 = 62;
378 pub const SO_TIMESTAMP_OLD: u32 = 29;
379 pub const SO_TIMESTAMPNS_OLD: u32 = 35;
380 pub const SO_TIMESTAMPING_OLD: u32 = 37;
381 pub const SO_TIMESTAMP_NEW: u32 = 63;
382 pub const SO_TIMESTAMPNS_NEW: u32 = 64;
383 pub const SO_TIMESTAMPING_NEW: u32 = 65;
384 pub const SO_RCVTIMEO_NEW: u32 = 66;
385 pub const SO_SNDTIMEO_NEW: u32 = 67;
386 pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
387 pub const SO_PREFER_BUSY_POLL: u32 = 69;
388 pub const SO_BUSY_POLL_BUDGET: u32 = 70;
389 pub const SO_NETNS_COOKIE: u32 = 71;
390 pub const SO_BUF_LOCK: u32 = 72;
391 pub const SO_RESERVE_MEM: u32 = 73;
392 pub const SO_TXREHASH: u32 = 74;
393 pub const SO_RCVMARK: u32 = 75;
394 pub const SO_PASSPIDFD: u32 = 76;
395 pub const SO_PEERPIDFD: u32 = 77;
396 pub const SO_TIMESTAMP: u32 = 29;
397 pub const SO_TIMESTAMPNS: u32 = 35;
398 pub const SO_TIMESTAMPING: u32 = 37;
399 pub const SO_RCVTIMEO: u32 = 20;
400 pub const SO_SNDTIMEO: u32 = 21;
401 pub const SCM_TIMESTAMP: u32 = 29;
402 pub const SCM_TIMESTAMPNS: u32 = 35;
403 pub const SCM_TIMESTAMPING: u32 = 37;
404 pub const __osockaddr_defined: u32 = 1;
405 pub const __USE_KERNEL_IPV6_DEFS: u32 = 0;
406 pub const IP_OPTIONS: u32 = 4;
407 pub const IP_HDRINCL: u32 = 3;
408 pub const IP_TOS: u32 = 1;
409 pub const IP_TTL: u32 = 2;
410 pub const IP_RECVOPTS: u32 = 6;
411 pub const IP_RETOPTS: u32 = 7;
412 pub const IP_MULTICAST_IF: u32 = 32;
413 pub const IP_MULTICAST_TTL: u32 = 33;
414 pub const IP_MULTICAST_LOOP: u32 = 34;
415 pub const IP_ADD_MEMBERSHIP: u32 = 35;
416 pub const IP_DROP_MEMBERSHIP: u32 = 36;
417 pub const IP_UNBLOCK_SOURCE: u32 = 37;
418 pub const IP_BLOCK_SOURCE: u32 = 38;
419 pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 39;
420 pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 40;
421 pub const IP_MSFILTER: u32 = 41;
422 pub const MCAST_JOIN_GROUP: u32 = 42;
423 pub const MCAST_BLOCK_SOURCE: u32 = 43;
424 pub const MCAST_UNBLOCK_SOURCE: u32 = 44;
425 pub const MCAST_LEAVE_GROUP: u32 = 45;
426 pub const MCAST_JOIN_SOURCE_GROUP: u32 = 46;
427 pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 47;
428 pub const MCAST_MSFILTER: u32 = 48;
429 pub const IP_MULTICAST_ALL: u32 = 49;
430 pub const IP_UNICAST_IF: u32 = 50;
431 pub const MCAST_EXCLUDE: u32 = 0;
432 pub const MCAST_INCLUDE: u32 = 1;
433 pub const IP_ROUTER_ALERT: u32 = 5;
434 pub const IP_PKTINFO: u32 = 8;
435 pub const IP_PKTOPTIONS: u32 = 9;
436 pub const IP_PMTUDISC: u32 = 10;
437 pub const IP_MTU_DISCOVER: u32 = 10;
438 pub const IP_RECVERR: u32 = 11;
439 pub const IP_RECVTTL: u32 = 12;
440 pub const IP_RECVTOS: u32 = 13;
441 pub const IP_MTU: u32 = 14;
442 pub const IP_FREEBIND: u32 = 15;
443 pub const IP_IPSEC_POLICY: u32 = 16;
444 pub const IP_XFRM_POLICY: u32 = 17;
445 pub const IP_PASSSEC: u32 = 18;
446 pub const IP_TRANSPARENT: u32 = 19;
447 pub const IP_ORIGDSTADDR: u32 = 20;
448 pub const IP_RECVORIGDSTADDR: u32 = 20;
449 pub const IP_MINTTL: u32 = 21;
450 pub const IP_NODEFRAG: u32 = 22;
451 pub const IP_CHECKSUM: u32 = 23;
452 pub const IP_BIND_ADDRESS_NO_PORT: u32 = 24;
453 pub const IP_RECVFRAGSIZE: u32 = 25;
454 pub const IP_RECVERR_RFC4884: u32 = 26;
455 pub const IP_PMTUDISC_DONT: u32 = 0;
456 pub const IP_PMTUDISC_WANT: u32 = 1;
457 pub const IP_PMTUDISC_DO: u32 = 2;
458 pub const IP_PMTUDISC_PROBE: u32 = 3;
459 pub const IP_PMTUDISC_INTERFACE: u32 = 4;
460 pub const IP_PMTUDISC_OMIT: u32 = 5;
461 pub const IP_LOCAL_PORT_RANGE: u32 = 51;
462 pub const SOL_IP: u32 = 0;
463 pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1;
464 pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1;
465 pub const IP_MAX_MEMBERSHIPS: u32 = 20;
466 pub const IPV6_ADDRFORM: u32 = 1;
467 pub const IPV6_2292PKTINFO: u32 = 2;
468 pub const IPV6_2292HOPOPTS: u32 = 3;
469 pub const IPV6_2292DSTOPTS: u32 = 4;
470 pub const IPV6_2292RTHDR: u32 = 5;
471 pub const IPV6_2292PKTOPTIONS: u32 = 6;
472 pub const IPV6_CHECKSUM: u32 = 7;
473 pub const IPV6_2292HOPLIMIT: u32 = 8;
474 pub const IPV6_NEXTHOP: u32 = 9;
475 pub const IPV6_AUTHHDR: u32 = 10;
476 pub const IPV6_UNICAST_HOPS: u32 = 16;
477 pub const IPV6_MULTICAST_IF: u32 = 17;
478 pub const IPV6_MULTICAST_HOPS: u32 = 18;
479 pub const IPV6_MULTICAST_LOOP: u32 = 19;
480 pub const IPV6_JOIN_GROUP: u32 = 20;
481 pub const IPV6_LEAVE_GROUP: u32 = 21;
482 pub const IPV6_ROUTER_ALERT: u32 = 22;
483 pub const IPV6_MTU_DISCOVER: u32 = 23;
484 pub const IPV6_MTU: u32 = 24;
485 pub const IPV6_RECVERR: u32 = 25;
486 pub const IPV6_V6ONLY: u32 = 26;
487 pub const IPV6_JOIN_ANYCAST: u32 = 27;
488 pub const IPV6_LEAVE_ANYCAST: u32 = 28;
489 pub const IPV6_MULTICAST_ALL: u32 = 29;
490 pub const IPV6_ROUTER_ALERT_ISOLATE: u32 = 30;
491 pub const IPV6_RECVERR_RFC4884: u32 = 31;
492 pub const IPV6_IPSEC_POLICY: u32 = 34;
493 pub const IPV6_XFRM_POLICY: u32 = 35;
494 pub const IPV6_HDRINCL: u32 = 36;
495 pub const IPV6_RECVPKTINFO: u32 = 49;
496 pub const IPV6_PKTINFO: u32 = 50;
497 pub const IPV6_RECVHOPLIMIT: u32 = 51;
498 pub const IPV6_HOPLIMIT: u32 = 52;
499 pub const IPV6_RECVHOPOPTS: u32 = 53;
500 pub const IPV6_HOPOPTS: u32 = 54;
501 pub const IPV6_RTHDRDSTOPTS: u32 = 55;
502 pub const IPV6_RECVRTHDR: u32 = 56;
503 pub const IPV6_RTHDR: u32 = 57;
504 pub const IPV6_RECVDSTOPTS: u32 = 58;
505 pub const IPV6_DSTOPTS: u32 = 59;
506 pub const IPV6_RECVPATHMTU: u32 = 60;
507 pub const IPV6_PATHMTU: u32 = 61;
508 pub const IPV6_DONTFRAG: u32 = 62;
509 pub const IPV6_RECVTCLASS: u32 = 66;
510 pub const IPV6_TCLASS: u32 = 67;
511 pub const IPV6_AUTOFLOWLABEL: u32 = 70;
512 pub const IPV6_ADDR_PREFERENCES: u32 = 72;
513 pub const IPV6_MINHOPCOUNT: u32 = 73;
514 pub const IPV6_ORIGDSTADDR: u32 = 74;
515 pub const IPV6_RECVORIGDSTADDR: u32 = 74;
516 pub const IPV6_TRANSPARENT: u32 = 75;
517 pub const IPV6_UNICAST_IF: u32 = 76;
518 pub const IPV6_RECVFRAGSIZE: u32 = 77;
519 pub const IPV6_FREEBIND: u32 = 78;
520 pub const IPV6_ADD_MEMBERSHIP: u32 = 20;
521 pub const IPV6_DROP_MEMBERSHIP: u32 = 21;
522 pub const IPV6_RXHOPOPTS: u32 = 54;
523 pub const IPV6_RXDSTOPTS: u32 = 59;
524 pub const IPV6_PMTUDISC_DONT: u32 = 0;
525 pub const IPV6_PMTUDISC_WANT: u32 = 1;
526 pub const IPV6_PMTUDISC_DO: u32 = 2;
527 pub const IPV6_PMTUDISC_PROBE: u32 = 3;
528 pub const IPV6_PMTUDISC_INTERFACE: u32 = 4;
529 pub const IPV6_PMTUDISC_OMIT: u32 = 5;
530 pub const SOL_IPV6: u32 = 41;
531 pub const SOL_ICMPV6: u32 = 58;
532 pub const IPV6_RTHDR_LOOSE: u32 = 0;
533 pub const IPV6_RTHDR_STRICT: u32 = 1;
534 pub const IPV6_RTHDR_TYPE_0: u32 = 0;
535 pub const IN_CLASSA_NET: u32 = 4278190080;
536 pub const IN_CLASSA_NSHIFT: u32 = 24;
537 pub const IN_CLASSA_HOST: u32 = 16777215;
538 pub const IN_CLASSA_MAX: u32 = 128;
539 pub const IN_CLASSB_NET: u32 = 4294901760;
540 pub const IN_CLASSB_NSHIFT: u32 = 16;
541 pub const IN_CLASSB_HOST: u32 = 65535;
542 pub const IN_CLASSB_MAX: u32 = 65536;
543 pub const IN_CLASSC_NET: u32 = 4294967040;
544 pub const IN_CLASSC_NSHIFT: u32 = 8;
545 pub const IN_CLASSC_HOST: u32 = 255;
546 pub const IN_LOOPBACKNET: u32 = 127;
547 pub const INET_ADDRSTRLEN: u32 = 16;
548 pub const INET6_ADDRSTRLEN: u32 = 46;
549 pub const _ARPA_INET_H: u32 = 1;
550 pub const SLIRP_VERSION_STRING: &[u8; 6] = b"4.7.0\0";
551 pub const SLIRP_CONFIG_VERSION_MIN: u32 = 1;
552 pub const SLIRP_CONFIG_VERSION_MAX: u32 = 5;
553 pub const SLIRP_MAX_DNS_SERVERS: u32 = 4;
554 pub const SLIRP_HOSTFWD_UDP: u32 = 1;
555 pub const SLIRP_HOSTFWD_V6ONLY: u32 = 2;
556 pub type __u_char = ::std::os::raw::c_uchar;
557 pub type __u_short = ::std::os::raw::c_ushort;
558 pub type __u_int = ::std::os::raw::c_uint;
559 pub type __u_long = ::std::os::raw::c_ulong;
560 pub type __int8_t = ::std::os::raw::c_schar;
561 pub type __uint8_t = ::std::os::raw::c_uchar;
562 pub type __int16_t = ::std::os::raw::c_short;
563 pub type __uint16_t = ::std::os::raw::c_ushort;
564 pub type __int32_t = ::std::os::raw::c_int;
565 pub type __uint32_t = ::std::os::raw::c_uint;
566 pub type __int64_t = ::std::os::raw::c_long;
567 pub type __uint64_t = ::std::os::raw::c_ulong;
568 pub type __int_least8_t = __int8_t;
569 pub type __uint_least8_t = __uint8_t;
570 pub type __int_least16_t = __int16_t;
571 pub type __uint_least16_t = __uint16_t;
572 pub type __int_least32_t = __int32_t;
573 pub type __uint_least32_t = __uint32_t;
574 pub type __int_least64_t = __int64_t;
575 pub type __uint_least64_t = __uint64_t;
576 pub type __quad_t = ::std::os::raw::c_long;
577 pub type __u_quad_t = ::std::os::raw::c_ulong;
578 pub type __intmax_t = ::std::os::raw::c_long;
579 pub type __uintmax_t = ::std::os::raw::c_ulong;
580 pub type __dev_t = ::std::os::raw::c_ulong;
581 pub type __uid_t = ::std::os::raw::c_uint;
582 pub type __gid_t = ::std::os::raw::c_uint;
583 pub type __ino_t = ::std::os::raw::c_ulong;
584 pub type __ino64_t = ::std::os::raw::c_ulong;
585 pub type __mode_t = ::std::os::raw::c_uint;
586 pub type __nlink_t = ::std::os::raw::c_ulong;
587 pub type __off_t = ::std::os::raw::c_long;
588 pub type __off64_t = ::std::os::raw::c_long;
589 pub type __pid_t = ::std::os::raw::c_int;
590 #[repr(C)]
591 #[derive(Debug, Copy, Clone)]
592 pub struct __fsid_t {
593 pub __val: [::std::os::raw::c_int; 2usize],
594 }
595 #[test]
bindgen_test_layout___fsid_t()596 fn bindgen_test_layout___fsid_t() {
597 const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
598 let ptr = UNINIT.as_ptr();
599 assert_eq!(
600 ::std::mem::size_of::<__fsid_t>(),
601 8usize,
602 concat!("Size of: ", stringify!(__fsid_t))
603 );
604 assert_eq!(
605 ::std::mem::align_of::<__fsid_t>(),
606 4usize,
607 concat!("Alignment of ", stringify!(__fsid_t))
608 );
609 assert_eq!(
610 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
611 0usize,
612 concat!("Offset of field: ", stringify!(__fsid_t), "::", stringify!(__val))
613 );
614 }
615 pub type __clock_t = ::std::os::raw::c_long;
616 pub type __rlim_t = ::std::os::raw::c_ulong;
617 pub type __rlim64_t = ::std::os::raw::c_ulong;
618 pub type __id_t = ::std::os::raw::c_uint;
619 pub type __time_t = ::std::os::raw::c_long;
620 pub type __useconds_t = ::std::os::raw::c_uint;
621 pub type __suseconds_t = ::std::os::raw::c_long;
622 pub type __suseconds64_t = ::std::os::raw::c_long;
623 pub type __daddr_t = ::std::os::raw::c_int;
624 pub type __key_t = ::std::os::raw::c_int;
625 pub type __clockid_t = ::std::os::raw::c_int;
626 pub type __timer_t = *mut ::std::os::raw::c_void;
627 pub type __blksize_t = ::std::os::raw::c_long;
628 pub type __blkcnt_t = ::std::os::raw::c_long;
629 pub type __blkcnt64_t = ::std::os::raw::c_long;
630 pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
631 pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
632 pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
633 pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
634 pub type __fsword_t = ::std::os::raw::c_long;
635 pub type __ssize_t = ::std::os::raw::c_long;
636 pub type __syscall_slong_t = ::std::os::raw::c_long;
637 pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
638 pub type __loff_t = __off64_t;
639 pub type __caddr_t = *mut ::std::os::raw::c_char;
640 pub type __intptr_t = ::std::os::raw::c_long;
641 pub type __socklen_t = ::std::os::raw::c_uint;
642 pub type __sig_atomic_t = ::std::os::raw::c_int;
643 pub type int_least8_t = __int_least8_t;
644 pub type int_least16_t = __int_least16_t;
645 pub type int_least32_t = __int_least32_t;
646 pub type int_least64_t = __int_least64_t;
647 pub type uint_least8_t = __uint_least8_t;
648 pub type uint_least16_t = __uint_least16_t;
649 pub type uint_least32_t = __uint_least32_t;
650 pub type uint_least64_t = __uint_least64_t;
651 pub type int_fast8_t = ::std::os::raw::c_schar;
652 pub type int_fast16_t = ::std::os::raw::c_long;
653 pub type int_fast32_t = ::std::os::raw::c_long;
654 pub type int_fast64_t = ::std::os::raw::c_long;
655 pub type uint_fast8_t = ::std::os::raw::c_uchar;
656 pub type uint_fast16_t = ::std::os::raw::c_ulong;
657 pub type uint_fast32_t = ::std::os::raw::c_ulong;
658 pub type uint_fast64_t = ::std::os::raw::c_ulong;
659 pub type intmax_t = __intmax_t;
660 pub type uintmax_t = __uintmax_t;
661 pub type u_char = __u_char;
662 pub type u_short = __u_short;
663 pub type u_int = __u_int;
664 pub type u_long = __u_long;
665 pub type quad_t = __quad_t;
666 pub type u_quad_t = __u_quad_t;
667 pub type fsid_t = __fsid_t;
668 pub type loff_t = __loff_t;
669 pub type ino_t = __ino_t;
670 pub type dev_t = __dev_t;
671 pub type gid_t = __gid_t;
672 pub type mode_t = __mode_t;
673 pub type nlink_t = __nlink_t;
674 pub type uid_t = __uid_t;
675 pub type off_t = __off_t;
676 pub type pid_t = __pid_t;
677 pub type id_t = __id_t;
678 pub type daddr_t = __daddr_t;
679 pub type caddr_t = __caddr_t;
680 pub type key_t = __key_t;
681 pub type clock_t = __clock_t;
682 pub type clockid_t = __clockid_t;
683 pub type time_t = __time_t;
684 pub type timer_t = __timer_t;
685 pub type ulong = ::std::os::raw::c_ulong;
686 pub type ushort = ::std::os::raw::c_ushort;
687 pub type uint = ::std::os::raw::c_uint;
688 pub type u_int8_t = __uint8_t;
689 pub type u_int16_t = __uint16_t;
690 pub type u_int32_t = __uint32_t;
691 pub type u_int64_t = __uint64_t;
692 pub type register_t = ::std::os::raw::c_long;
693 #[repr(C)]
694 #[derive(Debug, Copy, Clone)]
695 pub struct __sigset_t {
696 pub __val: [::std::os::raw::c_ulong; 16usize],
697 }
698 #[test]
bindgen_test_layout___sigset_t()699 fn bindgen_test_layout___sigset_t() {
700 const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
701 let ptr = UNINIT.as_ptr();
702 assert_eq!(
703 ::std::mem::size_of::<__sigset_t>(),
704 128usize,
705 concat!("Size of: ", stringify!(__sigset_t))
706 );
707 assert_eq!(
708 ::std::mem::align_of::<__sigset_t>(),
709 8usize,
710 concat!("Alignment of ", stringify!(__sigset_t))
711 );
712 assert_eq!(
713 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
714 0usize,
715 concat!("Offset of field: ", stringify!(__sigset_t), "::", stringify!(__val))
716 );
717 }
718 pub type sigset_t = __sigset_t;
719 #[repr(C)]
720 #[derive(Debug, Copy, Clone)]
721 pub struct timeval {
722 pub tv_sec: __time_t,
723 pub tv_usec: __suseconds_t,
724 }
725 #[test]
bindgen_test_layout_timeval()726 fn bindgen_test_layout_timeval() {
727 const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
728 let ptr = UNINIT.as_ptr();
729 assert_eq!(
730 ::std::mem::size_of::<timeval>(),
731 16usize,
732 concat!("Size of: ", stringify!(timeval))
733 );
734 assert_eq!(
735 ::std::mem::align_of::<timeval>(),
736 8usize,
737 concat!("Alignment of ", stringify!(timeval))
738 );
739 assert_eq!(
740 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
741 0usize,
742 concat!("Offset of field: ", stringify!(timeval), "::", stringify!(tv_sec))
743 );
744 assert_eq!(
745 unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
746 8usize,
747 concat!("Offset of field: ", stringify!(timeval), "::", stringify!(tv_usec))
748 );
749 }
750 #[repr(C)]
751 #[derive(Debug, Copy, Clone)]
752 pub struct timespec {
753 pub tv_sec: __time_t,
754 pub tv_nsec: __syscall_slong_t,
755 }
756 #[test]
bindgen_test_layout_timespec()757 fn bindgen_test_layout_timespec() {
758 const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
759 let ptr = UNINIT.as_ptr();
760 assert_eq!(
761 ::std::mem::size_of::<timespec>(),
762 16usize,
763 concat!("Size of: ", stringify!(timespec))
764 );
765 assert_eq!(
766 ::std::mem::align_of::<timespec>(),
767 8usize,
768 concat!("Alignment of ", stringify!(timespec))
769 );
770 assert_eq!(
771 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
772 0usize,
773 concat!("Offset of field: ", stringify!(timespec), "::", stringify!(tv_sec))
774 );
775 assert_eq!(
776 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
777 8usize,
778 concat!("Offset of field: ", stringify!(timespec), "::", stringify!(tv_nsec))
779 );
780 }
781 pub type suseconds_t = __suseconds_t;
782 pub type __fd_mask = ::std::os::raw::c_long;
783 #[repr(C)]
784 #[derive(Debug, Copy, Clone)]
785 pub struct fd_set {
786 pub __fds_bits: [__fd_mask; 16usize],
787 }
788 #[test]
bindgen_test_layout_fd_set()789 fn bindgen_test_layout_fd_set() {
790 const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
791 let ptr = UNINIT.as_ptr();
792 assert_eq!(::std::mem::size_of::<fd_set>(), 128usize, concat!("Size of: ", stringify!(fd_set)));
793 assert_eq!(
794 ::std::mem::align_of::<fd_set>(),
795 8usize,
796 concat!("Alignment of ", stringify!(fd_set))
797 );
798 assert_eq!(
799 unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
800 0usize,
801 concat!("Offset of field: ", stringify!(fd_set), "::", stringify!(__fds_bits))
802 );
803 }
804 pub type fd_mask = __fd_mask;
805 extern "C" {
select( __nfds: ::std::os::raw::c_int, __readfds: *mut fd_set, __writefds: *mut fd_set, __exceptfds: *mut fd_set, __timeout: *mut timeval, ) -> ::std::os::raw::c_int806 pub fn select(
807 __nfds: ::std::os::raw::c_int,
808 __readfds: *mut fd_set,
809 __writefds: *mut fd_set,
810 __exceptfds: *mut fd_set,
811 __timeout: *mut timeval,
812 ) -> ::std::os::raw::c_int;
813 }
814 extern "C" {
pselect( __nfds: ::std::os::raw::c_int, __readfds: *mut fd_set, __writefds: *mut fd_set, __exceptfds: *mut fd_set, __timeout: *const timespec, __sigmask: *const __sigset_t, ) -> ::std::os::raw::c_int815 pub fn pselect(
816 __nfds: ::std::os::raw::c_int,
817 __readfds: *mut fd_set,
818 __writefds: *mut fd_set,
819 __exceptfds: *mut fd_set,
820 __timeout: *const timespec,
821 __sigmask: *const __sigset_t,
822 ) -> ::std::os::raw::c_int;
823 }
824 pub type blksize_t = __blksize_t;
825 pub type blkcnt_t = __blkcnt_t;
826 pub type fsblkcnt_t = __fsblkcnt_t;
827 pub type fsfilcnt_t = __fsfilcnt_t;
828 #[repr(C)]
829 #[derive(Copy, Clone)]
830 pub union __atomic_wide_counter {
831 pub __value64: ::std::os::raw::c_ulonglong,
832 pub __value32: __atomic_wide_counter__bindgen_ty_1,
833 }
834 #[repr(C)]
835 #[derive(Debug, Copy, Clone)]
836 pub struct __atomic_wide_counter__bindgen_ty_1 {
837 pub __low: ::std::os::raw::c_uint,
838 pub __high: ::std::os::raw::c_uint,
839 }
840 #[test]
bindgen_test_layout___atomic_wide_counter__bindgen_ty_1()841 fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
842 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
843 ::std::mem::MaybeUninit::uninit();
844 let ptr = UNINIT.as_ptr();
845 assert_eq!(
846 ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
847 8usize,
848 concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1))
849 );
850 assert_eq!(
851 ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
852 4usize,
853 concat!("Alignment of ", stringify!(__atomic_wide_counter__bindgen_ty_1))
854 );
855 assert_eq!(
856 unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
857 0usize,
858 concat!(
859 "Offset of field: ",
860 stringify!(__atomic_wide_counter__bindgen_ty_1),
861 "::",
862 stringify!(__low)
863 )
864 );
865 assert_eq!(
866 unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
867 4usize,
868 concat!(
869 "Offset of field: ",
870 stringify!(__atomic_wide_counter__bindgen_ty_1),
871 "::",
872 stringify!(__high)
873 )
874 );
875 }
876 #[test]
bindgen_test_layout___atomic_wide_counter()877 fn bindgen_test_layout___atomic_wide_counter() {
878 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> =
879 ::std::mem::MaybeUninit::uninit();
880 let ptr = UNINIT.as_ptr();
881 assert_eq!(
882 ::std::mem::size_of::<__atomic_wide_counter>(),
883 8usize,
884 concat!("Size of: ", stringify!(__atomic_wide_counter))
885 );
886 assert_eq!(
887 ::std::mem::align_of::<__atomic_wide_counter>(),
888 8usize,
889 concat!("Alignment of ", stringify!(__atomic_wide_counter))
890 );
891 assert_eq!(
892 unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
893 0usize,
894 concat!(
895 "Offset of field: ",
896 stringify!(__atomic_wide_counter),
897 "::",
898 stringify!(__value64)
899 )
900 );
901 assert_eq!(
902 unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
903 0usize,
904 concat!(
905 "Offset of field: ",
906 stringify!(__atomic_wide_counter),
907 "::",
908 stringify!(__value32)
909 )
910 );
911 }
912 #[repr(C)]
913 #[derive(Debug, Copy, Clone)]
914 pub struct __pthread_internal_list {
915 pub __prev: *mut __pthread_internal_list,
916 pub __next: *mut __pthread_internal_list,
917 }
918 #[test]
bindgen_test_layout___pthread_internal_list()919 fn bindgen_test_layout___pthread_internal_list() {
920 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
921 ::std::mem::MaybeUninit::uninit();
922 let ptr = UNINIT.as_ptr();
923 assert_eq!(
924 ::std::mem::size_of::<__pthread_internal_list>(),
925 16usize,
926 concat!("Size of: ", stringify!(__pthread_internal_list))
927 );
928 assert_eq!(
929 ::std::mem::align_of::<__pthread_internal_list>(),
930 8usize,
931 concat!("Alignment of ", stringify!(__pthread_internal_list))
932 );
933 assert_eq!(
934 unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
935 0usize,
936 concat!("Offset of field: ", stringify!(__pthread_internal_list), "::", stringify!(__prev))
937 );
938 assert_eq!(
939 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
940 8usize,
941 concat!("Offset of field: ", stringify!(__pthread_internal_list), "::", stringify!(__next))
942 );
943 }
944 pub type __pthread_list_t = __pthread_internal_list;
945 #[repr(C)]
946 #[derive(Debug, Copy, Clone)]
947 pub struct __pthread_internal_slist {
948 pub __next: *mut __pthread_internal_slist,
949 }
950 #[test]
bindgen_test_layout___pthread_internal_slist()951 fn bindgen_test_layout___pthread_internal_slist() {
952 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
953 ::std::mem::MaybeUninit::uninit();
954 let ptr = UNINIT.as_ptr();
955 assert_eq!(
956 ::std::mem::size_of::<__pthread_internal_slist>(),
957 8usize,
958 concat!("Size of: ", stringify!(__pthread_internal_slist))
959 );
960 assert_eq!(
961 ::std::mem::align_of::<__pthread_internal_slist>(),
962 8usize,
963 concat!("Alignment of ", stringify!(__pthread_internal_slist))
964 );
965 assert_eq!(
966 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
967 0usize,
968 concat!(
969 "Offset of field: ",
970 stringify!(__pthread_internal_slist),
971 "::",
972 stringify!(__next)
973 )
974 );
975 }
976 pub type __pthread_slist_t = __pthread_internal_slist;
977 #[repr(C)]
978 #[derive(Debug, Copy, Clone)]
979 pub struct __pthread_mutex_s {
980 pub __lock: ::std::os::raw::c_int,
981 pub __count: ::std::os::raw::c_uint,
982 pub __owner: ::std::os::raw::c_int,
983 pub __nusers: ::std::os::raw::c_uint,
984 pub __kind: ::std::os::raw::c_int,
985 pub __spins: ::std::os::raw::c_short,
986 pub __elision: ::std::os::raw::c_short,
987 pub __list: __pthread_list_t,
988 }
989 #[test]
bindgen_test_layout___pthread_mutex_s()990 fn bindgen_test_layout___pthread_mutex_s() {
991 const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
992 let ptr = UNINIT.as_ptr();
993 assert_eq!(
994 ::std::mem::size_of::<__pthread_mutex_s>(),
995 40usize,
996 concat!("Size of: ", stringify!(__pthread_mutex_s))
997 );
998 assert_eq!(
999 ::std::mem::align_of::<__pthread_mutex_s>(),
1000 8usize,
1001 concat!("Alignment of ", stringify!(__pthread_mutex_s))
1002 );
1003 assert_eq!(
1004 unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
1005 0usize,
1006 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__lock))
1007 );
1008 assert_eq!(
1009 unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
1010 4usize,
1011 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__count))
1012 );
1013 assert_eq!(
1014 unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
1015 8usize,
1016 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__owner))
1017 );
1018 assert_eq!(
1019 unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
1020 12usize,
1021 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__nusers))
1022 );
1023 assert_eq!(
1024 unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
1025 16usize,
1026 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__kind))
1027 );
1028 assert_eq!(
1029 unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
1030 20usize,
1031 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__spins))
1032 );
1033 assert_eq!(
1034 unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
1035 22usize,
1036 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__elision))
1037 );
1038 assert_eq!(
1039 unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
1040 24usize,
1041 concat!("Offset of field: ", stringify!(__pthread_mutex_s), "::", stringify!(__list))
1042 );
1043 }
1044 #[repr(C)]
1045 #[derive(Debug, Copy, Clone)]
1046 pub struct __pthread_rwlock_arch_t {
1047 pub __readers: ::std::os::raw::c_uint,
1048 pub __writers: ::std::os::raw::c_uint,
1049 pub __wrphase_futex: ::std::os::raw::c_uint,
1050 pub __writers_futex: ::std::os::raw::c_uint,
1051 pub __pad3: ::std::os::raw::c_uint,
1052 pub __pad4: ::std::os::raw::c_uint,
1053 pub __cur_writer: ::std::os::raw::c_int,
1054 pub __shared: ::std::os::raw::c_int,
1055 pub __rwelision: ::std::os::raw::c_schar,
1056 pub __pad1: [::std::os::raw::c_uchar; 7usize],
1057 pub __pad2: ::std::os::raw::c_ulong,
1058 pub __flags: ::std::os::raw::c_uint,
1059 }
1060 #[test]
bindgen_test_layout___pthread_rwlock_arch_t()1061 fn bindgen_test_layout___pthread_rwlock_arch_t() {
1062 const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
1063 ::std::mem::MaybeUninit::uninit();
1064 let ptr = UNINIT.as_ptr();
1065 assert_eq!(
1066 ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
1067 56usize,
1068 concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
1069 );
1070 assert_eq!(
1071 ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
1072 8usize,
1073 concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
1074 );
1075 assert_eq!(
1076 unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
1077 0usize,
1078 concat!(
1079 "Offset of field: ",
1080 stringify!(__pthread_rwlock_arch_t),
1081 "::",
1082 stringify!(__readers)
1083 )
1084 );
1085 assert_eq!(
1086 unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
1087 4usize,
1088 concat!(
1089 "Offset of field: ",
1090 stringify!(__pthread_rwlock_arch_t),
1091 "::",
1092 stringify!(__writers)
1093 )
1094 );
1095 assert_eq!(
1096 unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
1097 8usize,
1098 concat!(
1099 "Offset of field: ",
1100 stringify!(__pthread_rwlock_arch_t),
1101 "::",
1102 stringify!(__wrphase_futex)
1103 )
1104 );
1105 assert_eq!(
1106 unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
1107 12usize,
1108 concat!(
1109 "Offset of field: ",
1110 stringify!(__pthread_rwlock_arch_t),
1111 "::",
1112 stringify!(__writers_futex)
1113 )
1114 );
1115 assert_eq!(
1116 unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
1117 16usize,
1118 concat!("Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", stringify!(__pad3))
1119 );
1120 assert_eq!(
1121 unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
1122 20usize,
1123 concat!("Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", stringify!(__pad4))
1124 );
1125 assert_eq!(
1126 unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
1127 24usize,
1128 concat!(
1129 "Offset of field: ",
1130 stringify!(__pthread_rwlock_arch_t),
1131 "::",
1132 stringify!(__cur_writer)
1133 )
1134 );
1135 assert_eq!(
1136 unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
1137 28usize,
1138 concat!(
1139 "Offset of field: ",
1140 stringify!(__pthread_rwlock_arch_t),
1141 "::",
1142 stringify!(__shared)
1143 )
1144 );
1145 assert_eq!(
1146 unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
1147 32usize,
1148 concat!(
1149 "Offset of field: ",
1150 stringify!(__pthread_rwlock_arch_t),
1151 "::",
1152 stringify!(__rwelision)
1153 )
1154 );
1155 assert_eq!(
1156 unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
1157 33usize,
1158 concat!("Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", stringify!(__pad1))
1159 );
1160 assert_eq!(
1161 unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
1162 40usize,
1163 concat!("Offset of field: ", stringify!(__pthread_rwlock_arch_t), "::", stringify!(__pad2))
1164 );
1165 assert_eq!(
1166 unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
1167 48usize,
1168 concat!(
1169 "Offset of field: ",
1170 stringify!(__pthread_rwlock_arch_t),
1171 "::",
1172 stringify!(__flags)
1173 )
1174 );
1175 }
1176 #[repr(C)]
1177 #[derive(Copy, Clone)]
1178 pub struct __pthread_cond_s {
1179 pub __wseq: __atomic_wide_counter,
1180 pub __g1_start: __atomic_wide_counter,
1181 pub __g_refs: [::std::os::raw::c_uint; 2usize],
1182 pub __g_size: [::std::os::raw::c_uint; 2usize],
1183 pub __g1_orig_size: ::std::os::raw::c_uint,
1184 pub __wrefs: ::std::os::raw::c_uint,
1185 pub __g_signals: [::std::os::raw::c_uint; 2usize],
1186 }
1187 #[test]
bindgen_test_layout___pthread_cond_s()1188 fn bindgen_test_layout___pthread_cond_s() {
1189 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
1190 let ptr = UNINIT.as_ptr();
1191 assert_eq!(
1192 ::std::mem::size_of::<__pthread_cond_s>(),
1193 48usize,
1194 concat!("Size of: ", stringify!(__pthread_cond_s))
1195 );
1196 assert_eq!(
1197 ::std::mem::align_of::<__pthread_cond_s>(),
1198 8usize,
1199 concat!("Alignment of ", stringify!(__pthread_cond_s))
1200 );
1201 assert_eq!(
1202 unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
1203 0usize,
1204 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__wseq))
1205 );
1206 assert_eq!(
1207 unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
1208 8usize,
1209 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__g1_start))
1210 );
1211 assert_eq!(
1212 unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
1213 16usize,
1214 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__g_refs))
1215 );
1216 assert_eq!(
1217 unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
1218 24usize,
1219 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__g_size))
1220 );
1221 assert_eq!(
1222 unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
1223 32usize,
1224 concat!(
1225 "Offset of field: ",
1226 stringify!(__pthread_cond_s),
1227 "::",
1228 stringify!(__g1_orig_size)
1229 )
1230 );
1231 assert_eq!(
1232 unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
1233 36usize,
1234 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__wrefs))
1235 );
1236 assert_eq!(
1237 unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
1238 40usize,
1239 concat!("Offset of field: ", stringify!(__pthread_cond_s), "::", stringify!(__g_signals))
1240 );
1241 }
1242 pub type __tss_t = ::std::os::raw::c_uint;
1243 pub type __thrd_t = ::std::os::raw::c_ulong;
1244 #[repr(C)]
1245 #[derive(Debug, Copy, Clone)]
1246 pub struct __once_flag {
1247 pub __data: ::std::os::raw::c_int,
1248 }
1249 #[test]
bindgen_test_layout___once_flag()1250 fn bindgen_test_layout___once_flag() {
1251 const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit();
1252 let ptr = UNINIT.as_ptr();
1253 assert_eq!(
1254 ::std::mem::size_of::<__once_flag>(),
1255 4usize,
1256 concat!("Size of: ", stringify!(__once_flag))
1257 );
1258 assert_eq!(
1259 ::std::mem::align_of::<__once_flag>(),
1260 4usize,
1261 concat!("Alignment of ", stringify!(__once_flag))
1262 );
1263 assert_eq!(
1264 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1265 0usize,
1266 concat!("Offset of field: ", stringify!(__once_flag), "::", stringify!(__data))
1267 );
1268 }
1269 pub type pthread_t = ::std::os::raw::c_ulong;
1270 #[repr(C)]
1271 #[derive(Copy, Clone)]
1272 pub union pthread_mutexattr_t {
1273 pub __size: [::std::os::raw::c_char; 4usize],
1274 pub __align: ::std::os::raw::c_int,
1275 }
1276 #[test]
bindgen_test_layout_pthread_mutexattr_t()1277 fn bindgen_test_layout_pthread_mutexattr_t() {
1278 const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
1279 let ptr = UNINIT.as_ptr();
1280 assert_eq!(
1281 ::std::mem::size_of::<pthread_mutexattr_t>(),
1282 4usize,
1283 concat!("Size of: ", stringify!(pthread_mutexattr_t))
1284 );
1285 assert_eq!(
1286 ::std::mem::align_of::<pthread_mutexattr_t>(),
1287 4usize,
1288 concat!("Alignment of ", stringify!(pthread_mutexattr_t))
1289 );
1290 assert_eq!(
1291 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1292 0usize,
1293 concat!("Offset of field: ", stringify!(pthread_mutexattr_t), "::", stringify!(__size))
1294 );
1295 assert_eq!(
1296 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1297 0usize,
1298 concat!("Offset of field: ", stringify!(pthread_mutexattr_t), "::", stringify!(__align))
1299 );
1300 }
1301 #[repr(C)]
1302 #[derive(Copy, Clone)]
1303 pub union pthread_condattr_t {
1304 pub __size: [::std::os::raw::c_char; 4usize],
1305 pub __align: ::std::os::raw::c_int,
1306 }
1307 #[test]
bindgen_test_layout_pthread_condattr_t()1308 fn bindgen_test_layout_pthread_condattr_t() {
1309 const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
1310 let ptr = UNINIT.as_ptr();
1311 assert_eq!(
1312 ::std::mem::size_of::<pthread_condattr_t>(),
1313 4usize,
1314 concat!("Size of: ", stringify!(pthread_condattr_t))
1315 );
1316 assert_eq!(
1317 ::std::mem::align_of::<pthread_condattr_t>(),
1318 4usize,
1319 concat!("Alignment of ", stringify!(pthread_condattr_t))
1320 );
1321 assert_eq!(
1322 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1323 0usize,
1324 concat!("Offset of field: ", stringify!(pthread_condattr_t), "::", stringify!(__size))
1325 );
1326 assert_eq!(
1327 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1328 0usize,
1329 concat!("Offset of field: ", stringify!(pthread_condattr_t), "::", stringify!(__align))
1330 );
1331 }
1332 pub type pthread_key_t = ::std::os::raw::c_uint;
1333 pub type pthread_once_t = ::std::os::raw::c_int;
1334 #[repr(C)]
1335 #[derive(Copy, Clone)]
1336 pub union pthread_attr_t {
1337 pub __size: [::std::os::raw::c_char; 56usize],
1338 pub __align: ::std::os::raw::c_long,
1339 }
1340 #[test]
bindgen_test_layout_pthread_attr_t()1341 fn bindgen_test_layout_pthread_attr_t() {
1342 const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1343 let ptr = UNINIT.as_ptr();
1344 assert_eq!(
1345 ::std::mem::size_of::<pthread_attr_t>(),
1346 56usize,
1347 concat!("Size of: ", stringify!(pthread_attr_t))
1348 );
1349 assert_eq!(
1350 ::std::mem::align_of::<pthread_attr_t>(),
1351 8usize,
1352 concat!("Alignment of ", stringify!(pthread_attr_t))
1353 );
1354 assert_eq!(
1355 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1356 0usize,
1357 concat!("Offset of field: ", stringify!(pthread_attr_t), "::", stringify!(__size))
1358 );
1359 assert_eq!(
1360 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1361 0usize,
1362 concat!("Offset of field: ", stringify!(pthread_attr_t), "::", stringify!(__align))
1363 );
1364 }
1365 #[repr(C)]
1366 #[derive(Copy, Clone)]
1367 pub union pthread_mutex_t {
1368 pub __data: __pthread_mutex_s,
1369 pub __size: [::std::os::raw::c_char; 40usize],
1370 pub __align: ::std::os::raw::c_long,
1371 }
1372 #[test]
bindgen_test_layout_pthread_mutex_t()1373 fn bindgen_test_layout_pthread_mutex_t() {
1374 const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1375 let ptr = UNINIT.as_ptr();
1376 assert_eq!(
1377 ::std::mem::size_of::<pthread_mutex_t>(),
1378 40usize,
1379 concat!("Size of: ", stringify!(pthread_mutex_t))
1380 );
1381 assert_eq!(
1382 ::std::mem::align_of::<pthread_mutex_t>(),
1383 8usize,
1384 concat!("Alignment of ", stringify!(pthread_mutex_t))
1385 );
1386 assert_eq!(
1387 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1388 0usize,
1389 concat!("Offset of field: ", stringify!(pthread_mutex_t), "::", stringify!(__data))
1390 );
1391 assert_eq!(
1392 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1393 0usize,
1394 concat!("Offset of field: ", stringify!(pthread_mutex_t), "::", stringify!(__size))
1395 );
1396 assert_eq!(
1397 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1398 0usize,
1399 concat!("Offset of field: ", stringify!(pthread_mutex_t), "::", stringify!(__align))
1400 );
1401 }
1402 #[repr(C)]
1403 #[derive(Copy, Clone)]
1404 pub union pthread_cond_t {
1405 pub __data: __pthread_cond_s,
1406 pub __size: [::std::os::raw::c_char; 48usize],
1407 pub __align: ::std::os::raw::c_longlong,
1408 }
1409 #[test]
bindgen_test_layout_pthread_cond_t()1410 fn bindgen_test_layout_pthread_cond_t() {
1411 const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1412 let ptr = UNINIT.as_ptr();
1413 assert_eq!(
1414 ::std::mem::size_of::<pthread_cond_t>(),
1415 48usize,
1416 concat!("Size of: ", stringify!(pthread_cond_t))
1417 );
1418 assert_eq!(
1419 ::std::mem::align_of::<pthread_cond_t>(),
1420 8usize,
1421 concat!("Alignment of ", stringify!(pthread_cond_t))
1422 );
1423 assert_eq!(
1424 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1425 0usize,
1426 concat!("Offset of field: ", stringify!(pthread_cond_t), "::", stringify!(__data))
1427 );
1428 assert_eq!(
1429 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1430 0usize,
1431 concat!("Offset of field: ", stringify!(pthread_cond_t), "::", stringify!(__size))
1432 );
1433 assert_eq!(
1434 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1435 0usize,
1436 concat!("Offset of field: ", stringify!(pthread_cond_t), "::", stringify!(__align))
1437 );
1438 }
1439 #[repr(C)]
1440 #[derive(Copy, Clone)]
1441 pub union pthread_rwlock_t {
1442 pub __data: __pthread_rwlock_arch_t,
1443 pub __size: [::std::os::raw::c_char; 56usize],
1444 pub __align: ::std::os::raw::c_long,
1445 }
1446 #[test]
bindgen_test_layout_pthread_rwlock_t()1447 fn bindgen_test_layout_pthread_rwlock_t() {
1448 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1449 let ptr = UNINIT.as_ptr();
1450 assert_eq!(
1451 ::std::mem::size_of::<pthread_rwlock_t>(),
1452 56usize,
1453 concat!("Size of: ", stringify!(pthread_rwlock_t))
1454 );
1455 assert_eq!(
1456 ::std::mem::align_of::<pthread_rwlock_t>(),
1457 8usize,
1458 concat!("Alignment of ", stringify!(pthread_rwlock_t))
1459 );
1460 assert_eq!(
1461 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1462 0usize,
1463 concat!("Offset of field: ", stringify!(pthread_rwlock_t), "::", stringify!(__data))
1464 );
1465 assert_eq!(
1466 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1467 0usize,
1468 concat!("Offset of field: ", stringify!(pthread_rwlock_t), "::", stringify!(__size))
1469 );
1470 assert_eq!(
1471 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1472 0usize,
1473 concat!("Offset of field: ", stringify!(pthread_rwlock_t), "::", stringify!(__align))
1474 );
1475 }
1476 #[repr(C)]
1477 #[derive(Copy, Clone)]
1478 pub union pthread_rwlockattr_t {
1479 pub __size: [::std::os::raw::c_char; 8usize],
1480 pub __align: ::std::os::raw::c_long,
1481 }
1482 #[test]
bindgen_test_layout_pthread_rwlockattr_t()1483 fn bindgen_test_layout_pthread_rwlockattr_t() {
1484 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
1485 let ptr = UNINIT.as_ptr();
1486 assert_eq!(
1487 ::std::mem::size_of::<pthread_rwlockattr_t>(),
1488 8usize,
1489 concat!("Size of: ", stringify!(pthread_rwlockattr_t))
1490 );
1491 assert_eq!(
1492 ::std::mem::align_of::<pthread_rwlockattr_t>(),
1493 8usize,
1494 concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
1495 );
1496 assert_eq!(
1497 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1498 0usize,
1499 concat!("Offset of field: ", stringify!(pthread_rwlockattr_t), "::", stringify!(__size))
1500 );
1501 assert_eq!(
1502 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1503 0usize,
1504 concat!("Offset of field: ", stringify!(pthread_rwlockattr_t), "::", stringify!(__align))
1505 );
1506 }
1507 pub type pthread_spinlock_t = ::std::os::raw::c_int;
1508 #[repr(C)]
1509 #[derive(Copy, Clone)]
1510 pub union pthread_barrier_t {
1511 pub __size: [::std::os::raw::c_char; 32usize],
1512 pub __align: ::std::os::raw::c_long,
1513 }
1514 #[test]
bindgen_test_layout_pthread_barrier_t()1515 fn bindgen_test_layout_pthread_barrier_t() {
1516 const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1517 let ptr = UNINIT.as_ptr();
1518 assert_eq!(
1519 ::std::mem::size_of::<pthread_barrier_t>(),
1520 32usize,
1521 concat!("Size of: ", stringify!(pthread_barrier_t))
1522 );
1523 assert_eq!(
1524 ::std::mem::align_of::<pthread_barrier_t>(),
1525 8usize,
1526 concat!("Alignment of ", stringify!(pthread_barrier_t))
1527 );
1528 assert_eq!(
1529 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1530 0usize,
1531 concat!("Offset of field: ", stringify!(pthread_barrier_t), "::", stringify!(__size))
1532 );
1533 assert_eq!(
1534 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1535 0usize,
1536 concat!("Offset of field: ", stringify!(pthread_barrier_t), "::", stringify!(__align))
1537 );
1538 }
1539 #[repr(C)]
1540 #[derive(Copy, Clone)]
1541 pub union pthread_barrierattr_t {
1542 pub __size: [::std::os::raw::c_char; 4usize],
1543 pub __align: ::std::os::raw::c_int,
1544 }
1545 #[test]
bindgen_test_layout_pthread_barrierattr_t()1546 fn bindgen_test_layout_pthread_barrierattr_t() {
1547 const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
1548 ::std::mem::MaybeUninit::uninit();
1549 let ptr = UNINIT.as_ptr();
1550 assert_eq!(
1551 ::std::mem::size_of::<pthread_barrierattr_t>(),
1552 4usize,
1553 concat!("Size of: ", stringify!(pthread_barrierattr_t))
1554 );
1555 assert_eq!(
1556 ::std::mem::align_of::<pthread_barrierattr_t>(),
1557 4usize,
1558 concat!("Alignment of ", stringify!(pthread_barrierattr_t))
1559 );
1560 assert_eq!(
1561 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1562 0usize,
1563 concat!("Offset of field: ", stringify!(pthread_barrierattr_t), "::", stringify!(__size))
1564 );
1565 assert_eq!(
1566 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1567 0usize,
1568 concat!("Offset of field: ", stringify!(pthread_barrierattr_t), "::", stringify!(__align))
1569 );
1570 }
1571 pub type slirp_ssize_t = isize;
1572 #[repr(C)]
1573 #[derive(Debug, Copy, Clone)]
1574 pub struct iovec {
1575 pub iov_base: *mut ::std::os::raw::c_void,
1576 pub iov_len: usize,
1577 }
1578 #[test]
bindgen_test_layout_iovec()1579 fn bindgen_test_layout_iovec() {
1580 const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
1581 let ptr = UNINIT.as_ptr();
1582 assert_eq!(::std::mem::size_of::<iovec>(), 16usize, concat!("Size of: ", stringify!(iovec)));
1583 assert_eq!(
1584 ::std::mem::align_of::<iovec>(),
1585 8usize,
1586 concat!("Alignment of ", stringify!(iovec))
1587 );
1588 assert_eq!(
1589 unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
1590 0usize,
1591 concat!("Offset of field: ", stringify!(iovec), "::", stringify!(iov_base))
1592 );
1593 assert_eq!(
1594 unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
1595 8usize,
1596 concat!("Offset of field: ", stringify!(iovec), "::", stringify!(iov_len))
1597 );
1598 }
1599 pub type socklen_t = __socklen_t;
1600 pub const __socket_type_SOCK_STREAM: __socket_type = 1;
1601 pub const __socket_type_SOCK_DGRAM: __socket_type = 2;
1602 pub const __socket_type_SOCK_RAW: __socket_type = 3;
1603 pub const __socket_type_SOCK_RDM: __socket_type = 4;
1604 pub const __socket_type_SOCK_SEQPACKET: __socket_type = 5;
1605 pub const __socket_type_SOCK_DCCP: __socket_type = 6;
1606 pub const __socket_type_SOCK_PACKET: __socket_type = 10;
1607 pub const __socket_type_SOCK_CLOEXEC: __socket_type = 524288;
1608 pub const __socket_type_SOCK_NONBLOCK: __socket_type = 2048;
1609 pub type __socket_type = ::std::os::raw::c_uint;
1610 pub type sa_family_t = ::std::os::raw::c_ushort;
1611 #[repr(C)]
1612 #[derive(Debug, Copy, Clone)]
1613 pub struct sockaddr {
1614 pub sa_family: sa_family_t,
1615 pub sa_data: [::std::os::raw::c_char; 14usize],
1616 }
1617 #[test]
bindgen_test_layout_sockaddr()1618 fn bindgen_test_layout_sockaddr() {
1619 const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
1620 let ptr = UNINIT.as_ptr();
1621 assert_eq!(
1622 ::std::mem::size_of::<sockaddr>(),
1623 16usize,
1624 concat!("Size of: ", stringify!(sockaddr))
1625 );
1626 assert_eq!(
1627 ::std::mem::align_of::<sockaddr>(),
1628 2usize,
1629 concat!("Alignment of ", stringify!(sockaddr))
1630 );
1631 assert_eq!(
1632 unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
1633 0usize,
1634 concat!("Offset of field: ", stringify!(sockaddr), "::", stringify!(sa_family))
1635 );
1636 assert_eq!(
1637 unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
1638 2usize,
1639 concat!("Offset of field: ", stringify!(sockaddr), "::", stringify!(sa_data))
1640 );
1641 }
1642 #[repr(C)]
1643 #[derive(Debug, Copy, Clone)]
1644 pub struct sockaddr_storage {
1645 pub ss_family: sa_family_t,
1646 pub __ss_padding: [::std::os::raw::c_char; 118usize],
1647 pub __ss_align: ::std::os::raw::c_ulong,
1648 }
1649 #[test]
bindgen_test_layout_sockaddr_storage()1650 fn bindgen_test_layout_sockaddr_storage() {
1651 const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage> = ::std::mem::MaybeUninit::uninit();
1652 let ptr = UNINIT.as_ptr();
1653 assert_eq!(
1654 ::std::mem::size_of::<sockaddr_storage>(),
1655 128usize,
1656 concat!("Size of: ", stringify!(sockaddr_storage))
1657 );
1658 assert_eq!(
1659 ::std::mem::align_of::<sockaddr_storage>(),
1660 8usize,
1661 concat!("Alignment of ", stringify!(sockaddr_storage))
1662 );
1663 assert_eq!(
1664 unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
1665 0usize,
1666 concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(ss_family))
1667 );
1668 assert_eq!(
1669 unsafe { ::std::ptr::addr_of!((*ptr).__ss_padding) as usize - ptr as usize },
1670 2usize,
1671 concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(__ss_padding))
1672 );
1673 assert_eq!(
1674 unsafe { ::std::ptr::addr_of!((*ptr).__ss_align) as usize - ptr as usize },
1675 120usize,
1676 concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(__ss_align))
1677 );
1678 }
1679 pub const MSG_OOB: _bindgen_ty_1 = 1;
1680 pub const MSG_PEEK: _bindgen_ty_1 = 2;
1681 pub const MSG_DONTROUTE: _bindgen_ty_1 = 4;
1682 pub const MSG_CTRUNC: _bindgen_ty_1 = 8;
1683 pub const MSG_PROXY: _bindgen_ty_1 = 16;
1684 pub const MSG_TRUNC: _bindgen_ty_1 = 32;
1685 pub const MSG_DONTWAIT: _bindgen_ty_1 = 64;
1686 pub const MSG_EOR: _bindgen_ty_1 = 128;
1687 pub const MSG_WAITALL: _bindgen_ty_1 = 256;
1688 pub const MSG_FIN: _bindgen_ty_1 = 512;
1689 pub const MSG_SYN: _bindgen_ty_1 = 1024;
1690 pub const MSG_CONFIRM: _bindgen_ty_1 = 2048;
1691 pub const MSG_RST: _bindgen_ty_1 = 4096;
1692 pub const MSG_ERRQUEUE: _bindgen_ty_1 = 8192;
1693 pub const MSG_NOSIGNAL: _bindgen_ty_1 = 16384;
1694 pub const MSG_MORE: _bindgen_ty_1 = 32768;
1695 pub const MSG_WAITFORONE: _bindgen_ty_1 = 65536;
1696 pub const MSG_BATCH: _bindgen_ty_1 = 262144;
1697 pub const MSG_ZEROCOPY: _bindgen_ty_1 = 67108864;
1698 pub const MSG_FASTOPEN: _bindgen_ty_1 = 536870912;
1699 pub const MSG_CMSG_CLOEXEC: _bindgen_ty_1 = 1073741824;
1700 pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1701 #[repr(C)]
1702 #[derive(Debug, Copy, Clone)]
1703 pub struct msghdr {
1704 pub msg_name: *mut ::std::os::raw::c_void,
1705 pub msg_namelen: socklen_t,
1706 pub msg_iov: *mut iovec,
1707 pub msg_iovlen: usize,
1708 pub msg_control: *mut ::std::os::raw::c_void,
1709 pub msg_controllen: usize,
1710 pub msg_flags: ::std::os::raw::c_int,
1711 }
1712 #[test]
bindgen_test_layout_msghdr()1713 fn bindgen_test_layout_msghdr() {
1714 const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
1715 let ptr = UNINIT.as_ptr();
1716 assert_eq!(::std::mem::size_of::<msghdr>(), 56usize, concat!("Size of: ", stringify!(msghdr)));
1717 assert_eq!(
1718 ::std::mem::align_of::<msghdr>(),
1719 8usize,
1720 concat!("Alignment of ", stringify!(msghdr))
1721 );
1722 assert_eq!(
1723 unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
1724 0usize,
1725 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_name))
1726 );
1727 assert_eq!(
1728 unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
1729 8usize,
1730 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_namelen))
1731 );
1732 assert_eq!(
1733 unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
1734 16usize,
1735 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_iov))
1736 );
1737 assert_eq!(
1738 unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
1739 24usize,
1740 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_iovlen))
1741 );
1742 assert_eq!(
1743 unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
1744 32usize,
1745 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_control))
1746 );
1747 assert_eq!(
1748 unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
1749 40usize,
1750 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_controllen))
1751 );
1752 assert_eq!(
1753 unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
1754 48usize,
1755 concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_flags))
1756 );
1757 }
1758 #[repr(C)]
1759 #[derive(Debug)]
1760 pub struct cmsghdr {
1761 pub cmsg_len: usize,
1762 pub cmsg_level: ::std::os::raw::c_int,
1763 pub cmsg_type: ::std::os::raw::c_int,
1764 pub __cmsg_data: __IncompleteArrayField<::std::os::raw::c_uchar>,
1765 }
1766 #[test]
bindgen_test_layout_cmsghdr()1767 fn bindgen_test_layout_cmsghdr() {
1768 const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
1769 let ptr = UNINIT.as_ptr();
1770 assert_eq!(
1771 ::std::mem::size_of::<cmsghdr>(),
1772 16usize,
1773 concat!("Size of: ", stringify!(cmsghdr))
1774 );
1775 assert_eq!(
1776 ::std::mem::align_of::<cmsghdr>(),
1777 8usize,
1778 concat!("Alignment of ", stringify!(cmsghdr))
1779 );
1780 assert_eq!(
1781 unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
1782 0usize,
1783 concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_len))
1784 );
1785 assert_eq!(
1786 unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
1787 8usize,
1788 concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_level))
1789 );
1790 assert_eq!(
1791 unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
1792 12usize,
1793 concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_type))
1794 );
1795 assert_eq!(
1796 unsafe { ::std::ptr::addr_of!((*ptr).__cmsg_data) as usize - ptr as usize },
1797 16usize,
1798 concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(__cmsg_data))
1799 );
1800 }
1801 extern "C" {
__cmsg_nxthdr(__mhdr: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr1802 pub fn __cmsg_nxthdr(__mhdr: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
1803 }
1804 pub const SCM_RIGHTS: _bindgen_ty_2 = 1;
1805 pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
1806 #[repr(C)]
1807 #[derive(Debug, Copy, Clone)]
1808 pub struct __kernel_fd_set {
1809 pub fds_bits: [::std::os::raw::c_ulong; 16usize],
1810 }
1811 #[test]
bindgen_test_layout___kernel_fd_set()1812 fn bindgen_test_layout___kernel_fd_set() {
1813 const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
1814 let ptr = UNINIT.as_ptr();
1815 assert_eq!(
1816 ::std::mem::size_of::<__kernel_fd_set>(),
1817 128usize,
1818 concat!("Size of: ", stringify!(__kernel_fd_set))
1819 );
1820 assert_eq!(
1821 ::std::mem::align_of::<__kernel_fd_set>(),
1822 8usize,
1823 concat!("Alignment of ", stringify!(__kernel_fd_set))
1824 );
1825 assert_eq!(
1826 unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1827 0usize,
1828 concat!("Offset of field: ", stringify!(__kernel_fd_set), "::", stringify!(fds_bits))
1829 );
1830 }
1831 pub type __kernel_sighandler_t =
1832 ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1833 pub type __kernel_key_t = ::std::os::raw::c_int;
1834 pub type __kernel_mqd_t = ::std::os::raw::c_int;
1835 pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
1836 pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
1837 pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
1838 pub type __kernel_long_t = ::std::os::raw::c_long;
1839 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1840 pub type __kernel_ino_t = __kernel_ulong_t;
1841 pub type __kernel_mode_t = ::std::os::raw::c_uint;
1842 pub type __kernel_pid_t = ::std::os::raw::c_int;
1843 pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
1844 pub type __kernel_uid_t = ::std::os::raw::c_uint;
1845 pub type __kernel_gid_t = ::std::os::raw::c_uint;
1846 pub type __kernel_suseconds_t = __kernel_long_t;
1847 pub type __kernel_daddr_t = ::std::os::raw::c_int;
1848 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1849 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1850 pub type __kernel_size_t = __kernel_ulong_t;
1851 pub type __kernel_ssize_t = __kernel_long_t;
1852 pub type __kernel_ptrdiff_t = __kernel_long_t;
1853 #[repr(C)]
1854 #[derive(Debug, Copy, Clone)]
1855 pub struct __kernel_fsid_t {
1856 pub val: [::std::os::raw::c_int; 2usize],
1857 }
1858 #[test]
bindgen_test_layout___kernel_fsid_t()1859 fn bindgen_test_layout___kernel_fsid_t() {
1860 const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
1861 let ptr = UNINIT.as_ptr();
1862 assert_eq!(
1863 ::std::mem::size_of::<__kernel_fsid_t>(),
1864 8usize,
1865 concat!("Size of: ", stringify!(__kernel_fsid_t))
1866 );
1867 assert_eq!(
1868 ::std::mem::align_of::<__kernel_fsid_t>(),
1869 4usize,
1870 concat!("Alignment of ", stringify!(__kernel_fsid_t))
1871 );
1872 assert_eq!(
1873 unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
1874 0usize,
1875 concat!("Offset of field: ", stringify!(__kernel_fsid_t), "::", stringify!(val))
1876 );
1877 }
1878 pub type __kernel_off_t = __kernel_long_t;
1879 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1880 pub type __kernel_old_time_t = __kernel_long_t;
1881 pub type __kernel_time_t = __kernel_long_t;
1882 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1883 pub type __kernel_clock_t = __kernel_long_t;
1884 pub type __kernel_timer_t = ::std::os::raw::c_int;
1885 pub type __kernel_clockid_t = ::std::os::raw::c_int;
1886 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1887 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1888 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1889 #[repr(C)]
1890 #[derive(Debug, Copy, Clone)]
1891 pub struct linger {
1892 pub l_onoff: ::std::os::raw::c_int,
1893 pub l_linger: ::std::os::raw::c_int,
1894 }
1895 #[test]
bindgen_test_layout_linger()1896 fn bindgen_test_layout_linger() {
1897 const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
1898 let ptr = UNINIT.as_ptr();
1899 assert_eq!(::std::mem::size_of::<linger>(), 8usize, concat!("Size of: ", stringify!(linger)));
1900 assert_eq!(
1901 ::std::mem::align_of::<linger>(),
1902 4usize,
1903 concat!("Alignment of ", stringify!(linger))
1904 );
1905 assert_eq!(
1906 unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
1907 0usize,
1908 concat!("Offset of field: ", stringify!(linger), "::", stringify!(l_onoff))
1909 );
1910 assert_eq!(
1911 unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
1912 4usize,
1913 concat!("Offset of field: ", stringify!(linger), "::", stringify!(l_linger))
1914 );
1915 }
1916 #[repr(C)]
1917 #[derive(Debug, Copy, Clone)]
1918 pub struct osockaddr {
1919 pub sa_family: ::std::os::raw::c_ushort,
1920 pub sa_data: [::std::os::raw::c_uchar; 14usize],
1921 }
1922 #[test]
bindgen_test_layout_osockaddr()1923 fn bindgen_test_layout_osockaddr() {
1924 const UNINIT: ::std::mem::MaybeUninit<osockaddr> = ::std::mem::MaybeUninit::uninit();
1925 let ptr = UNINIT.as_ptr();
1926 assert_eq!(
1927 ::std::mem::size_of::<osockaddr>(),
1928 16usize,
1929 concat!("Size of: ", stringify!(osockaddr))
1930 );
1931 assert_eq!(
1932 ::std::mem::align_of::<osockaddr>(),
1933 2usize,
1934 concat!("Alignment of ", stringify!(osockaddr))
1935 );
1936 assert_eq!(
1937 unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
1938 0usize,
1939 concat!("Offset of field: ", stringify!(osockaddr), "::", stringify!(sa_family))
1940 );
1941 assert_eq!(
1942 unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
1943 2usize,
1944 concat!("Offset of field: ", stringify!(osockaddr), "::", stringify!(sa_data))
1945 );
1946 }
1947 pub const SHUT_RD: _bindgen_ty_3 = 0;
1948 pub const SHUT_WR: _bindgen_ty_3 = 1;
1949 pub const SHUT_RDWR: _bindgen_ty_3 = 2;
1950 pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
1951 extern "C" {
socket( __domain: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int1952 pub fn socket(
1953 __domain: ::std::os::raw::c_int,
1954 __type: ::std::os::raw::c_int,
1955 __protocol: ::std::os::raw::c_int,
1956 ) -> ::std::os::raw::c_int;
1957 }
1958 extern "C" {
socketpair( __domain: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, __fds: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int1959 pub fn socketpair(
1960 __domain: ::std::os::raw::c_int,
1961 __type: ::std::os::raw::c_int,
1962 __protocol: ::std::os::raw::c_int,
1963 __fds: *mut ::std::os::raw::c_int,
1964 ) -> ::std::os::raw::c_int;
1965 }
1966 extern "C" {
bind( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __len: socklen_t, ) -> ::std::os::raw::c_int1967 pub fn bind(
1968 __fd: ::std::os::raw::c_int,
1969 __addr: *const sockaddr,
1970 __len: socklen_t,
1971 ) -> ::std::os::raw::c_int;
1972 }
1973 extern "C" {
getsockname( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __len: *mut socklen_t, ) -> ::std::os::raw::c_int1974 pub fn getsockname(
1975 __fd: ::std::os::raw::c_int,
1976 __addr: *mut sockaddr,
1977 __len: *mut socklen_t,
1978 ) -> ::std::os::raw::c_int;
1979 }
1980 extern "C" {
connect( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __len: socklen_t, ) -> ::std::os::raw::c_int1981 pub fn connect(
1982 __fd: ::std::os::raw::c_int,
1983 __addr: *const sockaddr,
1984 __len: socklen_t,
1985 ) -> ::std::os::raw::c_int;
1986 }
1987 extern "C" {
getpeername( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __len: *mut socklen_t, ) -> ::std::os::raw::c_int1988 pub fn getpeername(
1989 __fd: ::std::os::raw::c_int,
1990 __addr: *mut sockaddr,
1991 __len: *mut socklen_t,
1992 ) -> ::std::os::raw::c_int;
1993 }
1994 extern "C" {
send( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize1995 pub fn send(
1996 __fd: ::std::os::raw::c_int,
1997 __buf: *const ::std::os::raw::c_void,
1998 __n: usize,
1999 __flags: ::std::os::raw::c_int,
2000 ) -> isize;
2001 }
2002 extern "C" {
recv( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize2003 pub fn recv(
2004 __fd: ::std::os::raw::c_int,
2005 __buf: *mut ::std::os::raw::c_void,
2006 __n: usize,
2007 __flags: ::std::os::raw::c_int,
2008 ) -> isize;
2009 }
2010 extern "C" {
sendto( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_len: socklen_t, ) -> isize2011 pub fn sendto(
2012 __fd: ::std::os::raw::c_int,
2013 __buf: *const ::std::os::raw::c_void,
2014 __n: usize,
2015 __flags: ::std::os::raw::c_int,
2016 __addr: *const sockaddr,
2017 __addr_len: socklen_t,
2018 ) -> isize;
2019 }
2020 extern "C" {
recvfrom( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_len: *mut socklen_t, ) -> isize2021 pub fn recvfrom(
2022 __fd: ::std::os::raw::c_int,
2023 __buf: *mut ::std::os::raw::c_void,
2024 __n: usize,
2025 __flags: ::std::os::raw::c_int,
2026 __addr: *mut sockaddr,
2027 __addr_len: *mut socklen_t,
2028 ) -> isize;
2029 }
2030 extern "C" {
sendmsg( __fd: ::std::os::raw::c_int, __message: *const msghdr, __flags: ::std::os::raw::c_int, ) -> isize2031 pub fn sendmsg(
2032 __fd: ::std::os::raw::c_int,
2033 __message: *const msghdr,
2034 __flags: ::std::os::raw::c_int,
2035 ) -> isize;
2036 }
2037 extern "C" {
recvmsg( __fd: ::std::os::raw::c_int, __message: *mut msghdr, __flags: ::std::os::raw::c_int, ) -> isize2038 pub fn recvmsg(
2039 __fd: ::std::os::raw::c_int,
2040 __message: *mut msghdr,
2041 __flags: ::std::os::raw::c_int,
2042 ) -> isize;
2043 }
2044 extern "C" {
getsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __optname: ::std::os::raw::c_int, __optval: *mut ::std::os::raw::c_void, __optlen: *mut socklen_t, ) -> ::std::os::raw::c_int2045 pub fn getsockopt(
2046 __fd: ::std::os::raw::c_int,
2047 __level: ::std::os::raw::c_int,
2048 __optname: ::std::os::raw::c_int,
2049 __optval: *mut ::std::os::raw::c_void,
2050 __optlen: *mut socklen_t,
2051 ) -> ::std::os::raw::c_int;
2052 }
2053 extern "C" {
setsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __optname: ::std::os::raw::c_int, __optval: *const ::std::os::raw::c_void, __optlen: socklen_t, ) -> ::std::os::raw::c_int2054 pub fn setsockopt(
2055 __fd: ::std::os::raw::c_int,
2056 __level: ::std::os::raw::c_int,
2057 __optname: ::std::os::raw::c_int,
2058 __optval: *const ::std::os::raw::c_void,
2059 __optlen: socklen_t,
2060 ) -> ::std::os::raw::c_int;
2061 }
2062 extern "C" {
listen(__fd: ::std::os::raw::c_int, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int2063 pub fn listen(__fd: ::std::os::raw::c_int, __n: ::std::os::raw::c_int)
2064 -> ::std::os::raw::c_int;
2065 }
2066 extern "C" {
accept( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_len: *mut socklen_t, ) -> ::std::os::raw::c_int2067 pub fn accept(
2068 __fd: ::std::os::raw::c_int,
2069 __addr: *mut sockaddr,
2070 __addr_len: *mut socklen_t,
2071 ) -> ::std::os::raw::c_int;
2072 }
2073 extern "C" {
shutdown( __fd: ::std::os::raw::c_int, __how: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2074 pub fn shutdown(
2075 __fd: ::std::os::raw::c_int,
2076 __how: ::std::os::raw::c_int,
2077 ) -> ::std::os::raw::c_int;
2078 }
2079 extern "C" {
sockatmark(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int2080 pub fn sockatmark(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2081 }
2082 extern "C" {
isfdtype( __fd: ::std::os::raw::c_int, __fdtype: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2083 pub fn isfdtype(
2084 __fd: ::std::os::raw::c_int,
2085 __fdtype: ::std::os::raw::c_int,
2086 ) -> ::std::os::raw::c_int;
2087 }
2088 pub type in_addr_t = u32;
2089 #[repr(C)]
2090 #[derive(Debug, Copy, Clone)]
2091 pub struct in_addr {
2092 pub s_addr: in_addr_t,
2093 }
2094 #[test]
bindgen_test_layout_in_addr()2095 fn bindgen_test_layout_in_addr() {
2096 const UNINIT: ::std::mem::MaybeUninit<in_addr> = ::std::mem::MaybeUninit::uninit();
2097 let ptr = UNINIT.as_ptr();
2098 assert_eq!(::std::mem::size_of::<in_addr>(), 4usize, concat!("Size of: ", stringify!(in_addr)));
2099 assert_eq!(
2100 ::std::mem::align_of::<in_addr>(),
2101 4usize,
2102 concat!("Alignment of ", stringify!(in_addr))
2103 );
2104 assert_eq!(
2105 unsafe { ::std::ptr::addr_of!((*ptr).s_addr) as usize - ptr as usize },
2106 0usize,
2107 concat!("Offset of field: ", stringify!(in_addr), "::", stringify!(s_addr))
2108 );
2109 }
2110 #[repr(C)]
2111 #[derive(Debug, Copy, Clone)]
2112 pub struct ip_opts {
2113 pub ip_dst: in_addr,
2114 pub ip_opts: [::std::os::raw::c_char; 40usize],
2115 }
2116 #[test]
bindgen_test_layout_ip_opts()2117 fn bindgen_test_layout_ip_opts() {
2118 const UNINIT: ::std::mem::MaybeUninit<ip_opts> = ::std::mem::MaybeUninit::uninit();
2119 let ptr = UNINIT.as_ptr();
2120 assert_eq!(
2121 ::std::mem::size_of::<ip_opts>(),
2122 44usize,
2123 concat!("Size of: ", stringify!(ip_opts))
2124 );
2125 assert_eq!(
2126 ::std::mem::align_of::<ip_opts>(),
2127 4usize,
2128 concat!("Alignment of ", stringify!(ip_opts))
2129 );
2130 assert_eq!(
2131 unsafe { ::std::ptr::addr_of!((*ptr).ip_dst) as usize - ptr as usize },
2132 0usize,
2133 concat!("Offset of field: ", stringify!(ip_opts), "::", stringify!(ip_dst))
2134 );
2135 assert_eq!(
2136 unsafe { ::std::ptr::addr_of!((*ptr).ip_opts) as usize - ptr as usize },
2137 4usize,
2138 concat!("Offset of field: ", stringify!(ip_opts), "::", stringify!(ip_opts))
2139 );
2140 }
2141 #[repr(C)]
2142 #[derive(Debug, Copy, Clone)]
2143 pub struct in_pktinfo {
2144 pub ipi_ifindex: ::std::os::raw::c_int,
2145 pub ipi_spec_dst: in_addr,
2146 pub ipi_addr: in_addr,
2147 }
2148 #[test]
bindgen_test_layout_in_pktinfo()2149 fn bindgen_test_layout_in_pktinfo() {
2150 const UNINIT: ::std::mem::MaybeUninit<in_pktinfo> = ::std::mem::MaybeUninit::uninit();
2151 let ptr = UNINIT.as_ptr();
2152 assert_eq!(
2153 ::std::mem::size_of::<in_pktinfo>(),
2154 12usize,
2155 concat!("Size of: ", stringify!(in_pktinfo))
2156 );
2157 assert_eq!(
2158 ::std::mem::align_of::<in_pktinfo>(),
2159 4usize,
2160 concat!("Alignment of ", stringify!(in_pktinfo))
2161 );
2162 assert_eq!(
2163 unsafe { ::std::ptr::addr_of!((*ptr).ipi_ifindex) as usize - ptr as usize },
2164 0usize,
2165 concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_ifindex))
2166 );
2167 assert_eq!(
2168 unsafe { ::std::ptr::addr_of!((*ptr).ipi_spec_dst) as usize - ptr as usize },
2169 4usize,
2170 concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_spec_dst))
2171 );
2172 assert_eq!(
2173 unsafe { ::std::ptr::addr_of!((*ptr).ipi_addr) as usize - ptr as usize },
2174 8usize,
2175 concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_addr))
2176 );
2177 }
2178 pub const IPPROTO_IP: _bindgen_ty_4 = 0;
2179 pub const IPPROTO_ICMP: _bindgen_ty_4 = 1;
2180 pub const IPPROTO_IGMP: _bindgen_ty_4 = 2;
2181 pub const IPPROTO_IPIP: _bindgen_ty_4 = 4;
2182 pub const IPPROTO_TCP: _bindgen_ty_4 = 6;
2183 pub const IPPROTO_EGP: _bindgen_ty_4 = 8;
2184 pub const IPPROTO_PUP: _bindgen_ty_4 = 12;
2185 pub const IPPROTO_UDP: _bindgen_ty_4 = 17;
2186 pub const IPPROTO_IDP: _bindgen_ty_4 = 22;
2187 pub const IPPROTO_TP: _bindgen_ty_4 = 29;
2188 pub const IPPROTO_DCCP: _bindgen_ty_4 = 33;
2189 pub const IPPROTO_IPV6: _bindgen_ty_4 = 41;
2190 pub const IPPROTO_RSVP: _bindgen_ty_4 = 46;
2191 pub const IPPROTO_GRE: _bindgen_ty_4 = 47;
2192 pub const IPPROTO_ESP: _bindgen_ty_4 = 50;
2193 pub const IPPROTO_AH: _bindgen_ty_4 = 51;
2194 pub const IPPROTO_MTP: _bindgen_ty_4 = 92;
2195 pub const IPPROTO_BEETPH: _bindgen_ty_4 = 94;
2196 pub const IPPROTO_ENCAP: _bindgen_ty_4 = 98;
2197 pub const IPPROTO_PIM: _bindgen_ty_4 = 103;
2198 pub const IPPROTO_COMP: _bindgen_ty_4 = 108;
2199 pub const IPPROTO_L2TP: _bindgen_ty_4 = 115;
2200 pub const IPPROTO_SCTP: _bindgen_ty_4 = 132;
2201 pub const IPPROTO_UDPLITE: _bindgen_ty_4 = 136;
2202 pub const IPPROTO_MPLS: _bindgen_ty_4 = 137;
2203 pub const IPPROTO_ETHERNET: _bindgen_ty_4 = 143;
2204 pub const IPPROTO_RAW: _bindgen_ty_4 = 255;
2205 pub const IPPROTO_MPTCP: _bindgen_ty_4 = 262;
2206 pub const IPPROTO_MAX: _bindgen_ty_4 = 263;
2207 pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
2208 pub const IPPROTO_HOPOPTS: _bindgen_ty_5 = 0;
2209 pub const IPPROTO_ROUTING: _bindgen_ty_5 = 43;
2210 pub const IPPROTO_FRAGMENT: _bindgen_ty_5 = 44;
2211 pub const IPPROTO_ICMPV6: _bindgen_ty_5 = 58;
2212 pub const IPPROTO_NONE: _bindgen_ty_5 = 59;
2213 pub const IPPROTO_DSTOPTS: _bindgen_ty_5 = 60;
2214 pub const IPPROTO_MH: _bindgen_ty_5 = 135;
2215 pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
2216 pub type in_port_t = u16;
2217 pub const IPPORT_ECHO: _bindgen_ty_6 = 7;
2218 pub const IPPORT_DISCARD: _bindgen_ty_6 = 9;
2219 pub const IPPORT_SYSTAT: _bindgen_ty_6 = 11;
2220 pub const IPPORT_DAYTIME: _bindgen_ty_6 = 13;
2221 pub const IPPORT_NETSTAT: _bindgen_ty_6 = 15;
2222 pub const IPPORT_FTP: _bindgen_ty_6 = 21;
2223 pub const IPPORT_TELNET: _bindgen_ty_6 = 23;
2224 pub const IPPORT_SMTP: _bindgen_ty_6 = 25;
2225 pub const IPPORT_TIMESERVER: _bindgen_ty_6 = 37;
2226 pub const IPPORT_NAMESERVER: _bindgen_ty_6 = 42;
2227 pub const IPPORT_WHOIS: _bindgen_ty_6 = 43;
2228 pub const IPPORT_MTP: _bindgen_ty_6 = 57;
2229 pub const IPPORT_TFTP: _bindgen_ty_6 = 69;
2230 pub const IPPORT_RJE: _bindgen_ty_6 = 77;
2231 pub const IPPORT_FINGER: _bindgen_ty_6 = 79;
2232 pub const IPPORT_TTYLINK: _bindgen_ty_6 = 87;
2233 pub const IPPORT_SUPDUP: _bindgen_ty_6 = 95;
2234 pub const IPPORT_EXECSERVER: _bindgen_ty_6 = 512;
2235 pub const IPPORT_LOGINSERVER: _bindgen_ty_6 = 513;
2236 pub const IPPORT_CMDSERVER: _bindgen_ty_6 = 514;
2237 pub const IPPORT_EFSSERVER: _bindgen_ty_6 = 520;
2238 pub const IPPORT_BIFFUDP: _bindgen_ty_6 = 512;
2239 pub const IPPORT_WHOSERVER: _bindgen_ty_6 = 513;
2240 pub const IPPORT_ROUTESERVER: _bindgen_ty_6 = 520;
2241 pub const IPPORT_RESERVED: _bindgen_ty_6 = 1024;
2242 pub const IPPORT_USERRESERVED: _bindgen_ty_6 = 5000;
2243 pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2244 #[repr(C)]
2245 #[derive(Copy, Clone)]
2246 pub struct in6_addr {
2247 pub __in6_u: in6_addr__bindgen_ty_1,
2248 }
2249 #[repr(C)]
2250 #[derive(Copy, Clone)]
2251 pub union in6_addr__bindgen_ty_1 {
2252 pub __u6_addr8: [u8; 16usize],
2253 pub __u6_addr16: [u16; 8usize],
2254 pub __u6_addr32: [u32; 4usize],
2255 }
2256 #[test]
bindgen_test_layout_in6_addr__bindgen_ty_1()2257 fn bindgen_test_layout_in6_addr__bindgen_ty_1() {
2258 const UNINIT: ::std::mem::MaybeUninit<in6_addr__bindgen_ty_1> =
2259 ::std::mem::MaybeUninit::uninit();
2260 let ptr = UNINIT.as_ptr();
2261 assert_eq!(
2262 ::std::mem::size_of::<in6_addr__bindgen_ty_1>(),
2263 16usize,
2264 concat!("Size of: ", stringify!(in6_addr__bindgen_ty_1))
2265 );
2266 assert_eq!(
2267 ::std::mem::align_of::<in6_addr__bindgen_ty_1>(),
2268 4usize,
2269 concat!("Alignment of ", stringify!(in6_addr__bindgen_ty_1))
2270 );
2271 assert_eq!(
2272 unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr8) as usize - ptr as usize },
2273 0usize,
2274 concat!(
2275 "Offset of field: ",
2276 stringify!(in6_addr__bindgen_ty_1),
2277 "::",
2278 stringify!(__u6_addr8)
2279 )
2280 );
2281 assert_eq!(
2282 unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr16) as usize - ptr as usize },
2283 0usize,
2284 concat!(
2285 "Offset of field: ",
2286 stringify!(in6_addr__bindgen_ty_1),
2287 "::",
2288 stringify!(__u6_addr16)
2289 )
2290 );
2291 assert_eq!(
2292 unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr32) as usize - ptr as usize },
2293 0usize,
2294 concat!(
2295 "Offset of field: ",
2296 stringify!(in6_addr__bindgen_ty_1),
2297 "::",
2298 stringify!(__u6_addr32)
2299 )
2300 );
2301 }
2302 #[test]
bindgen_test_layout_in6_addr()2303 fn bindgen_test_layout_in6_addr() {
2304 const UNINIT: ::std::mem::MaybeUninit<in6_addr> = ::std::mem::MaybeUninit::uninit();
2305 let ptr = UNINIT.as_ptr();
2306 assert_eq!(
2307 ::std::mem::size_of::<in6_addr>(),
2308 16usize,
2309 concat!("Size of: ", stringify!(in6_addr))
2310 );
2311 assert_eq!(
2312 ::std::mem::align_of::<in6_addr>(),
2313 4usize,
2314 concat!("Alignment of ", stringify!(in6_addr))
2315 );
2316 assert_eq!(
2317 unsafe { ::std::ptr::addr_of!((*ptr).__in6_u) as usize - ptr as usize },
2318 0usize,
2319 concat!("Offset of field: ", stringify!(in6_addr), "::", stringify!(__in6_u))
2320 );
2321 }
2322 extern "C" {
2323 pub static in6addr_any: in6_addr;
2324 }
2325 extern "C" {
2326 pub static in6addr_loopback: in6_addr;
2327 }
2328 #[repr(C)]
2329 #[derive(Debug, Copy, Clone)]
2330 pub struct sockaddr_in {
2331 pub sin_family: sa_family_t,
2332 pub sin_port: in_port_t,
2333 pub sin_addr: in_addr,
2334 pub sin_zero: [::std::os::raw::c_uchar; 8usize],
2335 }
2336 #[test]
bindgen_test_layout_sockaddr_in()2337 fn bindgen_test_layout_sockaddr_in() {
2338 const UNINIT: ::std::mem::MaybeUninit<sockaddr_in> = ::std::mem::MaybeUninit::uninit();
2339 let ptr = UNINIT.as_ptr();
2340 assert_eq!(
2341 ::std::mem::size_of::<sockaddr_in>(),
2342 16usize,
2343 concat!("Size of: ", stringify!(sockaddr_in))
2344 );
2345 assert_eq!(
2346 ::std::mem::align_of::<sockaddr_in>(),
2347 4usize,
2348 concat!("Alignment of ", stringify!(sockaddr_in))
2349 );
2350 assert_eq!(
2351 unsafe { ::std::ptr::addr_of!((*ptr).sin_family) as usize - ptr as usize },
2352 0usize,
2353 concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_family))
2354 );
2355 assert_eq!(
2356 unsafe { ::std::ptr::addr_of!((*ptr).sin_port) as usize - ptr as usize },
2357 2usize,
2358 concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_port))
2359 );
2360 assert_eq!(
2361 unsafe { ::std::ptr::addr_of!((*ptr).sin_addr) as usize - ptr as usize },
2362 4usize,
2363 concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_addr))
2364 );
2365 assert_eq!(
2366 unsafe { ::std::ptr::addr_of!((*ptr).sin_zero) as usize - ptr as usize },
2367 8usize,
2368 concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_zero))
2369 );
2370 }
2371 #[repr(C)]
2372 #[derive(Copy, Clone)]
2373 pub struct sockaddr_in6 {
2374 pub sin6_family: sa_family_t,
2375 pub sin6_port: in_port_t,
2376 pub sin6_flowinfo: u32,
2377 pub sin6_addr: in6_addr,
2378 pub sin6_scope_id: u32,
2379 }
2380 #[test]
bindgen_test_layout_sockaddr_in6()2381 fn bindgen_test_layout_sockaddr_in6() {
2382 const UNINIT: ::std::mem::MaybeUninit<sockaddr_in6> = ::std::mem::MaybeUninit::uninit();
2383 let ptr = UNINIT.as_ptr();
2384 assert_eq!(
2385 ::std::mem::size_of::<sockaddr_in6>(),
2386 28usize,
2387 concat!("Size of: ", stringify!(sockaddr_in6))
2388 );
2389 assert_eq!(
2390 ::std::mem::align_of::<sockaddr_in6>(),
2391 4usize,
2392 concat!("Alignment of ", stringify!(sockaddr_in6))
2393 );
2394 assert_eq!(
2395 unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize },
2396 0usize,
2397 concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_family))
2398 );
2399 assert_eq!(
2400 unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize },
2401 2usize,
2402 concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_port))
2403 );
2404 assert_eq!(
2405 unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize },
2406 4usize,
2407 concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_flowinfo))
2408 );
2409 assert_eq!(
2410 unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize },
2411 8usize,
2412 concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_addr))
2413 );
2414 assert_eq!(
2415 unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_id) as usize - ptr as usize },
2416 24usize,
2417 concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_scope_id))
2418 );
2419 }
2420 #[repr(C)]
2421 #[derive(Debug, Copy, Clone)]
2422 pub struct ip_mreq {
2423 pub imr_multiaddr: in_addr,
2424 pub imr_interface: in_addr,
2425 }
2426 #[test]
bindgen_test_layout_ip_mreq()2427 fn bindgen_test_layout_ip_mreq() {
2428 const UNINIT: ::std::mem::MaybeUninit<ip_mreq> = ::std::mem::MaybeUninit::uninit();
2429 let ptr = UNINIT.as_ptr();
2430 assert_eq!(::std::mem::size_of::<ip_mreq>(), 8usize, concat!("Size of: ", stringify!(ip_mreq)));
2431 assert_eq!(
2432 ::std::mem::align_of::<ip_mreq>(),
2433 4usize,
2434 concat!("Alignment of ", stringify!(ip_mreq))
2435 );
2436 assert_eq!(
2437 unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2438 0usize,
2439 concat!("Offset of field: ", stringify!(ip_mreq), "::", stringify!(imr_multiaddr))
2440 );
2441 assert_eq!(
2442 unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
2443 4usize,
2444 concat!("Offset of field: ", stringify!(ip_mreq), "::", stringify!(imr_interface))
2445 );
2446 }
2447 #[repr(C)]
2448 #[derive(Debug, Copy, Clone)]
2449 pub struct ip_mreqn {
2450 pub imr_multiaddr: in_addr,
2451 pub imr_address: in_addr,
2452 pub imr_ifindex: ::std::os::raw::c_int,
2453 }
2454 #[test]
bindgen_test_layout_ip_mreqn()2455 fn bindgen_test_layout_ip_mreqn() {
2456 const UNINIT: ::std::mem::MaybeUninit<ip_mreqn> = ::std::mem::MaybeUninit::uninit();
2457 let ptr = UNINIT.as_ptr();
2458 assert_eq!(
2459 ::std::mem::size_of::<ip_mreqn>(),
2460 12usize,
2461 concat!("Size of: ", stringify!(ip_mreqn))
2462 );
2463 assert_eq!(
2464 ::std::mem::align_of::<ip_mreqn>(),
2465 4usize,
2466 concat!("Alignment of ", stringify!(ip_mreqn))
2467 );
2468 assert_eq!(
2469 unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2470 0usize,
2471 concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_multiaddr))
2472 );
2473 assert_eq!(
2474 unsafe { ::std::ptr::addr_of!((*ptr).imr_address) as usize - ptr as usize },
2475 4usize,
2476 concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_address))
2477 );
2478 assert_eq!(
2479 unsafe { ::std::ptr::addr_of!((*ptr).imr_ifindex) as usize - ptr as usize },
2480 8usize,
2481 concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_ifindex))
2482 );
2483 }
2484 #[repr(C)]
2485 #[derive(Debug, Copy, Clone)]
2486 pub struct ip_mreq_source {
2487 pub imr_multiaddr: in_addr,
2488 pub imr_interface: in_addr,
2489 pub imr_sourceaddr: in_addr,
2490 }
2491 #[test]
bindgen_test_layout_ip_mreq_source()2492 fn bindgen_test_layout_ip_mreq_source() {
2493 const UNINIT: ::std::mem::MaybeUninit<ip_mreq_source> = ::std::mem::MaybeUninit::uninit();
2494 let ptr = UNINIT.as_ptr();
2495 assert_eq!(
2496 ::std::mem::size_of::<ip_mreq_source>(),
2497 12usize,
2498 concat!("Size of: ", stringify!(ip_mreq_source))
2499 );
2500 assert_eq!(
2501 ::std::mem::align_of::<ip_mreq_source>(),
2502 4usize,
2503 concat!("Alignment of ", stringify!(ip_mreq_source))
2504 );
2505 assert_eq!(
2506 unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2507 0usize,
2508 concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_multiaddr))
2509 );
2510 assert_eq!(
2511 unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
2512 4usize,
2513 concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_interface))
2514 );
2515 assert_eq!(
2516 unsafe { ::std::ptr::addr_of!((*ptr).imr_sourceaddr) as usize - ptr as usize },
2517 8usize,
2518 concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_sourceaddr))
2519 );
2520 }
2521 #[repr(C)]
2522 #[derive(Copy, Clone)]
2523 pub struct ipv6_mreq {
2524 pub ipv6mr_multiaddr: in6_addr,
2525 pub ipv6mr_interface: ::std::os::raw::c_uint,
2526 }
2527 #[test]
bindgen_test_layout_ipv6_mreq()2528 fn bindgen_test_layout_ipv6_mreq() {
2529 const UNINIT: ::std::mem::MaybeUninit<ipv6_mreq> = ::std::mem::MaybeUninit::uninit();
2530 let ptr = UNINIT.as_ptr();
2531 assert_eq!(
2532 ::std::mem::size_of::<ipv6_mreq>(),
2533 20usize,
2534 concat!("Size of: ", stringify!(ipv6_mreq))
2535 );
2536 assert_eq!(
2537 ::std::mem::align_of::<ipv6_mreq>(),
2538 4usize,
2539 concat!("Alignment of ", stringify!(ipv6_mreq))
2540 );
2541 assert_eq!(
2542 unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_multiaddr) as usize - ptr as usize },
2543 0usize,
2544 concat!("Offset of field: ", stringify!(ipv6_mreq), "::", stringify!(ipv6mr_multiaddr))
2545 );
2546 assert_eq!(
2547 unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_interface) as usize - ptr as usize },
2548 16usize,
2549 concat!("Offset of field: ", stringify!(ipv6_mreq), "::", stringify!(ipv6mr_interface))
2550 );
2551 }
2552 #[repr(C)]
2553 #[derive(Debug, Copy, Clone)]
2554 pub struct group_req {
2555 pub gr_interface: u32,
2556 pub gr_group: sockaddr_storage,
2557 }
2558 #[test]
bindgen_test_layout_group_req()2559 fn bindgen_test_layout_group_req() {
2560 const UNINIT: ::std::mem::MaybeUninit<group_req> = ::std::mem::MaybeUninit::uninit();
2561 let ptr = UNINIT.as_ptr();
2562 assert_eq!(
2563 ::std::mem::size_of::<group_req>(),
2564 136usize,
2565 concat!("Size of: ", stringify!(group_req))
2566 );
2567 assert_eq!(
2568 ::std::mem::align_of::<group_req>(),
2569 8usize,
2570 concat!("Alignment of ", stringify!(group_req))
2571 );
2572 assert_eq!(
2573 unsafe { ::std::ptr::addr_of!((*ptr).gr_interface) as usize - ptr as usize },
2574 0usize,
2575 concat!("Offset of field: ", stringify!(group_req), "::", stringify!(gr_interface))
2576 );
2577 assert_eq!(
2578 unsafe { ::std::ptr::addr_of!((*ptr).gr_group) as usize - ptr as usize },
2579 8usize,
2580 concat!("Offset of field: ", stringify!(group_req), "::", stringify!(gr_group))
2581 );
2582 }
2583 #[repr(C)]
2584 #[derive(Debug, Copy, Clone)]
2585 pub struct group_source_req {
2586 pub gsr_interface: u32,
2587 pub gsr_group: sockaddr_storage,
2588 pub gsr_source: sockaddr_storage,
2589 }
2590 #[test]
bindgen_test_layout_group_source_req()2591 fn bindgen_test_layout_group_source_req() {
2592 const UNINIT: ::std::mem::MaybeUninit<group_source_req> = ::std::mem::MaybeUninit::uninit();
2593 let ptr = UNINIT.as_ptr();
2594 assert_eq!(
2595 ::std::mem::size_of::<group_source_req>(),
2596 264usize,
2597 concat!("Size of: ", stringify!(group_source_req))
2598 );
2599 assert_eq!(
2600 ::std::mem::align_of::<group_source_req>(),
2601 8usize,
2602 concat!("Alignment of ", stringify!(group_source_req))
2603 );
2604 assert_eq!(
2605 unsafe { ::std::ptr::addr_of!((*ptr).gsr_interface) as usize - ptr as usize },
2606 0usize,
2607 concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_interface))
2608 );
2609 assert_eq!(
2610 unsafe { ::std::ptr::addr_of!((*ptr).gsr_group) as usize - ptr as usize },
2611 8usize,
2612 concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_group))
2613 );
2614 assert_eq!(
2615 unsafe { ::std::ptr::addr_of!((*ptr).gsr_source) as usize - ptr as usize },
2616 136usize,
2617 concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_source))
2618 );
2619 }
2620 #[repr(C)]
2621 #[derive(Debug, Copy, Clone)]
2622 pub struct ip_msfilter {
2623 pub imsf_multiaddr: in_addr,
2624 pub imsf_interface: in_addr,
2625 pub imsf_fmode: u32,
2626 pub imsf_numsrc: u32,
2627 pub imsf_slist: [in_addr; 1usize],
2628 }
2629 #[test]
bindgen_test_layout_ip_msfilter()2630 fn bindgen_test_layout_ip_msfilter() {
2631 const UNINIT: ::std::mem::MaybeUninit<ip_msfilter> = ::std::mem::MaybeUninit::uninit();
2632 let ptr = UNINIT.as_ptr();
2633 assert_eq!(
2634 ::std::mem::size_of::<ip_msfilter>(),
2635 20usize,
2636 concat!("Size of: ", stringify!(ip_msfilter))
2637 );
2638 assert_eq!(
2639 ::std::mem::align_of::<ip_msfilter>(),
2640 4usize,
2641 concat!("Alignment of ", stringify!(ip_msfilter))
2642 );
2643 assert_eq!(
2644 unsafe { ::std::ptr::addr_of!((*ptr).imsf_multiaddr) as usize - ptr as usize },
2645 0usize,
2646 concat!("Offset of field: ", stringify!(ip_msfilter), "::", stringify!(imsf_multiaddr))
2647 );
2648 assert_eq!(
2649 unsafe { ::std::ptr::addr_of!((*ptr).imsf_interface) as usize - ptr as usize },
2650 4usize,
2651 concat!("Offset of field: ", stringify!(ip_msfilter), "::", stringify!(imsf_interface))
2652 );
2653 assert_eq!(
2654 unsafe { ::std::ptr::addr_of!((*ptr).imsf_fmode) as usize - ptr as usize },
2655 8usize,
2656 concat!("Offset of field: ", stringify!(ip_msfilter), "::", stringify!(imsf_fmode))
2657 );
2658 assert_eq!(
2659 unsafe { ::std::ptr::addr_of!((*ptr).imsf_numsrc) as usize - ptr as usize },
2660 12usize,
2661 concat!("Offset of field: ", stringify!(ip_msfilter), "::", stringify!(imsf_numsrc))
2662 );
2663 assert_eq!(
2664 unsafe { ::std::ptr::addr_of!((*ptr).imsf_slist) as usize - ptr as usize },
2665 16usize,
2666 concat!("Offset of field: ", stringify!(ip_msfilter), "::", stringify!(imsf_slist))
2667 );
2668 }
2669 #[repr(C)]
2670 #[derive(Debug, Copy, Clone)]
2671 pub struct group_filter {
2672 pub gf_interface: u32,
2673 pub gf_group: sockaddr_storage,
2674 pub gf_fmode: u32,
2675 pub gf_numsrc: u32,
2676 pub gf_slist: [sockaddr_storage; 1usize],
2677 }
2678 #[test]
bindgen_test_layout_group_filter()2679 fn bindgen_test_layout_group_filter() {
2680 const UNINIT: ::std::mem::MaybeUninit<group_filter> = ::std::mem::MaybeUninit::uninit();
2681 let ptr = UNINIT.as_ptr();
2682 assert_eq!(
2683 ::std::mem::size_of::<group_filter>(),
2684 272usize,
2685 concat!("Size of: ", stringify!(group_filter))
2686 );
2687 assert_eq!(
2688 ::std::mem::align_of::<group_filter>(),
2689 8usize,
2690 concat!("Alignment of ", stringify!(group_filter))
2691 );
2692 assert_eq!(
2693 unsafe { ::std::ptr::addr_of!((*ptr).gf_interface) as usize - ptr as usize },
2694 0usize,
2695 concat!("Offset of field: ", stringify!(group_filter), "::", stringify!(gf_interface))
2696 );
2697 assert_eq!(
2698 unsafe { ::std::ptr::addr_of!((*ptr).gf_group) as usize - ptr as usize },
2699 8usize,
2700 concat!("Offset of field: ", stringify!(group_filter), "::", stringify!(gf_group))
2701 );
2702 assert_eq!(
2703 unsafe { ::std::ptr::addr_of!((*ptr).gf_fmode) as usize - ptr as usize },
2704 136usize,
2705 concat!("Offset of field: ", stringify!(group_filter), "::", stringify!(gf_fmode))
2706 );
2707 assert_eq!(
2708 unsafe { ::std::ptr::addr_of!((*ptr).gf_numsrc) as usize - ptr as usize },
2709 140usize,
2710 concat!("Offset of field: ", stringify!(group_filter), "::", stringify!(gf_numsrc))
2711 );
2712 assert_eq!(
2713 unsafe { ::std::ptr::addr_of!((*ptr).gf_slist) as usize - ptr as usize },
2714 144usize,
2715 concat!("Offset of field: ", stringify!(group_filter), "::", stringify!(gf_slist))
2716 );
2717 }
2718 extern "C" {
ntohl(__netlong: u32) -> u322719 pub fn ntohl(__netlong: u32) -> u32;
2720 }
2721 extern "C" {
ntohs(__netshort: u16) -> u162722 pub fn ntohs(__netshort: u16) -> u16;
2723 }
2724 extern "C" {
htonl(__hostlong: u32) -> u322725 pub fn htonl(__hostlong: u32) -> u32;
2726 }
2727 extern "C" {
htons(__hostshort: u16) -> u162728 pub fn htons(__hostshort: u16) -> u16;
2729 }
2730 extern "C" {
bindresvport( __sockfd: ::std::os::raw::c_int, __sock_in: *mut sockaddr_in, ) -> ::std::os::raw::c_int2731 pub fn bindresvport(
2732 __sockfd: ::std::os::raw::c_int,
2733 __sock_in: *mut sockaddr_in,
2734 ) -> ::std::os::raw::c_int;
2735 }
2736 extern "C" {
bindresvport6( __sockfd: ::std::os::raw::c_int, __sock_in: *mut sockaddr_in6, ) -> ::std::os::raw::c_int2737 pub fn bindresvport6(
2738 __sockfd: ::std::os::raw::c_int,
2739 __sock_in: *mut sockaddr_in6,
2740 ) -> ::std::os::raw::c_int;
2741 }
2742 extern "C" {
inet_addr(__cp: *const ::std::os::raw::c_char) -> in_addr_t2743 pub fn inet_addr(__cp: *const ::std::os::raw::c_char) -> in_addr_t;
2744 }
2745 extern "C" {
inet_lnaof(__in: in_addr) -> in_addr_t2746 pub fn inet_lnaof(__in: in_addr) -> in_addr_t;
2747 }
2748 extern "C" {
inet_makeaddr(__net: in_addr_t, __host: in_addr_t) -> in_addr2749 pub fn inet_makeaddr(__net: in_addr_t, __host: in_addr_t) -> in_addr;
2750 }
2751 extern "C" {
inet_netof(__in: in_addr) -> in_addr_t2752 pub fn inet_netof(__in: in_addr) -> in_addr_t;
2753 }
2754 extern "C" {
inet_network(__cp: *const ::std::os::raw::c_char) -> in_addr_t2755 pub fn inet_network(__cp: *const ::std::os::raw::c_char) -> in_addr_t;
2756 }
2757 extern "C" {
inet_ntoa(__in: in_addr) -> *mut ::std::os::raw::c_char2758 pub fn inet_ntoa(__in: in_addr) -> *mut ::std::os::raw::c_char;
2759 }
2760 extern "C" {
inet_pton( __af: ::std::os::raw::c_int, __cp: *const ::std::os::raw::c_char, __buf: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2761 pub fn inet_pton(
2762 __af: ::std::os::raw::c_int,
2763 __cp: *const ::std::os::raw::c_char,
2764 __buf: *mut ::std::os::raw::c_void,
2765 ) -> ::std::os::raw::c_int;
2766 }
2767 extern "C" {
inet_ntop( __af: ::std::os::raw::c_int, __cp: *const ::std::os::raw::c_void, __buf: *mut ::std::os::raw::c_char, __len: socklen_t, ) -> *const ::std::os::raw::c_char2768 pub fn inet_ntop(
2769 __af: ::std::os::raw::c_int,
2770 __cp: *const ::std::os::raw::c_void,
2771 __buf: *mut ::std::os::raw::c_char,
2772 __len: socklen_t,
2773 ) -> *const ::std::os::raw::c_char;
2774 }
2775 extern "C" {
inet_aton( __cp: *const ::std::os::raw::c_char, __inp: *mut in_addr, ) -> ::std::os::raw::c_int2776 pub fn inet_aton(
2777 __cp: *const ::std::os::raw::c_char,
2778 __inp: *mut in_addr,
2779 ) -> ::std::os::raw::c_int;
2780 }
2781 extern "C" {
inet_neta( __net: in_addr_t, __buf: *mut ::std::os::raw::c_char, __len: usize, ) -> *mut ::std::os::raw::c_char2782 pub fn inet_neta(
2783 __net: in_addr_t,
2784 __buf: *mut ::std::os::raw::c_char,
2785 __len: usize,
2786 ) -> *mut ::std::os::raw::c_char;
2787 }
2788 extern "C" {
inet_net_ntop( __af: ::std::os::raw::c_int, __cp: *const ::std::os::raw::c_void, __bits: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_char, __len: usize, ) -> *mut ::std::os::raw::c_char2789 pub fn inet_net_ntop(
2790 __af: ::std::os::raw::c_int,
2791 __cp: *const ::std::os::raw::c_void,
2792 __bits: ::std::os::raw::c_int,
2793 __buf: *mut ::std::os::raw::c_char,
2794 __len: usize,
2795 ) -> *mut ::std::os::raw::c_char;
2796 }
2797 extern "C" {
inet_net_pton( __af: ::std::os::raw::c_int, __cp: *const ::std::os::raw::c_char, __buf: *mut ::std::os::raw::c_void, __len: usize, ) -> ::std::os::raw::c_int2798 pub fn inet_net_pton(
2799 __af: ::std::os::raw::c_int,
2800 __cp: *const ::std::os::raw::c_char,
2801 __buf: *mut ::std::os::raw::c_void,
2802 __len: usize,
2803 ) -> ::std::os::raw::c_int;
2804 }
2805 extern "C" {
inet_nsap_addr( __cp: *const ::std::os::raw::c_char, __buf: *mut ::std::os::raw::c_uchar, __len: ::std::os::raw::c_int, ) -> ::std::os::raw::c_uint2806 pub fn inet_nsap_addr(
2807 __cp: *const ::std::os::raw::c_char,
2808 __buf: *mut ::std::os::raw::c_uchar,
2809 __len: ::std::os::raw::c_int,
2810 ) -> ::std::os::raw::c_uint;
2811 }
2812 extern "C" {
inet_nsap_ntoa( __len: ::std::os::raw::c_int, __cp: *const ::std::os::raw::c_uchar, __buf: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char2813 pub fn inet_nsap_ntoa(
2814 __len: ::std::os::raw::c_int,
2815 __cp: *const ::std::os::raw::c_uchar,
2816 __buf: *mut ::std::os::raw::c_char,
2817 ) -> *mut ::std::os::raw::c_char;
2818 }
2819 #[repr(C)]
2820 #[derive(Debug, Copy, Clone)]
2821 pub struct Slirp {
2822 _unused: [u8; 0],
2823 }
2824 pub const SLIRP_POLL_IN: _bindgen_ty_7 = 1;
2825 pub const SLIRP_POLL_OUT: _bindgen_ty_7 = 2;
2826 pub const SLIRP_POLL_PRI: _bindgen_ty_7 = 4;
2827 pub const SLIRP_POLL_ERR: _bindgen_ty_7 = 8;
2828 pub const SLIRP_POLL_HUP: _bindgen_ty_7 = 16;
2829 pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
2830 pub type SlirpReadCb = ::std::option::Option<
2831 unsafe extern "C" fn(
2832 buf: *mut ::std::os::raw::c_void,
2833 len: usize,
2834 opaque: *mut ::std::os::raw::c_void,
2835 ) -> slirp_ssize_t,
2836 >;
2837 pub type SlirpWriteCb = ::std::option::Option<
2838 unsafe extern "C" fn(
2839 buf: *const ::std::os::raw::c_void,
2840 len: usize,
2841 opaque: *mut ::std::os::raw::c_void,
2842 ) -> slirp_ssize_t,
2843 >;
2844 pub type SlirpTimerCb =
2845 ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>;
2846 pub type SlirpAddPollCb = ::std::option::Option<
2847 unsafe extern "C" fn(
2848 fd: ::std::os::raw::c_int,
2849 events: ::std::os::raw::c_int,
2850 opaque: *mut ::std::os::raw::c_void,
2851 ) -> ::std::os::raw::c_int,
2852 >;
2853 pub type SlirpGetREventsCb = ::std::option::Option<
2854 unsafe extern "C" fn(
2855 idx: ::std::os::raw::c_int,
2856 opaque: *mut ::std::os::raw::c_void,
2857 ) -> ::std::os::raw::c_int,
2858 >;
2859 pub type SlirpProxyConnectFunc = ::std::option::Option<
2860 unsafe extern "C" fn(
2861 connect_opaque: *mut ::std::os::raw::c_void,
2862 fd: ::std::os::raw::c_int,
2863 af: ::std::os::raw::c_int,
2864 ),
2865 >;
2866 pub const SlirpTimerId_SLIRP_TIMER_RA: SlirpTimerId = 0;
2867 pub const SlirpTimerId_SLIRP_TIMER_NUM: SlirpTimerId = 1;
2868 pub type SlirpTimerId = ::std::os::raw::c_uint;
2869 #[repr(C)]
2870 #[derive(Debug, Copy, Clone)]
2871 pub struct SlirpCb {
2872 pub send_packet: SlirpWriteCb,
2873 pub guest_error: ::std::option::Option<
2874 unsafe extern "C" fn(
2875 msg: *const ::std::os::raw::c_char,
2876 opaque: *mut ::std::os::raw::c_void,
2877 ),
2878 >,
2879 pub clock_get_ns:
2880 ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void) -> i64>,
2881 pub timer_new: ::std::option::Option<
2882 unsafe extern "C" fn(
2883 cb: SlirpTimerCb,
2884 cb_opaque: *mut ::std::os::raw::c_void,
2885 opaque: *mut ::std::os::raw::c_void,
2886 ) -> *mut ::std::os::raw::c_void,
2887 >,
2888 pub timer_free: ::std::option::Option<
2889 unsafe extern "C" fn(
2890 timer: *mut ::std::os::raw::c_void,
2891 opaque: *mut ::std::os::raw::c_void,
2892 ),
2893 >,
2894 pub timer_mod: ::std::option::Option<
2895 unsafe extern "C" fn(
2896 timer: *mut ::std::os::raw::c_void,
2897 expire_time: i64,
2898 opaque: *mut ::std::os::raw::c_void,
2899 ),
2900 >,
2901 pub register_poll_fd: ::std::option::Option<
2902 unsafe extern "C" fn(fd: ::std::os::raw::c_int, opaque: *mut ::std::os::raw::c_void),
2903 >,
2904 pub unregister_poll_fd: ::std::option::Option<
2905 unsafe extern "C" fn(fd: ::std::os::raw::c_int, opaque: *mut ::std::os::raw::c_void),
2906 >,
2907 pub notify: ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>,
2908 pub init_completed: ::std::option::Option<
2909 unsafe extern "C" fn(slirp: *mut Slirp, opaque: *mut ::std::os::raw::c_void),
2910 >,
2911 pub timer_new_opaque: ::std::option::Option<
2912 unsafe extern "C" fn(
2913 id: SlirpTimerId,
2914 cb_opaque: *mut ::std::os::raw::c_void,
2915 opaque: *mut ::std::os::raw::c_void,
2916 ) -> *mut ::std::os::raw::c_void,
2917 >,
2918 pub try_connect: ::std::option::Option<
2919 unsafe extern "C" fn(
2920 addr: *const sockaddr_storage,
2921 connect_func: SlirpProxyConnectFunc,
2922 connect_opaque: *mut ::std::os::raw::c_void,
2923 opaque: *mut ::std::os::raw::c_void,
2924 ) -> bool,
2925 >,
2926 pub remove: ::std::option::Option<
2927 unsafe extern "C" fn(
2928 connect_opaque: *mut ::std::os::raw::c_void,
2929 opaque: *mut ::std::os::raw::c_void,
2930 ),
2931 >,
2932 }
2933 #[test]
bindgen_test_layout_SlirpCb()2934 fn bindgen_test_layout_SlirpCb() {
2935 const UNINIT: ::std::mem::MaybeUninit<SlirpCb> = ::std::mem::MaybeUninit::uninit();
2936 let ptr = UNINIT.as_ptr();
2937 assert_eq!(
2938 ::std::mem::size_of::<SlirpCb>(),
2939 104usize,
2940 concat!("Size of: ", stringify!(SlirpCb))
2941 );
2942 assert_eq!(
2943 ::std::mem::align_of::<SlirpCb>(),
2944 8usize,
2945 concat!("Alignment of ", stringify!(SlirpCb))
2946 );
2947 assert_eq!(
2948 unsafe { ::std::ptr::addr_of!((*ptr).send_packet) as usize - ptr as usize },
2949 0usize,
2950 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(send_packet))
2951 );
2952 assert_eq!(
2953 unsafe { ::std::ptr::addr_of!((*ptr).guest_error) as usize - ptr as usize },
2954 8usize,
2955 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(guest_error))
2956 );
2957 assert_eq!(
2958 unsafe { ::std::ptr::addr_of!((*ptr).clock_get_ns) as usize - ptr as usize },
2959 16usize,
2960 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(clock_get_ns))
2961 );
2962 assert_eq!(
2963 unsafe { ::std::ptr::addr_of!((*ptr).timer_new) as usize - ptr as usize },
2964 24usize,
2965 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_new))
2966 );
2967 assert_eq!(
2968 unsafe { ::std::ptr::addr_of!((*ptr).timer_free) as usize - ptr as usize },
2969 32usize,
2970 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_free))
2971 );
2972 assert_eq!(
2973 unsafe { ::std::ptr::addr_of!((*ptr).timer_mod) as usize - ptr as usize },
2974 40usize,
2975 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_mod))
2976 );
2977 assert_eq!(
2978 unsafe { ::std::ptr::addr_of!((*ptr).register_poll_fd) as usize - ptr as usize },
2979 48usize,
2980 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(register_poll_fd))
2981 );
2982 assert_eq!(
2983 unsafe { ::std::ptr::addr_of!((*ptr).unregister_poll_fd) as usize - ptr as usize },
2984 56usize,
2985 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(unregister_poll_fd))
2986 );
2987 assert_eq!(
2988 unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
2989 64usize,
2990 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(notify))
2991 );
2992 assert_eq!(
2993 unsafe { ::std::ptr::addr_of!((*ptr).init_completed) as usize - ptr as usize },
2994 72usize,
2995 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(init_completed))
2996 );
2997 assert_eq!(
2998 unsafe { ::std::ptr::addr_of!((*ptr).timer_new_opaque) as usize - ptr as usize },
2999 80usize,
3000 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_new_opaque))
3001 );
3002 assert_eq!(
3003 unsafe { ::std::ptr::addr_of!((*ptr).try_connect) as usize - ptr as usize },
3004 88usize,
3005 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(try_connect))
3006 );
3007 assert_eq!(
3008 unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
3009 96usize,
3010 concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(remove))
3011 );
3012 }
3013 #[repr(C)]
3014 #[derive(Copy, Clone)]
3015 pub struct SlirpConfig {
3016 pub version: u32,
3017 pub restricted: ::std::os::raw::c_int,
3018 pub in_enabled: bool,
3019 pub vnetwork: in_addr,
3020 pub vnetmask: in_addr,
3021 pub vhost: in_addr,
3022 pub in6_enabled: bool,
3023 pub vprefix_addr6: in6_addr,
3024 pub vprefix_len: u8,
3025 pub vhost6: in6_addr,
3026 pub vhostname: *const ::std::os::raw::c_char,
3027 pub tftp_server_name: *const ::std::os::raw::c_char,
3028 pub tftp_path: *const ::std::os::raw::c_char,
3029 pub bootfile: *const ::std::os::raw::c_char,
3030 pub vdhcp_start: in_addr,
3031 pub vnameserver: in_addr,
3032 pub vnameserver6: in6_addr,
3033 pub vdnssearch: *mut *const ::std::os::raw::c_char,
3034 pub vdomainname: *const ::std::os::raw::c_char,
3035 pub if_mtu: usize,
3036 pub if_mru: usize,
3037 pub disable_host_loopback: bool,
3038 pub enable_emu: bool,
3039 pub outbound_addr: *mut sockaddr_in,
3040 pub outbound_addr6: *mut sockaddr_in6,
3041 pub disable_dns: bool,
3042 pub disable_dhcp: bool,
3043 pub mfr_id: u32,
3044 pub oob_eth_addr: [u8; 6usize],
3045 pub http_proxy_on: bool,
3046 pub host_dns_count: usize,
3047 pub host_dns: [sockaddr_storage; 4usize],
3048 }
3049 #[test]
bindgen_test_layout_SlirpConfig()3050 fn bindgen_test_layout_SlirpConfig() {
3051 const UNINIT: ::std::mem::MaybeUninit<SlirpConfig> = ::std::mem::MaybeUninit::uninit();
3052 let ptr = UNINIT.as_ptr();
3053 assert_eq!(
3054 ::std::mem::size_of::<SlirpConfig>(),
3055 712usize,
3056 concat!("Size of: ", stringify!(SlirpConfig))
3057 );
3058 assert_eq!(
3059 ::std::mem::align_of::<SlirpConfig>(),
3060 8usize,
3061 concat!("Alignment of ", stringify!(SlirpConfig))
3062 );
3063 assert_eq!(
3064 unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
3065 0usize,
3066 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(version))
3067 );
3068 assert_eq!(
3069 unsafe { ::std::ptr::addr_of!((*ptr).restricted) as usize - ptr as usize },
3070 4usize,
3071 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(restricted))
3072 );
3073 assert_eq!(
3074 unsafe { ::std::ptr::addr_of!((*ptr).in_enabled) as usize - ptr as usize },
3075 8usize,
3076 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(in_enabled))
3077 );
3078 assert_eq!(
3079 unsafe { ::std::ptr::addr_of!((*ptr).vnetwork) as usize - ptr as usize },
3080 12usize,
3081 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnetwork))
3082 );
3083 assert_eq!(
3084 unsafe { ::std::ptr::addr_of!((*ptr).vnetmask) as usize - ptr as usize },
3085 16usize,
3086 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnetmask))
3087 );
3088 assert_eq!(
3089 unsafe { ::std::ptr::addr_of!((*ptr).vhost) as usize - ptr as usize },
3090 20usize,
3091 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhost))
3092 );
3093 assert_eq!(
3094 unsafe { ::std::ptr::addr_of!((*ptr).in6_enabled) as usize - ptr as usize },
3095 24usize,
3096 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(in6_enabled))
3097 );
3098 assert_eq!(
3099 unsafe { ::std::ptr::addr_of!((*ptr).vprefix_addr6) as usize - ptr as usize },
3100 28usize,
3101 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vprefix_addr6))
3102 );
3103 assert_eq!(
3104 unsafe { ::std::ptr::addr_of!((*ptr).vprefix_len) as usize - ptr as usize },
3105 44usize,
3106 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vprefix_len))
3107 );
3108 assert_eq!(
3109 unsafe { ::std::ptr::addr_of!((*ptr).vhost6) as usize - ptr as usize },
3110 48usize,
3111 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhost6))
3112 );
3113 assert_eq!(
3114 unsafe { ::std::ptr::addr_of!((*ptr).vhostname) as usize - ptr as usize },
3115 64usize,
3116 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhostname))
3117 );
3118 assert_eq!(
3119 unsafe { ::std::ptr::addr_of!((*ptr).tftp_server_name) as usize - ptr as usize },
3120 72usize,
3121 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(tftp_server_name))
3122 );
3123 assert_eq!(
3124 unsafe { ::std::ptr::addr_of!((*ptr).tftp_path) as usize - ptr as usize },
3125 80usize,
3126 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(tftp_path))
3127 );
3128 assert_eq!(
3129 unsafe { ::std::ptr::addr_of!((*ptr).bootfile) as usize - ptr as usize },
3130 88usize,
3131 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(bootfile))
3132 );
3133 assert_eq!(
3134 unsafe { ::std::ptr::addr_of!((*ptr).vdhcp_start) as usize - ptr as usize },
3135 96usize,
3136 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdhcp_start))
3137 );
3138 assert_eq!(
3139 unsafe { ::std::ptr::addr_of!((*ptr).vnameserver) as usize - ptr as usize },
3140 100usize,
3141 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnameserver))
3142 );
3143 assert_eq!(
3144 unsafe { ::std::ptr::addr_of!((*ptr).vnameserver6) as usize - ptr as usize },
3145 104usize,
3146 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnameserver6))
3147 );
3148 assert_eq!(
3149 unsafe { ::std::ptr::addr_of!((*ptr).vdnssearch) as usize - ptr as usize },
3150 120usize,
3151 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdnssearch))
3152 );
3153 assert_eq!(
3154 unsafe { ::std::ptr::addr_of!((*ptr).vdomainname) as usize - ptr as usize },
3155 128usize,
3156 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdomainname))
3157 );
3158 assert_eq!(
3159 unsafe { ::std::ptr::addr_of!((*ptr).if_mtu) as usize - ptr as usize },
3160 136usize,
3161 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(if_mtu))
3162 );
3163 assert_eq!(
3164 unsafe { ::std::ptr::addr_of!((*ptr).if_mru) as usize - ptr as usize },
3165 144usize,
3166 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(if_mru))
3167 );
3168 assert_eq!(
3169 unsafe { ::std::ptr::addr_of!((*ptr).disable_host_loopback) as usize - ptr as usize },
3170 152usize,
3171 concat!(
3172 "Offset of field: ",
3173 stringify!(SlirpConfig),
3174 "::",
3175 stringify!(disable_host_loopback)
3176 )
3177 );
3178 assert_eq!(
3179 unsafe { ::std::ptr::addr_of!((*ptr).enable_emu) as usize - ptr as usize },
3180 153usize,
3181 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(enable_emu))
3182 );
3183 assert_eq!(
3184 unsafe { ::std::ptr::addr_of!((*ptr).outbound_addr) as usize - ptr as usize },
3185 160usize,
3186 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(outbound_addr))
3187 );
3188 assert_eq!(
3189 unsafe { ::std::ptr::addr_of!((*ptr).outbound_addr6) as usize - ptr as usize },
3190 168usize,
3191 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(outbound_addr6))
3192 );
3193 assert_eq!(
3194 unsafe { ::std::ptr::addr_of!((*ptr).disable_dns) as usize - ptr as usize },
3195 176usize,
3196 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(disable_dns))
3197 );
3198 assert_eq!(
3199 unsafe { ::std::ptr::addr_of!((*ptr).disable_dhcp) as usize - ptr as usize },
3200 177usize,
3201 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(disable_dhcp))
3202 );
3203 assert_eq!(
3204 unsafe { ::std::ptr::addr_of!((*ptr).mfr_id) as usize - ptr as usize },
3205 180usize,
3206 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(mfr_id))
3207 );
3208 assert_eq!(
3209 unsafe { ::std::ptr::addr_of!((*ptr).oob_eth_addr) as usize - ptr as usize },
3210 184usize,
3211 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(oob_eth_addr))
3212 );
3213 assert_eq!(
3214 unsafe { ::std::ptr::addr_of!((*ptr).http_proxy_on) as usize - ptr as usize },
3215 190usize,
3216 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(http_proxy_on))
3217 );
3218 assert_eq!(
3219 unsafe { ::std::ptr::addr_of!((*ptr).host_dns_count) as usize - ptr as usize },
3220 192usize,
3221 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(host_dns_count))
3222 );
3223 assert_eq!(
3224 unsafe { ::std::ptr::addr_of!((*ptr).host_dns) as usize - ptr as usize },
3225 200usize,
3226 concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(host_dns))
3227 );
3228 }
3229 extern "C" {
slirp_new( cfg: *const SlirpConfig, callbacks: *const SlirpCb, opaque: *mut ::std::os::raw::c_void, ) -> *mut Slirp3230 pub fn slirp_new(
3231 cfg: *const SlirpConfig,
3232 callbacks: *const SlirpCb,
3233 opaque: *mut ::std::os::raw::c_void,
3234 ) -> *mut Slirp;
3235 }
3236 extern "C" {
slirp_init( restricted: ::std::os::raw::c_int, in_enabled: bool, vnetwork: in_addr, vnetmask: in_addr, vhost: in_addr, in6_enabled: bool, vprefix_addr6: in6_addr, vprefix_len: u8, vhost6: in6_addr, vhostname: *const ::std::os::raw::c_char, tftp_server_name: *const ::std::os::raw::c_char, tftp_path: *const ::std::os::raw::c_char, bootfile: *const ::std::os::raw::c_char, vdhcp_start: in_addr, vnameserver: in_addr, vnameserver6: in6_addr, vdnssearch: *mut *const ::std::os::raw::c_char, vdomainname: *const ::std::os::raw::c_char, callbacks: *const SlirpCb, opaque: *mut ::std::os::raw::c_void, ) -> *mut Slirp3237 pub fn slirp_init(
3238 restricted: ::std::os::raw::c_int,
3239 in_enabled: bool,
3240 vnetwork: in_addr,
3241 vnetmask: in_addr,
3242 vhost: in_addr,
3243 in6_enabled: bool,
3244 vprefix_addr6: in6_addr,
3245 vprefix_len: u8,
3246 vhost6: in6_addr,
3247 vhostname: *const ::std::os::raw::c_char,
3248 tftp_server_name: *const ::std::os::raw::c_char,
3249 tftp_path: *const ::std::os::raw::c_char,
3250 bootfile: *const ::std::os::raw::c_char,
3251 vdhcp_start: in_addr,
3252 vnameserver: in_addr,
3253 vnameserver6: in6_addr,
3254 vdnssearch: *mut *const ::std::os::raw::c_char,
3255 vdomainname: *const ::std::os::raw::c_char,
3256 callbacks: *const SlirpCb,
3257 opaque: *mut ::std::os::raw::c_void,
3258 ) -> *mut Slirp;
3259 }
3260 extern "C" {
slirp_cleanup(slirp: *mut Slirp)3261 pub fn slirp_cleanup(slirp: *mut Slirp);
3262 }
3263 extern "C" {
slirp_pollfds_fill( slirp: *mut Slirp, timeout: *mut u32, add_poll: SlirpAddPollCb, opaque: *mut ::std::os::raw::c_void, )3264 pub fn slirp_pollfds_fill(
3265 slirp: *mut Slirp,
3266 timeout: *mut u32,
3267 add_poll: SlirpAddPollCb,
3268 opaque: *mut ::std::os::raw::c_void,
3269 );
3270 }
3271 extern "C" {
slirp_pollfds_poll( slirp: *mut Slirp, select_error: ::std::os::raw::c_int, get_revents: SlirpGetREventsCb, opaque: *mut ::std::os::raw::c_void, )3272 pub fn slirp_pollfds_poll(
3273 slirp: *mut Slirp,
3274 select_error: ::std::os::raw::c_int,
3275 get_revents: SlirpGetREventsCb,
3276 opaque: *mut ::std::os::raw::c_void,
3277 );
3278 }
3279 extern "C" {
slirp_input(slirp: *mut Slirp, pkt: *const u8, pkt_len: ::std::os::raw::c_int)3280 pub fn slirp_input(slirp: *mut Slirp, pkt: *const u8, pkt_len: ::std::os::raw::c_int);
3281 }
3282 extern "C" {
slirp_handle_timer( slirp: *mut Slirp, id: SlirpTimerId, cb_opaque: *mut ::std::os::raw::c_void, )3283 pub fn slirp_handle_timer(
3284 slirp: *mut Slirp,
3285 id: SlirpTimerId,
3286 cb_opaque: *mut ::std::os::raw::c_void,
3287 );
3288 }
3289 extern "C" {
slirp_add_hostfwd( slirp: *mut Slirp, is_udp: ::std::os::raw::c_int, host_addr: in_addr, host_port: ::std::os::raw::c_int, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3290 pub fn slirp_add_hostfwd(
3291 slirp: *mut Slirp,
3292 is_udp: ::std::os::raw::c_int,
3293 host_addr: in_addr,
3294 host_port: ::std::os::raw::c_int,
3295 guest_addr: in_addr,
3296 guest_port: ::std::os::raw::c_int,
3297 ) -> ::std::os::raw::c_int;
3298 }
3299 extern "C" {
slirp_remove_hostfwd( slirp: *mut Slirp, is_udp: ::std::os::raw::c_int, host_addr: in_addr, host_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3300 pub fn slirp_remove_hostfwd(
3301 slirp: *mut Slirp,
3302 is_udp: ::std::os::raw::c_int,
3303 host_addr: in_addr,
3304 host_port: ::std::os::raw::c_int,
3305 ) -> ::std::os::raw::c_int;
3306 }
3307 extern "C" {
slirp_add_hostxfwd( slirp: *mut Slirp, haddr: *const sockaddr, haddrlen: socklen_t, gaddr: *const sockaddr, gaddrlen: socklen_t, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3308 pub fn slirp_add_hostxfwd(
3309 slirp: *mut Slirp,
3310 haddr: *const sockaddr,
3311 haddrlen: socklen_t,
3312 gaddr: *const sockaddr,
3313 gaddrlen: socklen_t,
3314 flags: ::std::os::raw::c_int,
3315 ) -> ::std::os::raw::c_int;
3316 }
3317 extern "C" {
slirp_remove_hostxfwd( slirp: *mut Slirp, haddr: *const sockaddr, haddrlen: socklen_t, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3318 pub fn slirp_remove_hostxfwd(
3319 slirp: *mut Slirp,
3320 haddr: *const sockaddr,
3321 haddrlen: socklen_t,
3322 flags: ::std::os::raw::c_int,
3323 ) -> ::std::os::raw::c_int;
3324 }
3325 extern "C" {
slirp_add_exec( slirp: *mut Slirp, cmdline: *const ::std::os::raw::c_char, guest_addr: *mut in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3326 pub fn slirp_add_exec(
3327 slirp: *mut Slirp,
3328 cmdline: *const ::std::os::raw::c_char,
3329 guest_addr: *mut in_addr,
3330 guest_port: ::std::os::raw::c_int,
3331 ) -> ::std::os::raw::c_int;
3332 }
3333 extern "C" {
slirp_add_unix( slirp: *mut Slirp, unixsock: *const ::std::os::raw::c_char, guest_addr: *mut in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3334 pub fn slirp_add_unix(
3335 slirp: *mut Slirp,
3336 unixsock: *const ::std::os::raw::c_char,
3337 guest_addr: *mut in_addr,
3338 guest_port: ::std::os::raw::c_int,
3339 ) -> ::std::os::raw::c_int;
3340 }
3341 extern "C" {
slirp_add_guestfwd( slirp: *mut Slirp, write_cb: SlirpWriteCb, opaque: *mut ::std::os::raw::c_void, guest_addr: *mut in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3342 pub fn slirp_add_guestfwd(
3343 slirp: *mut Slirp,
3344 write_cb: SlirpWriteCb,
3345 opaque: *mut ::std::os::raw::c_void,
3346 guest_addr: *mut in_addr,
3347 guest_port: ::std::os::raw::c_int,
3348 ) -> ::std::os::raw::c_int;
3349 }
3350 extern "C" {
slirp_socket_can_recv( slirp: *mut Slirp, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, ) -> usize3351 pub fn slirp_socket_can_recv(
3352 slirp: *mut Slirp,
3353 guest_addr: in_addr,
3354 guest_port: ::std::os::raw::c_int,
3355 ) -> usize;
3356 }
3357 extern "C" {
slirp_socket_recv( slirp: *mut Slirp, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, buf: *const u8, size: ::std::os::raw::c_int, )3358 pub fn slirp_socket_recv(
3359 slirp: *mut Slirp,
3360 guest_addr: in_addr,
3361 guest_port: ::std::os::raw::c_int,
3362 buf: *const u8,
3363 size: ::std::os::raw::c_int,
3364 );
3365 }
3366 extern "C" {
slirp_remove_guestfwd( slirp: *mut Slirp, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3367 pub fn slirp_remove_guestfwd(
3368 slirp: *mut Slirp,
3369 guest_addr: in_addr,
3370 guest_port: ::std::os::raw::c_int,
3371 ) -> ::std::os::raw::c_int;
3372 }
3373 extern "C" {
slirp_connection_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char3374 pub fn slirp_connection_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char;
3375 }
3376 extern "C" {
slirp_neighbor_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char3377 pub fn slirp_neighbor_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char;
3378 }
3379 extern "C" {
slirp_state_save( s: *mut Slirp, write_cb: SlirpWriteCb, opaque: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int3380 pub fn slirp_state_save(
3381 s: *mut Slirp,
3382 write_cb: SlirpWriteCb,
3383 opaque: *mut ::std::os::raw::c_void,
3384 ) -> ::std::os::raw::c_int;
3385 }
3386 extern "C" {
slirp_state_version() -> ::std::os::raw::c_int3387 pub fn slirp_state_version() -> ::std::os::raw::c_int;
3388 }
3389 extern "C" {
slirp_state_load( s: *mut Slirp, version_id: ::std::os::raw::c_int, read_cb: SlirpReadCb, opaque: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int3390 pub fn slirp_state_load(
3391 s: *mut Slirp,
3392 version_id: ::std::os::raw::c_int,
3393 read_cb: SlirpReadCb,
3394 opaque: *mut ::std::os::raw::c_void,
3395 ) -> ::std::os::raw::c_int;
3396 }
3397 extern "C" {
slirp_version_string() -> *const ::std::os::raw::c_char3398 pub fn slirp_version_string() -> *const ::std::os::raw::c_char;
3399 }
3400