xref: /aosp_15_r20/tools/netsim/rust/libslirp-rs/src/libslirp_sys/macos/bindings.rs (revision cf78ab8cffb8fc9207af348f23af247fb04370a6)
1 /* automatically generated by rust-bindgen 0.69.5 */
2 
3 pub const __WORDSIZE: u32 = 64;
4 pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
5 pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
6 pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
7 pub const __DARWIN_UNIX03: u32 = 1;
8 pub const __DARWIN_64_BIT_INO_T: u32 = 1;
9 pub const __DARWIN_VERS_1050: u32 = 1;
10 pub const __DARWIN_NON_CANCELABLE: u32 = 0;
11 pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
12 pub const __DARWIN_C_ANSI: u32 = 4096;
13 pub const __DARWIN_C_FULL: u32 = 900000;
14 pub const __DARWIN_C_LEVEL: u32 = 900000;
15 pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
16 pub const __DARWIN_NO_LONG_LONG: u32 = 0;
17 pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
18 pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
19 pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
20 pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
21 pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
22 pub const __has_ptrcheck: u32 = 0;
23 pub const __PTHREAD_SIZE__: u32 = 8176;
24 pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
25 pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
26 pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
27 pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
28 pub const __PTHREAD_COND_SIZE__: u32 = 40;
29 pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
30 pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
31 pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
32 pub const INT8_MAX: u32 = 127;
33 pub const INT16_MAX: u32 = 32767;
34 pub const INT32_MAX: u32 = 2147483647;
35 pub const INT64_MAX: u64 = 9223372036854775807;
36 pub const INT8_MIN: i32 = -128;
37 pub const INT16_MIN: i32 = -32768;
38 pub const INT32_MIN: i32 = -2147483648;
39 pub const INT64_MIN: i64 = -9223372036854775808;
40 pub const UINT8_MAX: u32 = 255;
41 pub const UINT16_MAX: u32 = 65535;
42 pub const UINT32_MAX: u32 = 4294967295;
43 pub const UINT64_MAX: i32 = -1;
44 pub const INT_LEAST8_MIN: i32 = -128;
45 pub const INT_LEAST16_MIN: i32 = -32768;
46 pub const INT_LEAST32_MIN: i32 = -2147483648;
47 pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
48 pub const INT_LEAST8_MAX: u32 = 127;
49 pub const INT_LEAST16_MAX: u32 = 32767;
50 pub const INT_LEAST32_MAX: u32 = 2147483647;
51 pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
52 pub const UINT_LEAST8_MAX: u32 = 255;
53 pub const UINT_LEAST16_MAX: u32 = 65535;
54 pub const UINT_LEAST32_MAX: u32 = 4294967295;
55 pub const UINT_LEAST64_MAX: i32 = -1;
56 pub const INT_FAST8_MIN: i32 = -128;
57 pub const INT_FAST16_MIN: i32 = -32768;
58 pub const INT_FAST32_MIN: i32 = -2147483648;
59 pub const INT_FAST64_MIN: i64 = -9223372036854775808;
60 pub const INT_FAST8_MAX: u32 = 127;
61 pub const INT_FAST16_MAX: u32 = 32767;
62 pub const INT_FAST32_MAX: u32 = 2147483647;
63 pub const INT_FAST64_MAX: u64 = 9223372036854775807;
64 pub const UINT_FAST8_MAX: u32 = 255;
65 pub const UINT_FAST16_MAX: u32 = 65535;
66 pub const UINT_FAST32_MAX: u32 = 4294967295;
67 pub const UINT_FAST64_MAX: i32 = -1;
68 pub const INTPTR_MAX: u64 = 9223372036854775807;
69 pub const INTPTR_MIN: i64 = -9223372036854775808;
70 pub const UINTPTR_MAX: i32 = -1;
71 pub const SIZE_MAX: i32 = -1;
72 pub const RSIZE_MAX: i32 = -1;
73 pub const WINT_MIN: i32 = -2147483648;
74 pub const WINT_MAX: u32 = 2147483647;
75 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
76 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
77 pub const true_: u32 = 1;
78 pub const false_: u32 = 0;
79 pub const __bool_true_false_are_defined: u32 = 1;
80 pub const _QUAD_HIGHWORD: u32 = 1;
81 pub const _QUAD_LOWWORD: u32 = 0;
82 pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234;
83 pub const __DARWIN_BIG_ENDIAN: u32 = 4321;
84 pub const __DARWIN_PDP_ENDIAN: u32 = 3412;
85 pub const __DARWIN_BYTE_ORDER: u32 = 1234;
86 pub const LITTLE_ENDIAN: u32 = 1234;
87 pub const BIG_ENDIAN: u32 = 4321;
88 pub const PDP_ENDIAN: u32 = 3412;
89 pub const BYTE_ORDER: u32 = 1234;
90 pub const __API_TO_BE_DEPRECATED: u32 = 100000;
91 pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
92 pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
93 pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
94 pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
95 pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
96 pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
97 pub const __MAC_10_0: u32 = 1000;
98 pub const __MAC_10_1: u32 = 1010;
99 pub const __MAC_10_2: u32 = 1020;
100 pub const __MAC_10_3: u32 = 1030;
101 pub const __MAC_10_4: u32 = 1040;
102 pub const __MAC_10_5: u32 = 1050;
103 pub const __MAC_10_6: u32 = 1060;
104 pub const __MAC_10_7: u32 = 1070;
105 pub const __MAC_10_8: u32 = 1080;
106 pub const __MAC_10_9: u32 = 1090;
107 pub const __MAC_10_10: u32 = 101000;
108 pub const __MAC_10_10_2: u32 = 101002;
109 pub const __MAC_10_10_3: u32 = 101003;
110 pub const __MAC_10_11: u32 = 101100;
111 pub const __MAC_10_11_2: u32 = 101102;
112 pub const __MAC_10_11_3: u32 = 101103;
113 pub const __MAC_10_11_4: u32 = 101104;
114 pub const __MAC_10_12: u32 = 101200;
115 pub const __MAC_10_12_1: u32 = 101201;
116 pub const __MAC_10_12_2: u32 = 101202;
117 pub const __MAC_10_12_4: u32 = 101204;
118 pub const __MAC_10_13: u32 = 101300;
119 pub const __MAC_10_13_1: u32 = 101301;
120 pub const __MAC_10_13_2: u32 = 101302;
121 pub const __MAC_10_13_4: u32 = 101304;
122 pub const __MAC_10_14: u32 = 101400;
123 pub const __MAC_10_14_1: u32 = 101401;
124 pub const __MAC_10_14_4: u32 = 101404;
125 pub const __MAC_10_14_6: u32 = 101406;
126 pub const __MAC_10_15: u32 = 101500;
127 pub const __MAC_10_15_1: u32 = 101501;
128 pub const __MAC_10_15_4: u32 = 101504;
129 pub const __MAC_10_16: u32 = 101600;
130 pub const __MAC_11_0: u32 = 110000;
131 pub const __MAC_11_1: u32 = 110100;
132 pub const __MAC_11_3: u32 = 110300;
133 pub const __MAC_11_4: u32 = 110400;
134 pub const __MAC_11_5: u32 = 110500;
135 pub const __MAC_11_6: u32 = 110600;
136 pub const __MAC_12_0: u32 = 120000;
137 pub const __MAC_12_1: u32 = 120100;
138 pub const __MAC_12_2: u32 = 120200;
139 pub const __MAC_12_3: u32 = 120300;
140 pub const __MAC_13_0: u32 = 130000;
141 pub const __IPHONE_2_0: u32 = 20000;
142 pub const __IPHONE_2_1: u32 = 20100;
143 pub const __IPHONE_2_2: u32 = 20200;
144 pub const __IPHONE_3_0: u32 = 30000;
145 pub const __IPHONE_3_1: u32 = 30100;
146 pub const __IPHONE_3_2: u32 = 30200;
147 pub const __IPHONE_4_0: u32 = 40000;
148 pub const __IPHONE_4_1: u32 = 40100;
149 pub const __IPHONE_4_2: u32 = 40200;
150 pub const __IPHONE_4_3: u32 = 40300;
151 pub const __IPHONE_5_0: u32 = 50000;
152 pub const __IPHONE_5_1: u32 = 50100;
153 pub const __IPHONE_6_0: u32 = 60000;
154 pub const __IPHONE_6_1: u32 = 60100;
155 pub const __IPHONE_7_0: u32 = 70000;
156 pub const __IPHONE_7_1: u32 = 70100;
157 pub const __IPHONE_8_0: u32 = 80000;
158 pub const __IPHONE_8_1: u32 = 80100;
159 pub const __IPHONE_8_2: u32 = 80200;
160 pub const __IPHONE_8_3: u32 = 80300;
161 pub const __IPHONE_8_4: u32 = 80400;
162 pub const __IPHONE_9_0: u32 = 90000;
163 pub const __IPHONE_9_1: u32 = 90100;
164 pub const __IPHONE_9_2: u32 = 90200;
165 pub const __IPHONE_9_3: u32 = 90300;
166 pub const __IPHONE_10_0: u32 = 100000;
167 pub const __IPHONE_10_1: u32 = 100100;
168 pub const __IPHONE_10_2: u32 = 100200;
169 pub const __IPHONE_10_3: u32 = 100300;
170 pub const __IPHONE_11_0: u32 = 110000;
171 pub const __IPHONE_11_1: u32 = 110100;
172 pub const __IPHONE_11_2: u32 = 110200;
173 pub const __IPHONE_11_3: u32 = 110300;
174 pub const __IPHONE_11_4: u32 = 110400;
175 pub const __IPHONE_12_0: u32 = 120000;
176 pub const __IPHONE_12_1: u32 = 120100;
177 pub const __IPHONE_12_2: u32 = 120200;
178 pub const __IPHONE_12_3: u32 = 120300;
179 pub const __IPHONE_12_4: u32 = 120400;
180 pub const __IPHONE_13_0: u32 = 130000;
181 pub const __IPHONE_13_1: u32 = 130100;
182 pub const __IPHONE_13_2: u32 = 130200;
183 pub const __IPHONE_13_3: u32 = 130300;
184 pub const __IPHONE_13_4: u32 = 130400;
185 pub const __IPHONE_13_5: u32 = 130500;
186 pub const __IPHONE_13_6: u32 = 130600;
187 pub const __IPHONE_13_7: u32 = 130700;
188 pub const __IPHONE_14_0: u32 = 140000;
189 pub const __IPHONE_14_1: u32 = 140100;
190 pub const __IPHONE_14_2: u32 = 140200;
191 pub const __IPHONE_14_3: u32 = 140300;
192 pub const __IPHONE_14_5: u32 = 140500;
193 pub const __IPHONE_14_6: u32 = 140600;
194 pub const __IPHONE_14_7: u32 = 140700;
195 pub const __IPHONE_14_8: u32 = 140800;
196 pub const __IPHONE_15_0: u32 = 150000;
197 pub const __IPHONE_15_1: u32 = 150100;
198 pub const __IPHONE_15_2: u32 = 150200;
199 pub const __IPHONE_15_3: u32 = 150300;
200 pub const __IPHONE_15_4: u32 = 150400;
201 pub const __IPHONE_16_0: u32 = 160000;
202 pub const __IPHONE_16_1: u32 = 160100;
203 pub const __TVOS_9_0: u32 = 90000;
204 pub const __TVOS_9_1: u32 = 90100;
205 pub const __TVOS_9_2: u32 = 90200;
206 pub const __TVOS_10_0: u32 = 100000;
207 pub const __TVOS_10_0_1: u32 = 100001;
208 pub const __TVOS_10_1: u32 = 100100;
209 pub const __TVOS_10_2: u32 = 100200;
210 pub const __TVOS_11_0: u32 = 110000;
211 pub const __TVOS_11_1: u32 = 110100;
212 pub const __TVOS_11_2: u32 = 110200;
213 pub const __TVOS_11_3: u32 = 110300;
214 pub const __TVOS_11_4: u32 = 110400;
215 pub const __TVOS_12_0: u32 = 120000;
216 pub const __TVOS_12_1: u32 = 120100;
217 pub const __TVOS_12_2: u32 = 120200;
218 pub const __TVOS_12_3: u32 = 120300;
219 pub const __TVOS_12_4: u32 = 120400;
220 pub const __TVOS_13_0: u32 = 130000;
221 pub const __TVOS_13_2: u32 = 130200;
222 pub const __TVOS_13_3: u32 = 130300;
223 pub const __TVOS_13_4: u32 = 130400;
224 pub const __TVOS_14_0: u32 = 140000;
225 pub const __TVOS_14_1: u32 = 140100;
226 pub const __TVOS_14_2: u32 = 140200;
227 pub const __TVOS_14_3: u32 = 140300;
228 pub const __TVOS_14_5: u32 = 140500;
229 pub const __TVOS_14_6: u32 = 140600;
230 pub const __TVOS_14_7: u32 = 140700;
231 pub const __TVOS_15_0: u32 = 150000;
232 pub const __TVOS_15_1: u32 = 150100;
233 pub const __TVOS_15_2: u32 = 150200;
234 pub const __TVOS_15_3: u32 = 150300;
235 pub const __TVOS_15_4: u32 = 150400;
236 pub const __TVOS_16_0: u32 = 160000;
237 pub const __TVOS_16_1: u32 = 160100;
238 pub const __WATCHOS_1_0: u32 = 10000;
239 pub const __WATCHOS_2_0: u32 = 20000;
240 pub const __WATCHOS_2_1: u32 = 20100;
241 pub const __WATCHOS_2_2: u32 = 20200;
242 pub const __WATCHOS_3_0: u32 = 30000;
243 pub const __WATCHOS_3_1: u32 = 30100;
244 pub const __WATCHOS_3_1_1: u32 = 30101;
245 pub const __WATCHOS_3_2: u32 = 30200;
246 pub const __WATCHOS_4_0: u32 = 40000;
247 pub const __WATCHOS_4_1: u32 = 40100;
248 pub const __WATCHOS_4_2: u32 = 40200;
249 pub const __WATCHOS_4_3: u32 = 40300;
250 pub const __WATCHOS_5_0: u32 = 50000;
251 pub const __WATCHOS_5_1: u32 = 50100;
252 pub const __WATCHOS_5_2: u32 = 50200;
253 pub const __WATCHOS_5_3: u32 = 50300;
254 pub const __WATCHOS_6_0: u32 = 60000;
255 pub const __WATCHOS_6_1: u32 = 60100;
256 pub const __WATCHOS_6_2: u32 = 60200;
257 pub const __WATCHOS_7_0: u32 = 70000;
258 pub const __WATCHOS_7_1: u32 = 70100;
259 pub const __WATCHOS_7_2: u32 = 70200;
260 pub const __WATCHOS_7_3: u32 = 70300;
261 pub const __WATCHOS_7_4: u32 = 70400;
262 pub const __WATCHOS_7_5: u32 = 70500;
263 pub const __WATCHOS_7_6: u32 = 70600;
264 pub const __WATCHOS_8_0: u32 = 80000;
265 pub const __WATCHOS_8_1: u32 = 80100;
266 pub const __WATCHOS_8_3: u32 = 80300;
267 pub const __WATCHOS_8_4: u32 = 80400;
268 pub const __WATCHOS_8_5: u32 = 80500;
269 pub const __WATCHOS_9_0: u32 = 90000;
270 pub const __WATCHOS_9_1: u32 = 90100;
271 pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
272 pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
273 pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
274 pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
275 pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
276 pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
277 pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
278 pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
279 pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
280 pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
281 pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
282 pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
283 pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
284 pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
285 pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
286 pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
287 pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
288 pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
289 pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
290 pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
291 pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
292 pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
293 pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
294 pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
295 pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
296 pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
297 pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
298 pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
299 pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
300 pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
301 pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
302 pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
303 pub const MAC_OS_VERSION_11_0: u32 = 110000;
304 pub const MAC_OS_VERSION_12_0: u32 = 120000;
305 pub const MAC_OS_VERSION_13_0: u32 = 130000;
306 pub const __DRIVERKIT_19_0: u32 = 190000;
307 pub const __DRIVERKIT_20_0: u32 = 200000;
308 pub const __DRIVERKIT_21_0: u32 = 210000;
309 pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 130000;
310 pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
311 pub const __DARWIN_FD_SETSIZE: u32 = 1024;
312 pub const __DARWIN_NBBY: u32 = 8;
313 pub const NBBY: u32 = 8;
314 pub const FD_SETSIZE: u32 = 1024;
315 pub const KEV_INET_SUBCLASS: u32 = 1;
316 pub const KEV_INET_NEW_ADDR: u32 = 1;
317 pub const KEV_INET_CHANGED_ADDR: u32 = 2;
318 pub const KEV_INET_ADDR_DELETED: u32 = 3;
319 pub const KEV_INET_SIFDSTADDR: u32 = 4;
320 pub const KEV_INET_SIFBRDADDR: u32 = 5;
321 pub const KEV_INET_SIFNETMASK: u32 = 6;
322 pub const KEV_INET_ARPCOLLISION: u32 = 7;
323 pub const KEV_INET_PORTINUSE: u32 = 8;
324 pub const KEV_INET_ARPRTRFAILURE: u32 = 9;
325 pub const KEV_INET_ARPRTRALIVE: u32 = 10;
326 pub const KEV_DL_SUBCLASS: u32 = 2;
327 pub const KEV_DL_SIFFLAGS: u32 = 1;
328 pub const KEV_DL_SIFMETRICS: u32 = 2;
329 pub const KEV_DL_SIFMTU: u32 = 3;
330 pub const KEV_DL_SIFPHYS: u32 = 4;
331 pub const KEV_DL_SIFMEDIA: u32 = 5;
332 pub const KEV_DL_SIFGENERIC: u32 = 6;
333 pub const KEV_DL_ADDMULTI: u32 = 7;
334 pub const KEV_DL_DELMULTI: u32 = 8;
335 pub const KEV_DL_IF_ATTACHED: u32 = 9;
336 pub const KEV_DL_IF_DETACHING: u32 = 10;
337 pub const KEV_DL_IF_DETACHED: u32 = 11;
338 pub const KEV_DL_LINK_OFF: u32 = 12;
339 pub const KEV_DL_LINK_ON: u32 = 13;
340 pub const KEV_DL_PROTO_ATTACHED: u32 = 14;
341 pub const KEV_DL_PROTO_DETACHED: u32 = 15;
342 pub const KEV_DL_LINK_ADDRESS_CHANGED: u32 = 16;
343 pub const KEV_DL_WAKEFLAGS_CHANGED: u32 = 17;
344 pub const KEV_DL_IF_IDLE_ROUTE_REFCNT: u32 = 18;
345 pub const KEV_DL_IFCAP_CHANGED: u32 = 19;
346 pub const KEV_DL_LINK_QUALITY_METRIC_CHANGED: u32 = 20;
347 pub const KEV_DL_NODE_PRESENCE: u32 = 21;
348 pub const KEV_DL_NODE_ABSENCE: u32 = 22;
349 pub const KEV_DL_PRIMARY_ELECTED: u32 = 23;
350 pub const KEV_DL_ISSUES: u32 = 24;
351 pub const KEV_DL_IFDELEGATE_CHANGED: u32 = 25;
352 pub const KEV_DL_AWDL_RESTRICTED: u32 = 26;
353 pub const KEV_DL_AWDL_UNRESTRICTED: u32 = 27;
354 pub const KEV_DL_RRC_STATE_CHANGED: u32 = 28;
355 pub const KEV_DL_QOS_MODE_CHANGED: u32 = 29;
356 pub const KEV_DL_LOW_POWER_MODE_CHANGED: u32 = 30;
357 pub const KEV_INET6_SUBCLASS: u32 = 6;
358 pub const KEV_INET6_NEW_USER_ADDR: u32 = 1;
359 pub const KEV_INET6_CHANGED_ADDR: u32 = 2;
360 pub const KEV_INET6_ADDR_DELETED: u32 = 3;
361 pub const KEV_INET6_NEW_LL_ADDR: u32 = 4;
362 pub const KEV_INET6_NEW_RTADV_ADDR: u32 = 5;
363 pub const KEV_INET6_DEFROUTER: u32 = 6;
364 pub const KEV_INET6_REQUEST_NAT64_PREFIX: u32 = 7;
365 pub const SOCK_STREAM: u32 = 1;
366 pub const SOCK_DGRAM: u32 = 2;
367 pub const SOCK_RAW: u32 = 3;
368 pub const SOCK_RDM: u32 = 4;
369 pub const SOCK_SEQPACKET: u32 = 5;
370 pub const SO_DEBUG: u32 = 1;
371 pub const SO_ACCEPTCONN: u32 = 2;
372 pub const SO_REUSEADDR: u32 = 4;
373 pub const SO_KEEPALIVE: u32 = 8;
374 pub const SO_DONTROUTE: u32 = 16;
375 pub const SO_BROADCAST: u32 = 32;
376 pub const SO_USELOOPBACK: u32 = 64;
377 pub const SO_LINGER: u32 = 128;
378 pub const SO_LINGER_SEC: u32 = 4224;
379 pub const SO_OOBINLINE: u32 = 256;
380 pub const SO_REUSEPORT: u32 = 512;
381 pub const SO_TIMESTAMP: u32 = 1024;
382 pub const SO_TIMESTAMP_MONOTONIC: u32 = 2048;
383 pub const SO_DONTTRUNC: u32 = 8192;
384 pub const SO_WANTMORE: u32 = 16384;
385 pub const SO_WANTOOBFLAG: u32 = 32768;
386 pub const SO_SNDBUF: u32 = 4097;
387 pub const SO_RCVBUF: u32 = 4098;
388 pub const SO_SNDLOWAT: u32 = 4099;
389 pub const SO_RCVLOWAT: u32 = 4100;
390 pub const SO_SNDTIMEO: u32 = 4101;
391 pub const SO_RCVTIMEO: u32 = 4102;
392 pub const SO_ERROR: u32 = 4103;
393 pub const SO_TYPE: u32 = 4104;
394 pub const SO_LABEL: u32 = 4112;
395 pub const SO_PEERLABEL: u32 = 4113;
396 pub const SO_NREAD: u32 = 4128;
397 pub const SO_NKE: u32 = 4129;
398 pub const SO_NOSIGPIPE: u32 = 4130;
399 pub const SO_NOADDRERR: u32 = 4131;
400 pub const SO_NWRITE: u32 = 4132;
401 pub const SO_REUSESHAREUID: u32 = 4133;
402 pub const SO_NOTIFYCONFLICT: u32 = 4134;
403 pub const SO_UPCALLCLOSEWAIT: u32 = 4135;
404 pub const SO_RANDOMPORT: u32 = 4226;
405 pub const SO_NP_EXTENSIONS: u32 = 4227;
406 pub const SO_NUMRCVPKT: u32 = 4370;
407 pub const SO_NET_SERVICE_TYPE: u32 = 4374;
408 pub const SO_NETSVC_MARKING_LEVEL: u32 = 4377;
409 pub const SO_RESOLVER_SIGNATURE: u32 = 4401;
410 pub const NET_SERVICE_TYPE_BE: u32 = 0;
411 pub const NET_SERVICE_TYPE_BK: u32 = 1;
412 pub const NET_SERVICE_TYPE_SIG: u32 = 2;
413 pub const NET_SERVICE_TYPE_VI: u32 = 3;
414 pub const NET_SERVICE_TYPE_VO: u32 = 4;
415 pub const NET_SERVICE_TYPE_RV: u32 = 5;
416 pub const NET_SERVICE_TYPE_AV: u32 = 6;
417 pub const NET_SERVICE_TYPE_OAM: u32 = 7;
418 pub const NET_SERVICE_TYPE_RD: u32 = 8;
419 pub const NETSVC_MRKNG_UNKNOWN: u32 = 0;
420 pub const NETSVC_MRKNG_LVL_L2: u32 = 1;
421 pub const NETSVC_MRKNG_LVL_L3L2_ALL: u32 = 2;
422 pub const NETSVC_MRKNG_LVL_L3L2_BK: u32 = 3;
423 pub const SAE_ASSOCID_ANY: u32 = 0;
424 pub const SAE_CONNID_ANY: u32 = 0;
425 pub const CONNECT_RESUME_ON_READ_WRITE: u32 = 1;
426 pub const CONNECT_DATA_IDEMPOTENT: u32 = 2;
427 pub const CONNECT_DATA_AUTHENTICATED: u32 = 4;
428 pub const SONPX_SETOPTSHUT: u32 = 1;
429 pub const SOL_SOCKET: u32 = 65535;
430 pub const AF_UNSPEC: u32 = 0;
431 pub const AF_UNIX: u32 = 1;
432 pub const AF_LOCAL: u32 = 1;
433 pub const AF_INET: u32 = 2;
434 pub const AF_IMPLINK: u32 = 3;
435 pub const AF_PUP: u32 = 4;
436 pub const AF_CHAOS: u32 = 5;
437 pub const AF_NS: u32 = 6;
438 pub const AF_ISO: u32 = 7;
439 pub const AF_OSI: u32 = 7;
440 pub const AF_ECMA: u32 = 8;
441 pub const AF_DATAKIT: u32 = 9;
442 pub const AF_CCITT: u32 = 10;
443 pub const AF_SNA: u32 = 11;
444 pub const AF_DECnet: u32 = 12;
445 pub const AF_DLI: u32 = 13;
446 pub const AF_LAT: u32 = 14;
447 pub const AF_HYLINK: u32 = 15;
448 pub const AF_APPLETALK: u32 = 16;
449 pub const AF_ROUTE: u32 = 17;
450 pub const AF_LINK: u32 = 18;
451 pub const pseudo_AF_XTP: u32 = 19;
452 pub const AF_COIP: u32 = 20;
453 pub const AF_CNT: u32 = 21;
454 pub const pseudo_AF_RTIP: u32 = 22;
455 pub const AF_IPX: u32 = 23;
456 pub const AF_SIP: u32 = 24;
457 pub const pseudo_AF_PIP: u32 = 25;
458 pub const AF_NDRV: u32 = 27;
459 pub const AF_ISDN: u32 = 28;
460 pub const AF_E164: u32 = 28;
461 pub const pseudo_AF_KEY: u32 = 29;
462 pub const AF_INET6: u32 = 30;
463 pub const AF_NATM: u32 = 31;
464 pub const AF_SYSTEM: u32 = 32;
465 pub const AF_NETBIOS: u32 = 33;
466 pub const AF_PPP: u32 = 34;
467 pub const pseudo_AF_HDRCMPLT: u32 = 35;
468 pub const AF_RESERVED_36: u32 = 36;
469 pub const AF_IEEE80211: u32 = 37;
470 pub const AF_UTUN: u32 = 38;
471 pub const AF_VSOCK: u32 = 40;
472 pub const AF_MAX: u32 = 41;
473 pub const SOCK_MAXADDRLEN: u32 = 255;
474 pub const _SS_MAXSIZE: u32 = 128;
475 pub const PF_UNSPEC: u32 = 0;
476 pub const PF_LOCAL: u32 = 1;
477 pub const PF_UNIX: u32 = 1;
478 pub const PF_INET: u32 = 2;
479 pub const PF_IMPLINK: u32 = 3;
480 pub const PF_PUP: u32 = 4;
481 pub const PF_CHAOS: u32 = 5;
482 pub const PF_NS: u32 = 6;
483 pub const PF_ISO: u32 = 7;
484 pub const PF_OSI: u32 = 7;
485 pub const PF_ECMA: u32 = 8;
486 pub const PF_DATAKIT: u32 = 9;
487 pub const PF_CCITT: u32 = 10;
488 pub const PF_SNA: u32 = 11;
489 pub const PF_DECnet: u32 = 12;
490 pub const PF_DLI: u32 = 13;
491 pub const PF_LAT: u32 = 14;
492 pub const PF_HYLINK: u32 = 15;
493 pub const PF_APPLETALK: u32 = 16;
494 pub const PF_ROUTE: u32 = 17;
495 pub const PF_LINK: u32 = 18;
496 pub const PF_XTP: u32 = 19;
497 pub const PF_COIP: u32 = 20;
498 pub const PF_CNT: u32 = 21;
499 pub const PF_SIP: u32 = 24;
500 pub const PF_IPX: u32 = 23;
501 pub const PF_RTIP: u32 = 22;
502 pub const PF_PIP: u32 = 25;
503 pub const PF_NDRV: u32 = 27;
504 pub const PF_ISDN: u32 = 28;
505 pub const PF_KEY: u32 = 29;
506 pub const PF_INET6: u32 = 30;
507 pub const PF_NATM: u32 = 31;
508 pub const PF_SYSTEM: u32 = 32;
509 pub const PF_NETBIOS: u32 = 33;
510 pub const PF_PPP: u32 = 34;
511 pub const PF_RESERVED_36: u32 = 36;
512 pub const PF_UTUN: u32 = 38;
513 pub const PF_VSOCK: u32 = 40;
514 pub const PF_MAX: u32 = 41;
515 pub const NET_MAXID: u32 = 41;
516 pub const NET_RT_DUMP: u32 = 1;
517 pub const NET_RT_FLAGS: u32 = 2;
518 pub const NET_RT_IFLIST: u32 = 3;
519 pub const NET_RT_STAT: u32 = 4;
520 pub const NET_RT_TRASH: u32 = 5;
521 pub const NET_RT_IFLIST2: u32 = 6;
522 pub const NET_RT_DUMP2: u32 = 7;
523 pub const NET_RT_FLAGS_PRIV: u32 = 10;
524 pub const NET_RT_MAXID: u32 = 11;
525 pub const SOMAXCONN: u32 = 128;
526 pub const MSG_OOB: u32 = 1;
527 pub const MSG_PEEK: u32 = 2;
528 pub const MSG_DONTROUTE: u32 = 4;
529 pub const MSG_EOR: u32 = 8;
530 pub const MSG_TRUNC: u32 = 16;
531 pub const MSG_CTRUNC: u32 = 32;
532 pub const MSG_WAITALL: u32 = 64;
533 pub const MSG_DONTWAIT: u32 = 128;
534 pub const MSG_EOF: u32 = 256;
535 pub const MSG_WAITSTREAM: u32 = 512;
536 pub const MSG_FLUSH: u32 = 1024;
537 pub const MSG_HOLD: u32 = 2048;
538 pub const MSG_SEND: u32 = 4096;
539 pub const MSG_HAVEMORE: u32 = 8192;
540 pub const MSG_RCVMORE: u32 = 16384;
541 pub const MSG_NEEDSA: u32 = 65536;
542 pub const MSG_NOSIGNAL: u32 = 524288;
543 pub const SCM_RIGHTS: u32 = 1;
544 pub const SCM_TIMESTAMP: u32 = 2;
545 pub const SCM_CREDS: u32 = 3;
546 pub const SCM_TIMESTAMP_MONOTONIC: u32 = 4;
547 pub const SHUT_RD: u32 = 0;
548 pub const SHUT_WR: u32 = 1;
549 pub const SHUT_RDWR: u32 = 2;
550 pub const IPPROTO_IP: u32 = 0;
551 pub const IPPROTO_HOPOPTS: u32 = 0;
552 pub const IPPROTO_ICMP: u32 = 1;
553 pub const IPPROTO_IGMP: u32 = 2;
554 pub const IPPROTO_GGP: u32 = 3;
555 pub const IPPROTO_IPV4: u32 = 4;
556 pub const IPPROTO_IPIP: u32 = 4;
557 pub const IPPROTO_TCP: u32 = 6;
558 pub const IPPROTO_ST: u32 = 7;
559 pub const IPPROTO_EGP: u32 = 8;
560 pub const IPPROTO_PIGP: u32 = 9;
561 pub const IPPROTO_RCCMON: u32 = 10;
562 pub const IPPROTO_NVPII: u32 = 11;
563 pub const IPPROTO_PUP: u32 = 12;
564 pub const IPPROTO_ARGUS: u32 = 13;
565 pub const IPPROTO_EMCON: u32 = 14;
566 pub const IPPROTO_XNET: u32 = 15;
567 pub const IPPROTO_CHAOS: u32 = 16;
568 pub const IPPROTO_UDP: u32 = 17;
569 pub const IPPROTO_MUX: u32 = 18;
570 pub const IPPROTO_MEAS: u32 = 19;
571 pub const IPPROTO_HMP: u32 = 20;
572 pub const IPPROTO_PRM: u32 = 21;
573 pub const IPPROTO_IDP: u32 = 22;
574 pub const IPPROTO_TRUNK1: u32 = 23;
575 pub const IPPROTO_TRUNK2: u32 = 24;
576 pub const IPPROTO_LEAF1: u32 = 25;
577 pub const IPPROTO_LEAF2: u32 = 26;
578 pub const IPPROTO_RDP: u32 = 27;
579 pub const IPPROTO_IRTP: u32 = 28;
580 pub const IPPROTO_TP: u32 = 29;
581 pub const IPPROTO_BLT: u32 = 30;
582 pub const IPPROTO_NSP: u32 = 31;
583 pub const IPPROTO_INP: u32 = 32;
584 pub const IPPROTO_SEP: u32 = 33;
585 pub const IPPROTO_3PC: u32 = 34;
586 pub const IPPROTO_IDPR: u32 = 35;
587 pub const IPPROTO_XTP: u32 = 36;
588 pub const IPPROTO_DDP: u32 = 37;
589 pub const IPPROTO_CMTP: u32 = 38;
590 pub const IPPROTO_TPXX: u32 = 39;
591 pub const IPPROTO_IL: u32 = 40;
592 pub const IPPROTO_IPV6: u32 = 41;
593 pub const IPPROTO_SDRP: u32 = 42;
594 pub const IPPROTO_ROUTING: u32 = 43;
595 pub const IPPROTO_FRAGMENT: u32 = 44;
596 pub const IPPROTO_IDRP: u32 = 45;
597 pub const IPPROTO_RSVP: u32 = 46;
598 pub const IPPROTO_GRE: u32 = 47;
599 pub const IPPROTO_MHRP: u32 = 48;
600 pub const IPPROTO_BHA: u32 = 49;
601 pub const IPPROTO_ESP: u32 = 50;
602 pub const IPPROTO_AH: u32 = 51;
603 pub const IPPROTO_INLSP: u32 = 52;
604 pub const IPPROTO_SWIPE: u32 = 53;
605 pub const IPPROTO_NHRP: u32 = 54;
606 pub const IPPROTO_ICMPV6: u32 = 58;
607 pub const IPPROTO_NONE: u32 = 59;
608 pub const IPPROTO_DSTOPTS: u32 = 60;
609 pub const IPPROTO_AHIP: u32 = 61;
610 pub const IPPROTO_CFTP: u32 = 62;
611 pub const IPPROTO_HELLO: u32 = 63;
612 pub const IPPROTO_SATEXPAK: u32 = 64;
613 pub const IPPROTO_KRYPTOLAN: u32 = 65;
614 pub const IPPROTO_RVD: u32 = 66;
615 pub const IPPROTO_IPPC: u32 = 67;
616 pub const IPPROTO_ADFS: u32 = 68;
617 pub const IPPROTO_SATMON: u32 = 69;
618 pub const IPPROTO_VISA: u32 = 70;
619 pub const IPPROTO_IPCV: u32 = 71;
620 pub const IPPROTO_CPNX: u32 = 72;
621 pub const IPPROTO_CPHB: u32 = 73;
622 pub const IPPROTO_WSN: u32 = 74;
623 pub const IPPROTO_PVP: u32 = 75;
624 pub const IPPROTO_BRSATMON: u32 = 76;
625 pub const IPPROTO_ND: u32 = 77;
626 pub const IPPROTO_WBMON: u32 = 78;
627 pub const IPPROTO_WBEXPAK: u32 = 79;
628 pub const IPPROTO_EON: u32 = 80;
629 pub const IPPROTO_VMTP: u32 = 81;
630 pub const IPPROTO_SVMTP: u32 = 82;
631 pub const IPPROTO_VINES: u32 = 83;
632 pub const IPPROTO_TTP: u32 = 84;
633 pub const IPPROTO_IGP: u32 = 85;
634 pub const IPPROTO_DGP: u32 = 86;
635 pub const IPPROTO_TCF: u32 = 87;
636 pub const IPPROTO_IGRP: u32 = 88;
637 pub const IPPROTO_OSPFIGP: u32 = 89;
638 pub const IPPROTO_SRPC: u32 = 90;
639 pub const IPPROTO_LARP: u32 = 91;
640 pub const IPPROTO_MTP: u32 = 92;
641 pub const IPPROTO_AX25: u32 = 93;
642 pub const IPPROTO_IPEIP: u32 = 94;
643 pub const IPPROTO_MICP: u32 = 95;
644 pub const IPPROTO_SCCSP: u32 = 96;
645 pub const IPPROTO_ETHERIP: u32 = 97;
646 pub const IPPROTO_ENCAP: u32 = 98;
647 pub const IPPROTO_APES: u32 = 99;
648 pub const IPPROTO_GMTP: u32 = 100;
649 pub const IPPROTO_PIM: u32 = 103;
650 pub const IPPROTO_IPCOMP: u32 = 108;
651 pub const IPPROTO_PGM: u32 = 113;
652 pub const IPPROTO_SCTP: u32 = 132;
653 pub const IPPROTO_DIVERT: u32 = 254;
654 pub const IPPROTO_RAW: u32 = 255;
655 pub const IPPROTO_MAX: u32 = 256;
656 pub const IPPROTO_DONE: u32 = 257;
657 pub const __DARWIN_IPPORT_RESERVED: u32 = 1024;
658 pub const IPPORT_RESERVED: u32 = 1024;
659 pub const IPPORT_USERRESERVED: u32 = 5000;
660 pub const IPPORT_HIFIRSTAUTO: u32 = 49152;
661 pub const IPPORT_HILASTAUTO: u32 = 65535;
662 pub const IPPORT_RESERVEDSTART: u32 = 600;
663 pub const IN_CLASSA_NET: u32 = 4278190080;
664 pub const IN_CLASSA_NSHIFT: u32 = 24;
665 pub const IN_CLASSA_HOST: u32 = 16777215;
666 pub const IN_CLASSA_MAX: u32 = 128;
667 pub const IN_CLASSB_NET: u32 = 4294901760;
668 pub const IN_CLASSB_NSHIFT: u32 = 16;
669 pub const IN_CLASSB_HOST: u32 = 65535;
670 pub const IN_CLASSB_MAX: u32 = 65536;
671 pub const IN_CLASSC_NET: u32 = 4294967040;
672 pub const IN_CLASSC_NSHIFT: u32 = 8;
673 pub const IN_CLASSC_HOST: u32 = 255;
674 pub const IN_CLASSD_NET: u32 = 4026531840;
675 pub const IN_CLASSD_NSHIFT: u32 = 28;
676 pub const IN_CLASSD_HOST: u32 = 268435455;
677 pub const INADDR_NONE: u32 = 4294967295;
678 pub const IN_LOOPBACKNET: u32 = 127;
679 pub const INET_ADDRSTRLEN: u32 = 16;
680 pub const IP_OPTIONS: u32 = 1;
681 pub const IP_HDRINCL: u32 = 2;
682 pub const IP_TOS: u32 = 3;
683 pub const IP_TTL: u32 = 4;
684 pub const IP_RECVOPTS: u32 = 5;
685 pub const IP_RECVRETOPTS: u32 = 6;
686 pub const IP_RECVDSTADDR: u32 = 7;
687 pub const IP_RETOPTS: u32 = 8;
688 pub const IP_MULTICAST_IF: u32 = 9;
689 pub const IP_MULTICAST_TTL: u32 = 10;
690 pub const IP_MULTICAST_LOOP: u32 = 11;
691 pub const IP_ADD_MEMBERSHIP: u32 = 12;
692 pub const IP_DROP_MEMBERSHIP: u32 = 13;
693 pub const IP_MULTICAST_VIF: u32 = 14;
694 pub const IP_RSVP_ON: u32 = 15;
695 pub const IP_RSVP_OFF: u32 = 16;
696 pub const IP_RSVP_VIF_ON: u32 = 17;
697 pub const IP_RSVP_VIF_OFF: u32 = 18;
698 pub const IP_PORTRANGE: u32 = 19;
699 pub const IP_RECVIF: u32 = 20;
700 pub const IP_IPSEC_POLICY: u32 = 21;
701 pub const IP_FAITH: u32 = 22;
702 pub const IP_STRIPHDR: u32 = 23;
703 pub const IP_RECVTTL: u32 = 24;
704 pub const IP_BOUND_IF: u32 = 25;
705 pub const IP_PKTINFO: u32 = 26;
706 pub const IP_RECVPKTINFO: u32 = 26;
707 pub const IP_RECVTOS: u32 = 27;
708 pub const IP_DONTFRAG: u32 = 28;
709 pub const IP_FW_ADD: u32 = 40;
710 pub const IP_FW_DEL: u32 = 41;
711 pub const IP_FW_FLUSH: u32 = 42;
712 pub const IP_FW_ZERO: u32 = 43;
713 pub const IP_FW_GET: u32 = 44;
714 pub const IP_FW_RESETLOG: u32 = 45;
715 pub const IP_OLD_FW_ADD: u32 = 50;
716 pub const IP_OLD_FW_DEL: u32 = 51;
717 pub const IP_OLD_FW_FLUSH: u32 = 52;
718 pub const IP_OLD_FW_ZERO: u32 = 53;
719 pub const IP_OLD_FW_GET: u32 = 54;
720 pub const IP_NAT__XXX: u32 = 55;
721 pub const IP_OLD_FW_RESETLOG: u32 = 56;
722 pub const IP_DUMMYNET_CONFIGURE: u32 = 60;
723 pub const IP_DUMMYNET_DEL: u32 = 61;
724 pub const IP_DUMMYNET_FLUSH: u32 = 62;
725 pub const IP_DUMMYNET_GET: u32 = 64;
726 pub const IP_TRAFFIC_MGT_BACKGROUND: u32 = 65;
727 pub const IP_MULTICAST_IFINDEX: u32 = 66;
728 pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 70;
729 pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 71;
730 pub const IP_BLOCK_SOURCE: u32 = 72;
731 pub const IP_UNBLOCK_SOURCE: u32 = 73;
732 pub const IP_MSFILTER: u32 = 74;
733 pub const MCAST_JOIN_GROUP: u32 = 80;
734 pub const MCAST_LEAVE_GROUP: u32 = 81;
735 pub const MCAST_JOIN_SOURCE_GROUP: u32 = 82;
736 pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 83;
737 pub const MCAST_BLOCK_SOURCE: u32 = 84;
738 pub const MCAST_UNBLOCK_SOURCE: u32 = 85;
739 pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1;
740 pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1;
741 pub const IP_MIN_MEMBERSHIPS: u32 = 31;
742 pub const IP_MAX_MEMBERSHIPS: u32 = 4095;
743 pub const IP_MAX_GROUP_SRC_FILTER: u32 = 512;
744 pub const IP_MAX_SOCK_SRC_FILTER: u32 = 128;
745 pub const IP_MAX_SOCK_MUTE_FILTER: u32 = 128;
746 pub const MCAST_UNDEFINED: u32 = 0;
747 pub const MCAST_INCLUDE: u32 = 1;
748 pub const MCAST_EXCLUDE: u32 = 2;
749 pub const IP_PORTRANGE_DEFAULT: u32 = 0;
750 pub const IP_PORTRANGE_HIGH: u32 = 1;
751 pub const IP_PORTRANGE_LOW: u32 = 2;
752 pub const IPPROTO_MAXID: u32 = 52;
753 pub const IPCTL_FORWARDING: u32 = 1;
754 pub const IPCTL_SENDREDIRECTS: u32 = 2;
755 pub const IPCTL_DEFTTL: u32 = 3;
756 pub const IPCTL_RTEXPIRE: u32 = 5;
757 pub const IPCTL_RTMINEXPIRE: u32 = 6;
758 pub const IPCTL_RTMAXCACHE: u32 = 7;
759 pub const IPCTL_SOURCEROUTE: u32 = 8;
760 pub const IPCTL_DIRECTEDBROADCAST: u32 = 9;
761 pub const IPCTL_INTRQMAXLEN: u32 = 10;
762 pub const IPCTL_INTRQDROPS: u32 = 11;
763 pub const IPCTL_STATS: u32 = 12;
764 pub const IPCTL_ACCEPTSOURCEROUTE: u32 = 13;
765 pub const IPCTL_FASTFORWARDING: u32 = 14;
766 pub const IPCTL_KEEPFAITH: u32 = 15;
767 pub const IPCTL_GIF_TTL: u32 = 16;
768 pub const IPCTL_MAXID: u32 = 17;
769 pub const __KAME_VERSION: &[u8; 18] = b"2009/apple-darwin\0";
770 pub const IPV6PORT_RESERVED: u32 = 1024;
771 pub const IPV6PORT_ANONMIN: u32 = 49152;
772 pub const IPV6PORT_ANONMAX: u32 = 65535;
773 pub const IPV6PORT_RESERVEDMIN: u32 = 600;
774 pub const IPV6PORT_RESERVEDMAX: u32 = 1023;
775 pub const INET6_ADDRSTRLEN: u32 = 46;
776 pub const __IPV6_ADDR_SCOPE_NODELOCAL: u32 = 1;
777 pub const __IPV6_ADDR_SCOPE_INTFACELOCAL: u32 = 1;
778 pub const __IPV6_ADDR_SCOPE_LINKLOCAL: u32 = 2;
779 pub const __IPV6_ADDR_SCOPE_SITELOCAL: u32 = 5;
780 pub const __IPV6_ADDR_SCOPE_ORGLOCAL: u32 = 8;
781 pub const __IPV6_ADDR_SCOPE_GLOBAL: u32 = 14;
782 pub const IPV6_ADDR_MC_FLAGS_TRANSIENT: u32 = 16;
783 pub const IPV6_ADDR_MC_FLAGS_PREFIX: u32 = 32;
784 pub const IPV6_ADDR_MC_FLAGS_UNICAST_BASED: u32 = 48;
785 pub const IPV6_SOCKOPT_RESERVED1: u32 = 3;
786 pub const IPV6_UNICAST_HOPS: u32 = 4;
787 pub const IPV6_MULTICAST_IF: u32 = 9;
788 pub const IPV6_MULTICAST_HOPS: u32 = 10;
789 pub const IPV6_MULTICAST_LOOP: u32 = 11;
790 pub const IPV6_JOIN_GROUP: u32 = 12;
791 pub const IPV6_LEAVE_GROUP: u32 = 13;
792 pub const IPV6_PORTRANGE: u32 = 14;
793 pub const ICMP6_FILTER: u32 = 18;
794 pub const IPV6_2292PKTINFO: u32 = 19;
795 pub const IPV6_2292HOPLIMIT: u32 = 20;
796 pub const IPV6_2292NEXTHOP: u32 = 21;
797 pub const IPV6_2292HOPOPTS: u32 = 22;
798 pub const IPV6_2292DSTOPTS: u32 = 23;
799 pub const IPV6_2292RTHDR: u32 = 24;
800 pub const IPV6_2292PKTOPTIONS: u32 = 25;
801 pub const IPV6_CHECKSUM: u32 = 26;
802 pub const IPV6_V6ONLY: u32 = 27;
803 pub const IPV6_BINDV6ONLY: u32 = 27;
804 pub const IPV6_IPSEC_POLICY: u32 = 28;
805 pub const IPV6_FAITH: u32 = 29;
806 pub const IPV6_FW_ADD: u32 = 30;
807 pub const IPV6_FW_DEL: u32 = 31;
808 pub const IPV6_FW_FLUSH: u32 = 32;
809 pub const IPV6_FW_ZERO: u32 = 33;
810 pub const IPV6_FW_GET: u32 = 34;
811 pub const IPV6_RECVTCLASS: u32 = 35;
812 pub const IPV6_TCLASS: u32 = 36;
813 pub const IPV6_BOUND_IF: u32 = 125;
814 pub const IPV6_RTHDR_LOOSE: u32 = 0;
815 pub const IPV6_RTHDR_STRICT: u32 = 1;
816 pub const IPV6_RTHDR_TYPE_0: u32 = 0;
817 pub const IPV6_DEFAULT_MULTICAST_HOPS: u32 = 1;
818 pub const IPV6_DEFAULT_MULTICAST_LOOP: u32 = 1;
819 pub const IPV6_MIN_MEMBERSHIPS: u32 = 31;
820 pub const IPV6_MAX_MEMBERSHIPS: u32 = 4095;
821 pub const IPV6_MAX_GROUP_SRC_FILTER: u32 = 512;
822 pub const IPV6_MAX_SOCK_SRC_FILTER: u32 = 128;
823 pub const IPV6_PORTRANGE_DEFAULT: u32 = 0;
824 pub const IPV6_PORTRANGE_HIGH: u32 = 1;
825 pub const IPV6_PORTRANGE_LOW: u32 = 2;
826 pub const IPV6PROTO_MAXID: u32 = 104;
827 pub const IPV6CTL_FORWARDING: u32 = 1;
828 pub const IPV6CTL_SENDREDIRECTS: u32 = 2;
829 pub const IPV6CTL_DEFHLIM: u32 = 3;
830 pub const IPV6CTL_FORWSRCRT: u32 = 5;
831 pub const IPV6CTL_STATS: u32 = 6;
832 pub const IPV6CTL_MRTSTATS: u32 = 7;
833 pub const IPV6CTL_MRTPROTO: u32 = 8;
834 pub const IPV6CTL_MAXFRAGPACKETS: u32 = 9;
835 pub const IPV6CTL_SOURCECHECK: u32 = 10;
836 pub const IPV6CTL_SOURCECHECK_LOGINT: u32 = 11;
837 pub const IPV6CTL_ACCEPT_RTADV: u32 = 12;
838 pub const IPV6CTL_KEEPFAITH: u32 = 13;
839 pub const IPV6CTL_LOG_INTERVAL: u32 = 14;
840 pub const IPV6CTL_HDRNESTLIMIT: u32 = 15;
841 pub const IPV6CTL_DAD_COUNT: u32 = 16;
842 pub const IPV6CTL_AUTO_FLOWLABEL: u32 = 17;
843 pub const IPV6CTL_DEFMCASTHLIM: u32 = 18;
844 pub const IPV6CTL_GIF_HLIM: u32 = 19;
845 pub const IPV6CTL_KAME_VERSION: u32 = 20;
846 pub const IPV6CTL_USE_DEPRECATED: u32 = 21;
847 pub const IPV6CTL_RR_PRUNE: u32 = 22;
848 pub const IPV6CTL_V6ONLY: u32 = 24;
849 pub const IPV6CTL_RTEXPIRE: u32 = 25;
850 pub const IPV6CTL_RTMINEXPIRE: u32 = 26;
851 pub const IPV6CTL_RTMAXCACHE: u32 = 27;
852 pub const IPV6CTL_USETEMPADDR: u32 = 32;
853 pub const IPV6CTL_TEMPPLTIME: u32 = 33;
854 pub const IPV6CTL_TEMPVLTIME: u32 = 34;
855 pub const IPV6CTL_AUTO_LINKLOCAL: u32 = 35;
856 pub const IPV6CTL_RIP6STATS: u32 = 36;
857 pub const IPV6CTL_PREFER_TEMPADDR: u32 = 37;
858 pub const IPV6CTL_ADDRCTLPOLICY: u32 = 38;
859 pub const IPV6CTL_USE_DEFAULTZONE: u32 = 39;
860 pub const IPV6CTL_MAXFRAGS: u32 = 41;
861 pub const IPV6CTL_MCAST_PMTU: u32 = 44;
862 pub const IPV6CTL_NEIGHBORGCTHRESH: u32 = 46;
863 pub const IPV6CTL_MAXIFPREFIXES: u32 = 47;
864 pub const IPV6CTL_MAXIFDEFROUTERS: u32 = 48;
865 pub const IPV6CTL_MAXDYNROUTES: u32 = 49;
866 pub const ICMPV6CTL_ND6_ONLINKNSRFC4861: u32 = 50;
867 pub const IPV6CTL_ULA_USETEMPADDR: u32 = 51;
868 pub const IPV6CTL_MAXID: u32 = 51;
869 pub const SLIRP_VERSION_STRING: &[u8; 6] = b"4.7.0\0";
870 pub const SLIRP_CONFIG_VERSION_MIN: u32 = 1;
871 pub const SLIRP_CONFIG_VERSION_MAX: u32 = 5;
872 pub const SLIRP_MAX_DNS_SERVERS: u32 = 4;
873 pub const SLIRP_HOSTFWD_UDP: u32 = 1;
874 pub const SLIRP_HOSTFWD_V6ONLY: u32 = 2;
875 pub type int_least8_t = i8;
876 pub type int_least16_t = i16;
877 pub type int_least32_t = i32;
878 pub type int_least64_t = i64;
879 pub type uint_least8_t = u8;
880 pub type uint_least16_t = u16;
881 pub type uint_least32_t = u32;
882 pub type uint_least64_t = u64;
883 pub type int_fast8_t = i8;
884 pub type int_fast16_t = i16;
885 pub type int_fast32_t = i32;
886 pub type int_fast64_t = i64;
887 pub type uint_fast8_t = u8;
888 pub type uint_fast16_t = u16;
889 pub type uint_fast32_t = u32;
890 pub type uint_fast64_t = u64;
891 pub type __int8_t = ::std::os::raw::c_schar;
892 pub type __uint8_t = ::std::os::raw::c_uchar;
893 pub type __int16_t = ::std::os::raw::c_short;
894 pub type __uint16_t = ::std::os::raw::c_ushort;
895 pub type __int32_t = ::std::os::raw::c_int;
896 pub type __uint32_t = ::std::os::raw::c_uint;
897 pub type __int64_t = ::std::os::raw::c_longlong;
898 pub type __uint64_t = ::std::os::raw::c_ulonglong;
899 pub type __darwin_intptr_t = ::std::os::raw::c_long;
900 pub type __darwin_natural_t = ::std::os::raw::c_uint;
901 pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
902 #[repr(C)]
903 #[derive(Copy, Clone)]
904 pub union __mbstate_t {
905     pub __mbstate8: [::std::os::raw::c_char; 128usize],
906     pub _mbstateL: ::std::os::raw::c_longlong,
907 }
908 #[test]
bindgen_test_layout___mbstate_t()909 fn bindgen_test_layout___mbstate_t() {
910     const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
911     let ptr = UNINIT.as_ptr();
912     assert_eq!(
913         ::std::mem::size_of::<__mbstate_t>(),
914         128usize,
915         concat!("Size of: ", stringify!(__mbstate_t))
916     );
917     assert_eq!(
918         ::std::mem::align_of::<__mbstate_t>(),
919         8usize,
920         concat!("Alignment of ", stringify!(__mbstate_t))
921     );
922     assert_eq!(
923         unsafe { ::std::ptr::addr_of!((*ptr).__mbstate8) as usize - ptr as usize },
924         0usize,
925         concat!("Offset of field: ", stringify!(__mbstate_t), "::", stringify!(__mbstate8))
926     );
927     assert_eq!(
928         unsafe { ::std::ptr::addr_of!((*ptr)._mbstateL) as usize - ptr as usize },
929         0usize,
930         concat!("Offset of field: ", stringify!(__mbstate_t), "::", stringify!(_mbstateL))
931     );
932 }
933 pub type __darwin_mbstate_t = __mbstate_t;
934 pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
935 pub type __darwin_size_t = ::std::os::raw::c_ulong;
936 pub type __darwin_va_list = __builtin_va_list;
937 pub type __darwin_wchar_t = ::std::os::raw::c_int;
938 pub type __darwin_rune_t = __darwin_wchar_t;
939 pub type __darwin_wint_t = ::std::os::raw::c_int;
940 pub type __darwin_clock_t = ::std::os::raw::c_ulong;
941 pub type __darwin_socklen_t = __uint32_t;
942 pub type __darwin_ssize_t = ::std::os::raw::c_long;
943 pub type __darwin_time_t = ::std::os::raw::c_long;
944 pub type __darwin_blkcnt_t = __int64_t;
945 pub type __darwin_blksize_t = __int32_t;
946 pub type __darwin_dev_t = __int32_t;
947 pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
948 pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
949 pub type __darwin_gid_t = __uint32_t;
950 pub type __darwin_id_t = __uint32_t;
951 pub type __darwin_ino64_t = __uint64_t;
952 pub type __darwin_ino_t = __darwin_ino64_t;
953 pub type __darwin_mach_port_name_t = __darwin_natural_t;
954 pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
955 pub type __darwin_mode_t = __uint16_t;
956 pub type __darwin_off_t = __int64_t;
957 pub type __darwin_pid_t = __int32_t;
958 pub type __darwin_sigset_t = __uint32_t;
959 pub type __darwin_suseconds_t = __int32_t;
960 pub type __darwin_uid_t = __uint32_t;
961 pub type __darwin_useconds_t = __uint32_t;
962 pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
963 pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
964 #[repr(C)]
965 #[derive(Debug, Copy, Clone)]
966 pub struct __darwin_pthread_handler_rec {
967     pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
968     pub __arg: *mut ::std::os::raw::c_void,
969     pub __next: *mut __darwin_pthread_handler_rec,
970 }
971 #[test]
bindgen_test_layout___darwin_pthread_handler_rec()972 fn bindgen_test_layout___darwin_pthread_handler_rec() {
973     const UNINIT: ::std::mem::MaybeUninit<__darwin_pthread_handler_rec> =
974         ::std::mem::MaybeUninit::uninit();
975     let ptr = UNINIT.as_ptr();
976     assert_eq!(
977         ::std::mem::size_of::<__darwin_pthread_handler_rec>(),
978         24usize,
979         concat!("Size of: ", stringify!(__darwin_pthread_handler_rec))
980     );
981     assert_eq!(
982         ::std::mem::align_of::<__darwin_pthread_handler_rec>(),
983         8usize,
984         concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec))
985     );
986     assert_eq!(
987         unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
988         0usize,
989         concat!(
990             "Offset of field: ",
991             stringify!(__darwin_pthread_handler_rec),
992             "::",
993             stringify!(__routine)
994         )
995     );
996     assert_eq!(
997         unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
998         8usize,
999         concat!(
1000             "Offset of field: ",
1001             stringify!(__darwin_pthread_handler_rec),
1002             "::",
1003             stringify!(__arg)
1004         )
1005     );
1006     assert_eq!(
1007         unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
1008         16usize,
1009         concat!(
1010             "Offset of field: ",
1011             stringify!(__darwin_pthread_handler_rec),
1012             "::",
1013             stringify!(__next)
1014         )
1015     );
1016 }
1017 #[repr(C)]
1018 #[derive(Debug, Copy, Clone)]
1019 pub struct _opaque_pthread_attr_t {
1020     pub __sig: ::std::os::raw::c_long,
1021     pub __opaque: [::std::os::raw::c_char; 56usize],
1022 }
1023 #[test]
bindgen_test_layout__opaque_pthread_attr_t()1024 fn bindgen_test_layout__opaque_pthread_attr_t() {
1025     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_attr_t> =
1026         ::std::mem::MaybeUninit::uninit();
1027     let ptr = UNINIT.as_ptr();
1028     assert_eq!(
1029         ::std::mem::size_of::<_opaque_pthread_attr_t>(),
1030         64usize,
1031         concat!("Size of: ", stringify!(_opaque_pthread_attr_t))
1032     );
1033     assert_eq!(
1034         ::std::mem::align_of::<_opaque_pthread_attr_t>(),
1035         8usize,
1036         concat!("Alignment of ", stringify!(_opaque_pthread_attr_t))
1037     );
1038     assert_eq!(
1039         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1040         0usize,
1041         concat!("Offset of field: ", stringify!(_opaque_pthread_attr_t), "::", stringify!(__sig))
1042     );
1043     assert_eq!(
1044         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1045         8usize,
1046         concat!(
1047             "Offset of field: ",
1048             stringify!(_opaque_pthread_attr_t),
1049             "::",
1050             stringify!(__opaque)
1051         )
1052     );
1053 }
1054 #[repr(C)]
1055 #[derive(Debug, Copy, Clone)]
1056 pub struct _opaque_pthread_cond_t {
1057     pub __sig: ::std::os::raw::c_long,
1058     pub __opaque: [::std::os::raw::c_char; 40usize],
1059 }
1060 #[test]
bindgen_test_layout__opaque_pthread_cond_t()1061 fn bindgen_test_layout__opaque_pthread_cond_t() {
1062     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_cond_t> =
1063         ::std::mem::MaybeUninit::uninit();
1064     let ptr = UNINIT.as_ptr();
1065     assert_eq!(
1066         ::std::mem::size_of::<_opaque_pthread_cond_t>(),
1067         48usize,
1068         concat!("Size of: ", stringify!(_opaque_pthread_cond_t))
1069     );
1070     assert_eq!(
1071         ::std::mem::align_of::<_opaque_pthread_cond_t>(),
1072         8usize,
1073         concat!("Alignment of ", stringify!(_opaque_pthread_cond_t))
1074     );
1075     assert_eq!(
1076         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1077         0usize,
1078         concat!("Offset of field: ", stringify!(_opaque_pthread_cond_t), "::", stringify!(__sig))
1079     );
1080     assert_eq!(
1081         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1082         8usize,
1083         concat!(
1084             "Offset of field: ",
1085             stringify!(_opaque_pthread_cond_t),
1086             "::",
1087             stringify!(__opaque)
1088         )
1089     );
1090 }
1091 #[repr(C)]
1092 #[derive(Debug, Copy, Clone)]
1093 pub struct _opaque_pthread_condattr_t {
1094     pub __sig: ::std::os::raw::c_long,
1095     pub __opaque: [::std::os::raw::c_char; 8usize],
1096 }
1097 #[test]
bindgen_test_layout__opaque_pthread_condattr_t()1098 fn bindgen_test_layout__opaque_pthread_condattr_t() {
1099     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_condattr_t> =
1100         ::std::mem::MaybeUninit::uninit();
1101     let ptr = UNINIT.as_ptr();
1102     assert_eq!(
1103         ::std::mem::size_of::<_opaque_pthread_condattr_t>(),
1104         16usize,
1105         concat!("Size of: ", stringify!(_opaque_pthread_condattr_t))
1106     );
1107     assert_eq!(
1108         ::std::mem::align_of::<_opaque_pthread_condattr_t>(),
1109         8usize,
1110         concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t))
1111     );
1112     assert_eq!(
1113         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1114         0usize,
1115         concat!(
1116             "Offset of field: ",
1117             stringify!(_opaque_pthread_condattr_t),
1118             "::",
1119             stringify!(__sig)
1120         )
1121     );
1122     assert_eq!(
1123         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1124         8usize,
1125         concat!(
1126             "Offset of field: ",
1127             stringify!(_opaque_pthread_condattr_t),
1128             "::",
1129             stringify!(__opaque)
1130         )
1131     );
1132 }
1133 #[repr(C)]
1134 #[derive(Debug, Copy, Clone)]
1135 pub struct _opaque_pthread_mutex_t {
1136     pub __sig: ::std::os::raw::c_long,
1137     pub __opaque: [::std::os::raw::c_char; 56usize],
1138 }
1139 #[test]
bindgen_test_layout__opaque_pthread_mutex_t()1140 fn bindgen_test_layout__opaque_pthread_mutex_t() {
1141     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutex_t> =
1142         ::std::mem::MaybeUninit::uninit();
1143     let ptr = UNINIT.as_ptr();
1144     assert_eq!(
1145         ::std::mem::size_of::<_opaque_pthread_mutex_t>(),
1146         64usize,
1147         concat!("Size of: ", stringify!(_opaque_pthread_mutex_t))
1148     );
1149     assert_eq!(
1150         ::std::mem::align_of::<_opaque_pthread_mutex_t>(),
1151         8usize,
1152         concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t))
1153     );
1154     assert_eq!(
1155         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1156         0usize,
1157         concat!("Offset of field: ", stringify!(_opaque_pthread_mutex_t), "::", stringify!(__sig))
1158     );
1159     assert_eq!(
1160         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1161         8usize,
1162         concat!(
1163             "Offset of field: ",
1164             stringify!(_opaque_pthread_mutex_t),
1165             "::",
1166             stringify!(__opaque)
1167         )
1168     );
1169 }
1170 #[repr(C)]
1171 #[derive(Debug, Copy, Clone)]
1172 pub struct _opaque_pthread_mutexattr_t {
1173     pub __sig: ::std::os::raw::c_long,
1174     pub __opaque: [::std::os::raw::c_char; 8usize],
1175 }
1176 #[test]
bindgen_test_layout__opaque_pthread_mutexattr_t()1177 fn bindgen_test_layout__opaque_pthread_mutexattr_t() {
1178     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_mutexattr_t> =
1179         ::std::mem::MaybeUninit::uninit();
1180     let ptr = UNINIT.as_ptr();
1181     assert_eq!(
1182         ::std::mem::size_of::<_opaque_pthread_mutexattr_t>(),
1183         16usize,
1184         concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t))
1185     );
1186     assert_eq!(
1187         ::std::mem::align_of::<_opaque_pthread_mutexattr_t>(),
1188         8usize,
1189         concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t))
1190     );
1191     assert_eq!(
1192         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1193         0usize,
1194         concat!(
1195             "Offset of field: ",
1196             stringify!(_opaque_pthread_mutexattr_t),
1197             "::",
1198             stringify!(__sig)
1199         )
1200     );
1201     assert_eq!(
1202         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1203         8usize,
1204         concat!(
1205             "Offset of field: ",
1206             stringify!(_opaque_pthread_mutexattr_t),
1207             "::",
1208             stringify!(__opaque)
1209         )
1210     );
1211 }
1212 #[repr(C)]
1213 #[derive(Debug, Copy, Clone)]
1214 pub struct _opaque_pthread_once_t {
1215     pub __sig: ::std::os::raw::c_long,
1216     pub __opaque: [::std::os::raw::c_char; 8usize],
1217 }
1218 #[test]
bindgen_test_layout__opaque_pthread_once_t()1219 fn bindgen_test_layout__opaque_pthread_once_t() {
1220     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_once_t> =
1221         ::std::mem::MaybeUninit::uninit();
1222     let ptr = UNINIT.as_ptr();
1223     assert_eq!(
1224         ::std::mem::size_of::<_opaque_pthread_once_t>(),
1225         16usize,
1226         concat!("Size of: ", stringify!(_opaque_pthread_once_t))
1227     );
1228     assert_eq!(
1229         ::std::mem::align_of::<_opaque_pthread_once_t>(),
1230         8usize,
1231         concat!("Alignment of ", stringify!(_opaque_pthread_once_t))
1232     );
1233     assert_eq!(
1234         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1235         0usize,
1236         concat!("Offset of field: ", stringify!(_opaque_pthread_once_t), "::", stringify!(__sig))
1237     );
1238     assert_eq!(
1239         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1240         8usize,
1241         concat!(
1242             "Offset of field: ",
1243             stringify!(_opaque_pthread_once_t),
1244             "::",
1245             stringify!(__opaque)
1246         )
1247     );
1248 }
1249 #[repr(C)]
1250 #[derive(Debug, Copy, Clone)]
1251 pub struct _opaque_pthread_rwlock_t {
1252     pub __sig: ::std::os::raw::c_long,
1253     pub __opaque: [::std::os::raw::c_char; 192usize],
1254 }
1255 #[test]
bindgen_test_layout__opaque_pthread_rwlock_t()1256 fn bindgen_test_layout__opaque_pthread_rwlock_t() {
1257     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlock_t> =
1258         ::std::mem::MaybeUninit::uninit();
1259     let ptr = UNINIT.as_ptr();
1260     assert_eq!(
1261         ::std::mem::size_of::<_opaque_pthread_rwlock_t>(),
1262         200usize,
1263         concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t))
1264     );
1265     assert_eq!(
1266         ::std::mem::align_of::<_opaque_pthread_rwlock_t>(),
1267         8usize,
1268         concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t))
1269     );
1270     assert_eq!(
1271         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1272         0usize,
1273         concat!("Offset of field: ", stringify!(_opaque_pthread_rwlock_t), "::", stringify!(__sig))
1274     );
1275     assert_eq!(
1276         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1277         8usize,
1278         concat!(
1279             "Offset of field: ",
1280             stringify!(_opaque_pthread_rwlock_t),
1281             "::",
1282             stringify!(__opaque)
1283         )
1284     );
1285 }
1286 #[repr(C)]
1287 #[derive(Debug, Copy, Clone)]
1288 pub struct _opaque_pthread_rwlockattr_t {
1289     pub __sig: ::std::os::raw::c_long,
1290     pub __opaque: [::std::os::raw::c_char; 16usize],
1291 }
1292 #[test]
bindgen_test_layout__opaque_pthread_rwlockattr_t()1293 fn bindgen_test_layout__opaque_pthread_rwlockattr_t() {
1294     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_rwlockattr_t> =
1295         ::std::mem::MaybeUninit::uninit();
1296     let ptr = UNINIT.as_ptr();
1297     assert_eq!(
1298         ::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(),
1299         24usize,
1300         concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t))
1301     );
1302     assert_eq!(
1303         ::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(),
1304         8usize,
1305         concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t))
1306     );
1307     assert_eq!(
1308         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1309         0usize,
1310         concat!(
1311             "Offset of field: ",
1312             stringify!(_opaque_pthread_rwlockattr_t),
1313             "::",
1314             stringify!(__sig)
1315         )
1316     );
1317     assert_eq!(
1318         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1319         8usize,
1320         concat!(
1321             "Offset of field: ",
1322             stringify!(_opaque_pthread_rwlockattr_t),
1323             "::",
1324             stringify!(__opaque)
1325         )
1326     );
1327 }
1328 #[repr(C)]
1329 #[derive(Debug, Copy, Clone)]
1330 pub struct _opaque_pthread_t {
1331     pub __sig: ::std::os::raw::c_long,
1332     pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
1333     pub __opaque: [::std::os::raw::c_char; 8176usize],
1334 }
1335 #[test]
bindgen_test_layout__opaque_pthread_t()1336 fn bindgen_test_layout__opaque_pthread_t() {
1337     const UNINIT: ::std::mem::MaybeUninit<_opaque_pthread_t> = ::std::mem::MaybeUninit::uninit();
1338     let ptr = UNINIT.as_ptr();
1339     assert_eq!(
1340         ::std::mem::size_of::<_opaque_pthread_t>(),
1341         8192usize,
1342         concat!("Size of: ", stringify!(_opaque_pthread_t))
1343     );
1344     assert_eq!(
1345         ::std::mem::align_of::<_opaque_pthread_t>(),
1346         8usize,
1347         concat!("Alignment of ", stringify!(_opaque_pthread_t))
1348     );
1349     assert_eq!(
1350         unsafe { ::std::ptr::addr_of!((*ptr).__sig) as usize - ptr as usize },
1351         0usize,
1352         concat!("Offset of field: ", stringify!(_opaque_pthread_t), "::", stringify!(__sig))
1353     );
1354     assert_eq!(
1355         unsafe { ::std::ptr::addr_of!((*ptr).__cleanup_stack) as usize - ptr as usize },
1356         8usize,
1357         concat!(
1358             "Offset of field: ",
1359             stringify!(_opaque_pthread_t),
1360             "::",
1361             stringify!(__cleanup_stack)
1362         )
1363     );
1364     assert_eq!(
1365         unsafe { ::std::ptr::addr_of!((*ptr).__opaque) as usize - ptr as usize },
1366         16usize,
1367         concat!("Offset of field: ", stringify!(_opaque_pthread_t), "::", stringify!(__opaque))
1368     );
1369 }
1370 pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
1371 pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
1372 pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
1373 pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
1374 pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
1375 pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
1376 pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
1377 pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
1378 pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
1379 pub type __darwin_pthread_t = *mut _opaque_pthread_t;
1380 pub type u_int8_t = ::std::os::raw::c_uchar;
1381 pub type u_int16_t = ::std::os::raw::c_ushort;
1382 pub type u_int32_t = ::std::os::raw::c_uint;
1383 pub type u_int64_t = ::std::os::raw::c_ulonglong;
1384 pub type register_t = i64;
1385 pub type user_addr_t = u_int64_t;
1386 pub type user_size_t = u_int64_t;
1387 pub type user_ssize_t = i64;
1388 pub type user_long_t = i64;
1389 pub type user_ulong_t = u_int64_t;
1390 pub type user_time_t = i64;
1391 pub type user_off_t = i64;
1392 pub type syscall_arg_t = u_int64_t;
1393 pub type intmax_t = ::std::os::raw::c_long;
1394 pub type uintmax_t = ::std::os::raw::c_ulong;
1395 #[repr(C, packed)]
1396 #[derive(Debug, Copy, Clone)]
1397 pub struct _OSUnalignedU16 {
1398     pub __val: u16,
1399 }
1400 #[test]
bindgen_test_layout__OSUnalignedU16()1401 fn bindgen_test_layout__OSUnalignedU16() {
1402     const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU16> = ::std::mem::MaybeUninit::uninit();
1403     let ptr = UNINIT.as_ptr();
1404     assert_eq!(
1405         ::std::mem::size_of::<_OSUnalignedU16>(),
1406         2usize,
1407         concat!("Size of: ", stringify!(_OSUnalignedU16))
1408     );
1409     assert_eq!(
1410         ::std::mem::align_of::<_OSUnalignedU16>(),
1411         1usize,
1412         concat!("Alignment of ", stringify!(_OSUnalignedU16))
1413     );
1414     assert_eq!(
1415         unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
1416         0usize,
1417         concat!("Offset of field: ", stringify!(_OSUnalignedU16), "::", stringify!(__val))
1418     );
1419 }
1420 #[repr(C, packed)]
1421 #[derive(Debug, Copy, Clone)]
1422 pub struct _OSUnalignedU32 {
1423     pub __val: u32,
1424 }
1425 #[test]
bindgen_test_layout__OSUnalignedU32()1426 fn bindgen_test_layout__OSUnalignedU32() {
1427     const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU32> = ::std::mem::MaybeUninit::uninit();
1428     let ptr = UNINIT.as_ptr();
1429     assert_eq!(
1430         ::std::mem::size_of::<_OSUnalignedU32>(),
1431         4usize,
1432         concat!("Size of: ", stringify!(_OSUnalignedU32))
1433     );
1434     assert_eq!(
1435         ::std::mem::align_of::<_OSUnalignedU32>(),
1436         1usize,
1437         concat!("Alignment of ", stringify!(_OSUnalignedU32))
1438     );
1439     assert_eq!(
1440         unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
1441         0usize,
1442         concat!("Offset of field: ", stringify!(_OSUnalignedU32), "::", stringify!(__val))
1443     );
1444 }
1445 #[repr(C, packed)]
1446 #[derive(Debug, Copy, Clone)]
1447 pub struct _OSUnalignedU64 {
1448     pub __val: u64,
1449 }
1450 #[test]
bindgen_test_layout__OSUnalignedU64()1451 fn bindgen_test_layout__OSUnalignedU64() {
1452     const UNINIT: ::std::mem::MaybeUninit<_OSUnalignedU64> = ::std::mem::MaybeUninit::uninit();
1453     let ptr = UNINIT.as_ptr();
1454     assert_eq!(
1455         ::std::mem::size_of::<_OSUnalignedU64>(),
1456         8usize,
1457         concat!("Size of: ", stringify!(_OSUnalignedU64))
1458     );
1459     assert_eq!(
1460         ::std::mem::align_of::<_OSUnalignedU64>(),
1461         1usize,
1462         concat!("Alignment of ", stringify!(_OSUnalignedU64))
1463     );
1464     assert_eq!(
1465         unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
1466         0usize,
1467         concat!("Offset of field: ", stringify!(_OSUnalignedU64), "::", stringify!(__val))
1468     );
1469 }
1470 pub type u_char = ::std::os::raw::c_uchar;
1471 pub type u_short = ::std::os::raw::c_ushort;
1472 pub type u_int = ::std::os::raw::c_uint;
1473 pub type u_long = ::std::os::raw::c_ulong;
1474 pub type ushort = ::std::os::raw::c_ushort;
1475 pub type uint = ::std::os::raw::c_uint;
1476 pub type u_quad_t = u_int64_t;
1477 pub type quad_t = i64;
1478 pub type qaddr_t = *mut quad_t;
1479 pub type caddr_t = *mut ::std::os::raw::c_char;
1480 pub type daddr_t = i32;
1481 pub type dev_t = __darwin_dev_t;
1482 pub type fixpt_t = u_int32_t;
1483 pub type blkcnt_t = __darwin_blkcnt_t;
1484 pub type blksize_t = __darwin_blksize_t;
1485 pub type gid_t = __darwin_gid_t;
1486 pub type in_addr_t = __uint32_t;
1487 pub type in_port_t = __uint16_t;
1488 pub type ino_t = __darwin_ino_t;
1489 pub type ino64_t = __darwin_ino64_t;
1490 pub type key_t = __int32_t;
1491 pub type mode_t = __darwin_mode_t;
1492 pub type nlink_t = __uint16_t;
1493 pub type id_t = __darwin_id_t;
1494 pub type pid_t = __darwin_pid_t;
1495 pub type off_t = __darwin_off_t;
1496 pub type segsz_t = i32;
1497 pub type swblk_t = i32;
1498 pub type uid_t = __darwin_uid_t;
1499 pub type clock_t = __darwin_clock_t;
1500 pub type time_t = __darwin_time_t;
1501 pub type useconds_t = __darwin_useconds_t;
1502 pub type suseconds_t = __darwin_suseconds_t;
1503 pub type rsize_t = __darwin_size_t;
1504 pub type errno_t = ::std::os::raw::c_int;
1505 #[repr(C)]
1506 #[derive(Debug, Copy, Clone)]
1507 pub struct fd_set {
1508     pub fds_bits: [__int32_t; 32usize],
1509 }
1510 #[test]
bindgen_test_layout_fd_set()1511 fn bindgen_test_layout_fd_set() {
1512     const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
1513     let ptr = UNINIT.as_ptr();
1514     assert_eq!(::std::mem::size_of::<fd_set>(), 128usize, concat!("Size of: ", stringify!(fd_set)));
1515     assert_eq!(
1516         ::std::mem::align_of::<fd_set>(),
1517         4usize,
1518         concat!("Alignment of ", stringify!(fd_set))
1519     );
1520     assert_eq!(
1521         unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1522         0usize,
1523         concat!("Offset of field: ", stringify!(fd_set), "::", stringify!(fds_bits))
1524     );
1525 }
1526 extern "C" {
__darwin_check_fd_set_overflow( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int1527     pub fn __darwin_check_fd_set_overflow(
1528         arg1: ::std::os::raw::c_int,
1529         arg2: *const ::std::os::raw::c_void,
1530         arg3: ::std::os::raw::c_int,
1531     ) -> ::std::os::raw::c_int;
1532 }
1533 pub type fd_mask = __int32_t;
1534 pub type pthread_attr_t = __darwin_pthread_attr_t;
1535 pub type pthread_cond_t = __darwin_pthread_cond_t;
1536 pub type pthread_condattr_t = __darwin_pthread_condattr_t;
1537 pub type pthread_mutex_t = __darwin_pthread_mutex_t;
1538 pub type pthread_mutexattr_t = __darwin_pthread_mutexattr_t;
1539 pub type pthread_once_t = __darwin_pthread_once_t;
1540 pub type pthread_rwlock_t = __darwin_pthread_rwlock_t;
1541 pub type pthread_rwlockattr_t = __darwin_pthread_rwlockattr_t;
1542 pub type pthread_t = __darwin_pthread_t;
1543 pub type pthread_key_t = __darwin_pthread_key_t;
1544 pub type fsblkcnt_t = __darwin_fsblkcnt_t;
1545 pub type fsfilcnt_t = __darwin_fsfilcnt_t;
1546 pub type slirp_ssize_t = isize;
1547 pub type sa_family_t = __uint8_t;
1548 pub type socklen_t = __darwin_socklen_t;
1549 #[repr(C)]
1550 #[derive(Debug, Copy, Clone)]
1551 pub struct iovec {
1552     pub iov_base: *mut ::std::os::raw::c_void,
1553     pub iov_len: usize,
1554 }
1555 #[test]
bindgen_test_layout_iovec()1556 fn bindgen_test_layout_iovec() {
1557     const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
1558     let ptr = UNINIT.as_ptr();
1559     assert_eq!(::std::mem::size_of::<iovec>(), 16usize, concat!("Size of: ", stringify!(iovec)));
1560     assert_eq!(
1561         ::std::mem::align_of::<iovec>(),
1562         8usize,
1563         concat!("Alignment of ", stringify!(iovec))
1564     );
1565     assert_eq!(
1566         unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
1567         0usize,
1568         concat!("Offset of field: ", stringify!(iovec), "::", stringify!(iov_base))
1569     );
1570     assert_eq!(
1571         unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
1572         8usize,
1573         concat!("Offset of field: ", stringify!(iovec), "::", stringify!(iov_len))
1574     );
1575 }
1576 pub type sae_associd_t = __uint32_t;
1577 pub type sae_connid_t = __uint32_t;
1578 #[repr(C)]
1579 #[derive(Debug, Copy, Clone)]
1580 pub struct sa_endpoints {
1581     pub sae_srcif: ::std::os::raw::c_uint,
1582     pub sae_srcaddr: *const sockaddr,
1583     pub sae_srcaddrlen: socklen_t,
1584     pub sae_dstaddr: *const sockaddr,
1585     pub sae_dstaddrlen: socklen_t,
1586 }
1587 #[test]
bindgen_test_layout_sa_endpoints()1588 fn bindgen_test_layout_sa_endpoints() {
1589     const UNINIT: ::std::mem::MaybeUninit<sa_endpoints> = ::std::mem::MaybeUninit::uninit();
1590     let ptr = UNINIT.as_ptr();
1591     assert_eq!(
1592         ::std::mem::size_of::<sa_endpoints>(),
1593         40usize,
1594         concat!("Size of: ", stringify!(sa_endpoints))
1595     );
1596     assert_eq!(
1597         ::std::mem::align_of::<sa_endpoints>(),
1598         8usize,
1599         concat!("Alignment of ", stringify!(sa_endpoints))
1600     );
1601     assert_eq!(
1602         unsafe { ::std::ptr::addr_of!((*ptr).sae_srcif) as usize - ptr as usize },
1603         0usize,
1604         concat!("Offset of field: ", stringify!(sa_endpoints), "::", stringify!(sae_srcif))
1605     );
1606     assert_eq!(
1607         unsafe { ::std::ptr::addr_of!((*ptr).sae_srcaddr) as usize - ptr as usize },
1608         8usize,
1609         concat!("Offset of field: ", stringify!(sa_endpoints), "::", stringify!(sae_srcaddr))
1610     );
1611     assert_eq!(
1612         unsafe { ::std::ptr::addr_of!((*ptr).sae_srcaddrlen) as usize - ptr as usize },
1613         16usize,
1614         concat!("Offset of field: ", stringify!(sa_endpoints), "::", stringify!(sae_srcaddrlen))
1615     );
1616     assert_eq!(
1617         unsafe { ::std::ptr::addr_of!((*ptr).sae_dstaddr) as usize - ptr as usize },
1618         24usize,
1619         concat!("Offset of field: ", stringify!(sa_endpoints), "::", stringify!(sae_dstaddr))
1620     );
1621     assert_eq!(
1622         unsafe { ::std::ptr::addr_of!((*ptr).sae_dstaddrlen) as usize - ptr as usize },
1623         32usize,
1624         concat!("Offset of field: ", stringify!(sa_endpoints), "::", stringify!(sae_dstaddrlen))
1625     );
1626 }
1627 pub type sa_endpoints_t = sa_endpoints;
1628 #[repr(C)]
1629 #[derive(Debug, Copy, Clone)]
1630 pub struct linger {
1631     pub l_onoff: ::std::os::raw::c_int,
1632     pub l_linger: ::std::os::raw::c_int,
1633 }
1634 #[test]
bindgen_test_layout_linger()1635 fn bindgen_test_layout_linger() {
1636     const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
1637     let ptr = UNINIT.as_ptr();
1638     assert_eq!(::std::mem::size_of::<linger>(), 8usize, concat!("Size of: ", stringify!(linger)));
1639     assert_eq!(
1640         ::std::mem::align_of::<linger>(),
1641         4usize,
1642         concat!("Alignment of ", stringify!(linger))
1643     );
1644     assert_eq!(
1645         unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
1646         0usize,
1647         concat!("Offset of field: ", stringify!(linger), "::", stringify!(l_onoff))
1648     );
1649     assert_eq!(
1650         unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
1651         4usize,
1652         concat!("Offset of field: ", stringify!(linger), "::", stringify!(l_linger))
1653     );
1654 }
1655 #[repr(C)]
1656 #[derive(Debug, Copy, Clone)]
1657 pub struct so_np_extensions {
1658     pub npx_flags: u_int32_t,
1659     pub npx_mask: u_int32_t,
1660 }
1661 #[test]
bindgen_test_layout_so_np_extensions()1662 fn bindgen_test_layout_so_np_extensions() {
1663     const UNINIT: ::std::mem::MaybeUninit<so_np_extensions> = ::std::mem::MaybeUninit::uninit();
1664     let ptr = UNINIT.as_ptr();
1665     assert_eq!(
1666         ::std::mem::size_of::<so_np_extensions>(),
1667         8usize,
1668         concat!("Size of: ", stringify!(so_np_extensions))
1669     );
1670     assert_eq!(
1671         ::std::mem::align_of::<so_np_extensions>(),
1672         4usize,
1673         concat!("Alignment of ", stringify!(so_np_extensions))
1674     );
1675     assert_eq!(
1676         unsafe { ::std::ptr::addr_of!((*ptr).npx_flags) as usize - ptr as usize },
1677         0usize,
1678         concat!("Offset of field: ", stringify!(so_np_extensions), "::", stringify!(npx_flags))
1679     );
1680     assert_eq!(
1681         unsafe { ::std::ptr::addr_of!((*ptr).npx_mask) as usize - ptr as usize },
1682         4usize,
1683         concat!("Offset of field: ", stringify!(so_np_extensions), "::", stringify!(npx_mask))
1684     );
1685 }
1686 #[repr(C)]
1687 #[derive(Debug, Copy, Clone)]
1688 pub struct sockaddr {
1689     pub sa_len: __uint8_t,
1690     pub sa_family: sa_family_t,
1691     pub sa_data: [::std::os::raw::c_char; 14usize],
1692 }
1693 #[test]
bindgen_test_layout_sockaddr()1694 fn bindgen_test_layout_sockaddr() {
1695     const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
1696     let ptr = UNINIT.as_ptr();
1697     assert_eq!(
1698         ::std::mem::size_of::<sockaddr>(),
1699         16usize,
1700         concat!("Size of: ", stringify!(sockaddr))
1701     );
1702     assert_eq!(
1703         ::std::mem::align_of::<sockaddr>(),
1704         1usize,
1705         concat!("Alignment of ", stringify!(sockaddr))
1706     );
1707     assert_eq!(
1708         unsafe { ::std::ptr::addr_of!((*ptr).sa_len) as usize - ptr as usize },
1709         0usize,
1710         concat!("Offset of field: ", stringify!(sockaddr), "::", stringify!(sa_len))
1711     );
1712     assert_eq!(
1713         unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
1714         1usize,
1715         concat!("Offset of field: ", stringify!(sockaddr), "::", stringify!(sa_family))
1716     );
1717     assert_eq!(
1718         unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
1719         2usize,
1720         concat!("Offset of field: ", stringify!(sockaddr), "::", stringify!(sa_data))
1721     );
1722 }
1723 pub type sockaddr_ref_t = *mut sockaddr;
1724 pub type sockaddr_ref_ref_t = *mut *mut sockaddr;
1725 #[repr(C)]
1726 #[derive(Debug, Copy, Clone)]
1727 pub struct __sockaddr_header {
1728     pub sa_len: __uint8_t,
1729     pub sa_family: sa_family_t,
1730 }
1731 #[test]
bindgen_test_layout___sockaddr_header()1732 fn bindgen_test_layout___sockaddr_header() {
1733     const UNINIT: ::std::mem::MaybeUninit<__sockaddr_header> = ::std::mem::MaybeUninit::uninit();
1734     let ptr = UNINIT.as_ptr();
1735     assert_eq!(
1736         ::std::mem::size_of::<__sockaddr_header>(),
1737         2usize,
1738         concat!("Size of: ", stringify!(__sockaddr_header))
1739     );
1740     assert_eq!(
1741         ::std::mem::align_of::<__sockaddr_header>(),
1742         1usize,
1743         concat!("Alignment of ", stringify!(__sockaddr_header))
1744     );
1745     assert_eq!(
1746         unsafe { ::std::ptr::addr_of!((*ptr).sa_len) as usize - ptr as usize },
1747         0usize,
1748         concat!("Offset of field: ", stringify!(__sockaddr_header), "::", stringify!(sa_len))
1749     );
1750     assert_eq!(
1751         unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
1752         1usize,
1753         concat!("Offset of field: ", stringify!(__sockaddr_header), "::", stringify!(sa_family))
1754     );
1755 }
1756 #[repr(C)]
1757 #[derive(Debug, Copy, Clone)]
1758 pub struct sockproto {
1759     pub sp_family: __uint16_t,
1760     pub sp_protocol: __uint16_t,
1761 }
1762 #[test]
bindgen_test_layout_sockproto()1763 fn bindgen_test_layout_sockproto() {
1764     const UNINIT: ::std::mem::MaybeUninit<sockproto> = ::std::mem::MaybeUninit::uninit();
1765     let ptr = UNINIT.as_ptr();
1766     assert_eq!(
1767         ::std::mem::size_of::<sockproto>(),
1768         4usize,
1769         concat!("Size of: ", stringify!(sockproto))
1770     );
1771     assert_eq!(
1772         ::std::mem::align_of::<sockproto>(),
1773         2usize,
1774         concat!("Alignment of ", stringify!(sockproto))
1775     );
1776     assert_eq!(
1777         unsafe { ::std::ptr::addr_of!((*ptr).sp_family) as usize - ptr as usize },
1778         0usize,
1779         concat!("Offset of field: ", stringify!(sockproto), "::", stringify!(sp_family))
1780     );
1781     assert_eq!(
1782         unsafe { ::std::ptr::addr_of!((*ptr).sp_protocol) as usize - ptr as usize },
1783         2usize,
1784         concat!("Offset of field: ", stringify!(sockproto), "::", stringify!(sp_protocol))
1785     );
1786 }
1787 #[repr(C)]
1788 #[derive(Debug, Copy, Clone)]
1789 pub struct sockaddr_storage {
1790     pub ss_len: __uint8_t,
1791     pub ss_family: sa_family_t,
1792     pub __ss_pad1: [::std::os::raw::c_char; 6usize],
1793     pub __ss_align: __int64_t,
1794     pub __ss_pad2: [::std::os::raw::c_char; 112usize],
1795 }
1796 #[test]
bindgen_test_layout_sockaddr_storage()1797 fn bindgen_test_layout_sockaddr_storage() {
1798     const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage> = ::std::mem::MaybeUninit::uninit();
1799     let ptr = UNINIT.as_ptr();
1800     assert_eq!(
1801         ::std::mem::size_of::<sockaddr_storage>(),
1802         128usize,
1803         concat!("Size of: ", stringify!(sockaddr_storage))
1804     );
1805     assert_eq!(
1806         ::std::mem::align_of::<sockaddr_storage>(),
1807         8usize,
1808         concat!("Alignment of ", stringify!(sockaddr_storage))
1809     );
1810     assert_eq!(
1811         unsafe { ::std::ptr::addr_of!((*ptr).ss_len) as usize - ptr as usize },
1812         0usize,
1813         concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(ss_len))
1814     );
1815     assert_eq!(
1816         unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
1817         1usize,
1818         concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(ss_family))
1819     );
1820     assert_eq!(
1821         unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad1) as usize - ptr as usize },
1822         2usize,
1823         concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(__ss_pad1))
1824     );
1825     assert_eq!(
1826         unsafe { ::std::ptr::addr_of!((*ptr).__ss_align) as usize - ptr as usize },
1827         8usize,
1828         concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(__ss_align))
1829     );
1830     assert_eq!(
1831         unsafe { ::std::ptr::addr_of!((*ptr).__ss_pad2) as usize - ptr as usize },
1832         16usize,
1833         concat!("Offset of field: ", stringify!(sockaddr_storage), "::", stringify!(__ss_pad2))
1834     );
1835 }
1836 pub type sockaddr_storage_ref_t = *mut sockaddr_storage;
1837 pub type sockaddr_storage_ref_ref_t = *mut *mut sockaddr_storage;
1838 #[repr(C)]
1839 #[derive(Debug, Copy, Clone)]
1840 pub struct msghdr {
1841     pub msg_name: *mut ::std::os::raw::c_void,
1842     pub msg_namelen: socklen_t,
1843     pub msg_iov: *mut iovec,
1844     pub msg_iovlen: ::std::os::raw::c_int,
1845     pub msg_control: *mut ::std::os::raw::c_void,
1846     pub msg_controllen: socklen_t,
1847     pub msg_flags: ::std::os::raw::c_int,
1848 }
1849 #[test]
bindgen_test_layout_msghdr()1850 fn bindgen_test_layout_msghdr() {
1851     const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
1852     let ptr = UNINIT.as_ptr();
1853     assert_eq!(::std::mem::size_of::<msghdr>(), 48usize, concat!("Size of: ", stringify!(msghdr)));
1854     assert_eq!(
1855         ::std::mem::align_of::<msghdr>(),
1856         8usize,
1857         concat!("Alignment of ", stringify!(msghdr))
1858     );
1859     assert_eq!(
1860         unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
1861         0usize,
1862         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_name))
1863     );
1864     assert_eq!(
1865         unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
1866         8usize,
1867         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_namelen))
1868     );
1869     assert_eq!(
1870         unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
1871         16usize,
1872         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_iov))
1873     );
1874     assert_eq!(
1875         unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
1876         24usize,
1877         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_iovlen))
1878     );
1879     assert_eq!(
1880         unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
1881         32usize,
1882         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_control))
1883     );
1884     assert_eq!(
1885         unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
1886         40usize,
1887         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_controllen))
1888     );
1889     assert_eq!(
1890         unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
1891         44usize,
1892         concat!("Offset of field: ", stringify!(msghdr), "::", stringify!(msg_flags))
1893     );
1894 }
1895 #[repr(C)]
1896 #[derive(Debug, Copy, Clone)]
1897 pub struct cmsghdr {
1898     pub cmsg_len: socklen_t,
1899     pub cmsg_level: ::std::os::raw::c_int,
1900     pub cmsg_type: ::std::os::raw::c_int,
1901 }
1902 #[test]
bindgen_test_layout_cmsghdr()1903 fn bindgen_test_layout_cmsghdr() {
1904     const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
1905     let ptr = UNINIT.as_ptr();
1906     assert_eq!(
1907         ::std::mem::size_of::<cmsghdr>(),
1908         12usize,
1909         concat!("Size of: ", stringify!(cmsghdr))
1910     );
1911     assert_eq!(
1912         ::std::mem::align_of::<cmsghdr>(),
1913         4usize,
1914         concat!("Alignment of ", stringify!(cmsghdr))
1915     );
1916     assert_eq!(
1917         unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
1918         0usize,
1919         concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_len))
1920     );
1921     assert_eq!(
1922         unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
1923         4usize,
1924         concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_level))
1925     );
1926     assert_eq!(
1927         unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
1928         8usize,
1929         concat!("Offset of field: ", stringify!(cmsghdr), "::", stringify!(cmsg_type))
1930     );
1931 }
1932 #[repr(C)]
1933 #[derive(Debug, Copy, Clone)]
1934 pub struct sf_hdtr {
1935     pub headers: *mut iovec,
1936     pub hdr_cnt: ::std::os::raw::c_int,
1937     pub trailers: *mut iovec,
1938     pub trl_cnt: ::std::os::raw::c_int,
1939 }
1940 #[test]
bindgen_test_layout_sf_hdtr()1941 fn bindgen_test_layout_sf_hdtr() {
1942     const UNINIT: ::std::mem::MaybeUninit<sf_hdtr> = ::std::mem::MaybeUninit::uninit();
1943     let ptr = UNINIT.as_ptr();
1944     assert_eq!(
1945         ::std::mem::size_of::<sf_hdtr>(),
1946         32usize,
1947         concat!("Size of: ", stringify!(sf_hdtr))
1948     );
1949     assert_eq!(
1950         ::std::mem::align_of::<sf_hdtr>(),
1951         8usize,
1952         concat!("Alignment of ", stringify!(sf_hdtr))
1953     );
1954     assert_eq!(
1955         unsafe { ::std::ptr::addr_of!((*ptr).headers) as usize - ptr as usize },
1956         0usize,
1957         concat!("Offset of field: ", stringify!(sf_hdtr), "::", stringify!(headers))
1958     );
1959     assert_eq!(
1960         unsafe { ::std::ptr::addr_of!((*ptr).hdr_cnt) as usize - ptr as usize },
1961         8usize,
1962         concat!("Offset of field: ", stringify!(sf_hdtr), "::", stringify!(hdr_cnt))
1963     );
1964     assert_eq!(
1965         unsafe { ::std::ptr::addr_of!((*ptr).trailers) as usize - ptr as usize },
1966         16usize,
1967         concat!("Offset of field: ", stringify!(sf_hdtr), "::", stringify!(trailers))
1968     );
1969     assert_eq!(
1970         unsafe { ::std::ptr::addr_of!((*ptr).trl_cnt) as usize - ptr as usize },
1971         24usize,
1972         concat!("Offset of field: ", stringify!(sf_hdtr), "::", stringify!(trl_cnt))
1973     );
1974 }
1975 extern "C" {
accept( arg1: ::std::os::raw::c_int, arg2: *mut sockaddr, arg3: *mut socklen_t, ) -> ::std::os::raw::c_int1976     pub fn accept(
1977         arg1: ::std::os::raw::c_int,
1978         arg2: *mut sockaddr,
1979         arg3: *mut socklen_t,
1980     ) -> ::std::os::raw::c_int;
1981 }
1982 extern "C" {
bind( arg1: ::std::os::raw::c_int, arg2: *const sockaddr, arg3: socklen_t, ) -> ::std::os::raw::c_int1983     pub fn bind(
1984         arg1: ::std::os::raw::c_int,
1985         arg2: *const sockaddr,
1986         arg3: socklen_t,
1987     ) -> ::std::os::raw::c_int;
1988 }
1989 extern "C" {
connect( arg1: ::std::os::raw::c_int, arg2: *const sockaddr, arg3: socklen_t, ) -> ::std::os::raw::c_int1990     pub fn connect(
1991         arg1: ::std::os::raw::c_int,
1992         arg2: *const sockaddr,
1993         arg3: socklen_t,
1994     ) -> ::std::os::raw::c_int;
1995 }
1996 extern "C" {
getpeername( arg1: ::std::os::raw::c_int, arg2: *mut sockaddr, arg3: *mut socklen_t, ) -> ::std::os::raw::c_int1997     pub fn getpeername(
1998         arg1: ::std::os::raw::c_int,
1999         arg2: *mut sockaddr,
2000         arg3: *mut socklen_t,
2001     ) -> ::std::os::raw::c_int;
2002 }
2003 extern "C" {
getsockname( arg1: ::std::os::raw::c_int, arg2: *mut sockaddr, arg3: *mut socklen_t, ) -> ::std::os::raw::c_int2004     pub fn getsockname(
2005         arg1: ::std::os::raw::c_int,
2006         arg2: *mut sockaddr,
2007         arg3: *mut socklen_t,
2008     ) -> ::std::os::raw::c_int;
2009 }
2010 extern "C" {
getsockopt( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int, arg4: *mut ::std::os::raw::c_void, arg5: *mut socklen_t, ) -> ::std::os::raw::c_int2011     pub fn getsockopt(
2012         arg1: ::std::os::raw::c_int,
2013         arg2: ::std::os::raw::c_int,
2014         arg3: ::std::os::raw::c_int,
2015         arg4: *mut ::std::os::raw::c_void,
2016         arg5: *mut socklen_t,
2017     ) -> ::std::os::raw::c_int;
2018 }
2019 extern "C" {
listen( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2020     pub fn listen(
2021         arg1: ::std::os::raw::c_int,
2022         arg2: ::std::os::raw::c_int,
2023     ) -> ::std::os::raw::c_int;
2024 }
2025 extern "C" {
recv( arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void, arg3: usize, arg4: ::std::os::raw::c_int, ) -> isize2026     pub fn recv(
2027         arg1: ::std::os::raw::c_int,
2028         arg2: *mut ::std::os::raw::c_void,
2029         arg3: usize,
2030         arg4: ::std::os::raw::c_int,
2031     ) -> isize;
2032 }
2033 extern "C" {
recvfrom( arg1: ::std::os::raw::c_int, arg2: *mut ::std::os::raw::c_void, arg3: usize, arg4: ::std::os::raw::c_int, arg5: *mut sockaddr, arg6: *mut socklen_t, ) -> isize2034     pub fn recvfrom(
2035         arg1: ::std::os::raw::c_int,
2036         arg2: *mut ::std::os::raw::c_void,
2037         arg3: usize,
2038         arg4: ::std::os::raw::c_int,
2039         arg5: *mut sockaddr,
2040         arg6: *mut socklen_t,
2041     ) -> isize;
2042 }
2043 extern "C" {
recvmsg( arg1: ::std::os::raw::c_int, arg2: *mut msghdr, arg3: ::std::os::raw::c_int, ) -> isize2044     pub fn recvmsg(
2045         arg1: ::std::os::raw::c_int,
2046         arg2: *mut msghdr,
2047         arg3: ::std::os::raw::c_int,
2048     ) -> isize;
2049 }
2050 extern "C" {
send( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: usize, arg4: ::std::os::raw::c_int, ) -> isize2051     pub fn send(
2052         arg1: ::std::os::raw::c_int,
2053         arg2: *const ::std::os::raw::c_void,
2054         arg3: usize,
2055         arg4: ::std::os::raw::c_int,
2056     ) -> isize;
2057 }
2058 extern "C" {
sendmsg( arg1: ::std::os::raw::c_int, arg2: *const msghdr, arg3: ::std::os::raw::c_int, ) -> isize2059     pub fn sendmsg(
2060         arg1: ::std::os::raw::c_int,
2061         arg2: *const msghdr,
2062         arg3: ::std::os::raw::c_int,
2063     ) -> isize;
2064 }
2065 extern "C" {
sendto( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: usize, arg4: ::std::os::raw::c_int, arg5: *const sockaddr, arg6: socklen_t, ) -> isize2066     pub fn sendto(
2067         arg1: ::std::os::raw::c_int,
2068         arg2: *const ::std::os::raw::c_void,
2069         arg3: usize,
2070         arg4: ::std::os::raw::c_int,
2071         arg5: *const sockaddr,
2072         arg6: socklen_t,
2073     ) -> isize;
2074 }
2075 extern "C" {
setsockopt( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int, arg4: *const ::std::os::raw::c_void, arg5: socklen_t, ) -> ::std::os::raw::c_int2076     pub fn setsockopt(
2077         arg1: ::std::os::raw::c_int,
2078         arg2: ::std::os::raw::c_int,
2079         arg3: ::std::os::raw::c_int,
2080         arg4: *const ::std::os::raw::c_void,
2081         arg5: socklen_t,
2082     ) -> ::std::os::raw::c_int;
2083 }
2084 extern "C" {
shutdown( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2085     pub fn shutdown(
2086         arg1: ::std::os::raw::c_int,
2087         arg2: ::std::os::raw::c_int,
2088     ) -> ::std::os::raw::c_int;
2089 }
2090 extern "C" {
sockatmark(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int2091     pub fn sockatmark(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2092 }
2093 extern "C" {
socket( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2094     pub fn socket(
2095         arg1: ::std::os::raw::c_int,
2096         arg2: ::std::os::raw::c_int,
2097         arg3: ::std::os::raw::c_int,
2098     ) -> ::std::os::raw::c_int;
2099 }
2100 extern "C" {
socketpair( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int, arg4: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2101     pub fn socketpair(
2102         arg1: ::std::os::raw::c_int,
2103         arg2: ::std::os::raw::c_int,
2104         arg3: ::std::os::raw::c_int,
2105         arg4: *mut ::std::os::raw::c_int,
2106     ) -> ::std::os::raw::c_int;
2107 }
2108 extern "C" {
sendfile( arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int, arg3: off_t, arg4: *mut off_t, arg5: *mut sf_hdtr, arg6: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2109     pub fn sendfile(
2110         arg1: ::std::os::raw::c_int,
2111         arg2: ::std::os::raw::c_int,
2112         arg3: off_t,
2113         arg4: *mut off_t,
2114         arg5: *mut sf_hdtr,
2115         arg6: ::std::os::raw::c_int,
2116     ) -> ::std::os::raw::c_int;
2117 }
2118 extern "C" {
pfctlinput(arg1: ::std::os::raw::c_int, arg2: *mut sockaddr)2119     pub fn pfctlinput(arg1: ::std::os::raw::c_int, arg2: *mut sockaddr);
2120 }
2121 extern "C" {
connectx( arg1: ::std::os::raw::c_int, arg2: *const sa_endpoints_t, arg3: sae_associd_t, arg4: ::std::os::raw::c_uint, arg5: *const iovec, arg6: ::std::os::raw::c_uint, arg7: *mut usize, arg8: *mut sae_connid_t, ) -> ::std::os::raw::c_int2122     pub fn connectx(
2123         arg1: ::std::os::raw::c_int,
2124         arg2: *const sa_endpoints_t,
2125         arg3: sae_associd_t,
2126         arg4: ::std::os::raw::c_uint,
2127         arg5: *const iovec,
2128         arg6: ::std::os::raw::c_uint,
2129         arg7: *mut usize,
2130         arg8: *mut sae_connid_t,
2131     ) -> ::std::os::raw::c_int;
2132 }
2133 extern "C" {
disconnectx( arg1: ::std::os::raw::c_int, arg2: sae_associd_t, arg3: sae_connid_t, ) -> ::std::os::raw::c_int2134     pub fn disconnectx(
2135         arg1: ::std::os::raw::c_int,
2136         arg2: sae_associd_t,
2137         arg3: sae_connid_t,
2138     ) -> ::std::os::raw::c_int;
2139 }
2140 #[repr(C)]
2141 #[derive(Debug, Copy, Clone)]
2142 pub struct in_addr {
2143     pub s_addr: in_addr_t,
2144 }
2145 #[test]
bindgen_test_layout_in_addr()2146 fn bindgen_test_layout_in_addr() {
2147     const UNINIT: ::std::mem::MaybeUninit<in_addr> = ::std::mem::MaybeUninit::uninit();
2148     let ptr = UNINIT.as_ptr();
2149     assert_eq!(::std::mem::size_of::<in_addr>(), 4usize, concat!("Size of: ", stringify!(in_addr)));
2150     assert_eq!(
2151         ::std::mem::align_of::<in_addr>(),
2152         4usize,
2153         concat!("Alignment of ", stringify!(in_addr))
2154     );
2155     assert_eq!(
2156         unsafe { ::std::ptr::addr_of!((*ptr).s_addr) as usize - ptr as usize },
2157         0usize,
2158         concat!("Offset of field: ", stringify!(in_addr), "::", stringify!(s_addr))
2159     );
2160 }
2161 #[repr(C)]
2162 #[derive(Debug, Copy, Clone)]
2163 pub struct sockaddr_in {
2164     pub sin_len: __uint8_t,
2165     pub sin_family: sa_family_t,
2166     pub sin_port: in_port_t,
2167     pub sin_addr: in_addr,
2168     pub sin_zero: [::std::os::raw::c_char; 8usize],
2169 }
2170 #[test]
bindgen_test_layout_sockaddr_in()2171 fn bindgen_test_layout_sockaddr_in() {
2172     const UNINIT: ::std::mem::MaybeUninit<sockaddr_in> = ::std::mem::MaybeUninit::uninit();
2173     let ptr = UNINIT.as_ptr();
2174     assert_eq!(
2175         ::std::mem::size_of::<sockaddr_in>(),
2176         16usize,
2177         concat!("Size of: ", stringify!(sockaddr_in))
2178     );
2179     assert_eq!(
2180         ::std::mem::align_of::<sockaddr_in>(),
2181         4usize,
2182         concat!("Alignment of ", stringify!(sockaddr_in))
2183     );
2184     assert_eq!(
2185         unsafe { ::std::ptr::addr_of!((*ptr).sin_len) as usize - ptr as usize },
2186         0usize,
2187         concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_len))
2188     );
2189     assert_eq!(
2190         unsafe { ::std::ptr::addr_of!((*ptr).sin_family) as usize - ptr as usize },
2191         1usize,
2192         concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_family))
2193     );
2194     assert_eq!(
2195         unsafe { ::std::ptr::addr_of!((*ptr).sin_port) as usize - ptr as usize },
2196         2usize,
2197         concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_port))
2198     );
2199     assert_eq!(
2200         unsafe { ::std::ptr::addr_of!((*ptr).sin_addr) as usize - ptr as usize },
2201         4usize,
2202         concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_addr))
2203     );
2204     assert_eq!(
2205         unsafe { ::std::ptr::addr_of!((*ptr).sin_zero) as usize - ptr as usize },
2206         8usize,
2207         concat!("Offset of field: ", stringify!(sockaddr_in), "::", stringify!(sin_zero))
2208     );
2209 }
2210 #[repr(C)]
2211 #[derive(Debug, Copy, Clone)]
2212 pub struct ip_opts {
2213     pub ip_dst: in_addr,
2214     pub ip_opts: [::std::os::raw::c_char; 40usize],
2215 }
2216 #[test]
bindgen_test_layout_ip_opts()2217 fn bindgen_test_layout_ip_opts() {
2218     const UNINIT: ::std::mem::MaybeUninit<ip_opts> = ::std::mem::MaybeUninit::uninit();
2219     let ptr = UNINIT.as_ptr();
2220     assert_eq!(
2221         ::std::mem::size_of::<ip_opts>(),
2222         44usize,
2223         concat!("Size of: ", stringify!(ip_opts))
2224     );
2225     assert_eq!(
2226         ::std::mem::align_of::<ip_opts>(),
2227         4usize,
2228         concat!("Alignment of ", stringify!(ip_opts))
2229     );
2230     assert_eq!(
2231         unsafe { ::std::ptr::addr_of!((*ptr).ip_dst) as usize - ptr as usize },
2232         0usize,
2233         concat!("Offset of field: ", stringify!(ip_opts), "::", stringify!(ip_dst))
2234     );
2235     assert_eq!(
2236         unsafe { ::std::ptr::addr_of!((*ptr).ip_opts) as usize - ptr as usize },
2237         4usize,
2238         concat!("Offset of field: ", stringify!(ip_opts), "::", stringify!(ip_opts))
2239     );
2240 }
2241 #[repr(C)]
2242 #[derive(Debug, Copy, Clone)]
2243 pub struct ip_mreq {
2244     pub imr_multiaddr: in_addr,
2245     pub imr_interface: in_addr,
2246 }
2247 #[test]
bindgen_test_layout_ip_mreq()2248 fn bindgen_test_layout_ip_mreq() {
2249     const UNINIT: ::std::mem::MaybeUninit<ip_mreq> = ::std::mem::MaybeUninit::uninit();
2250     let ptr = UNINIT.as_ptr();
2251     assert_eq!(::std::mem::size_of::<ip_mreq>(), 8usize, concat!("Size of: ", stringify!(ip_mreq)));
2252     assert_eq!(
2253         ::std::mem::align_of::<ip_mreq>(),
2254         4usize,
2255         concat!("Alignment of ", stringify!(ip_mreq))
2256     );
2257     assert_eq!(
2258         unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2259         0usize,
2260         concat!("Offset of field: ", stringify!(ip_mreq), "::", stringify!(imr_multiaddr))
2261     );
2262     assert_eq!(
2263         unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
2264         4usize,
2265         concat!("Offset of field: ", stringify!(ip_mreq), "::", stringify!(imr_interface))
2266     );
2267 }
2268 #[repr(C)]
2269 #[derive(Debug, Copy, Clone)]
2270 pub struct ip_mreqn {
2271     pub imr_multiaddr: in_addr,
2272     pub imr_address: in_addr,
2273     pub imr_ifindex: ::std::os::raw::c_int,
2274 }
2275 #[test]
bindgen_test_layout_ip_mreqn()2276 fn bindgen_test_layout_ip_mreqn() {
2277     const UNINIT: ::std::mem::MaybeUninit<ip_mreqn> = ::std::mem::MaybeUninit::uninit();
2278     let ptr = UNINIT.as_ptr();
2279     assert_eq!(
2280         ::std::mem::size_of::<ip_mreqn>(),
2281         12usize,
2282         concat!("Size of: ", stringify!(ip_mreqn))
2283     );
2284     assert_eq!(
2285         ::std::mem::align_of::<ip_mreqn>(),
2286         4usize,
2287         concat!("Alignment of ", stringify!(ip_mreqn))
2288     );
2289     assert_eq!(
2290         unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2291         0usize,
2292         concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_multiaddr))
2293     );
2294     assert_eq!(
2295         unsafe { ::std::ptr::addr_of!((*ptr).imr_address) as usize - ptr as usize },
2296         4usize,
2297         concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_address))
2298     );
2299     assert_eq!(
2300         unsafe { ::std::ptr::addr_of!((*ptr).imr_ifindex) as usize - ptr as usize },
2301         8usize,
2302         concat!("Offset of field: ", stringify!(ip_mreqn), "::", stringify!(imr_ifindex))
2303     );
2304 }
2305 #[repr(C)]
2306 #[derive(Debug, Copy, Clone)]
2307 pub struct ip_mreq_source {
2308     pub imr_multiaddr: in_addr,
2309     pub imr_sourceaddr: in_addr,
2310     pub imr_interface: in_addr,
2311 }
2312 #[test]
bindgen_test_layout_ip_mreq_source()2313 fn bindgen_test_layout_ip_mreq_source() {
2314     const UNINIT: ::std::mem::MaybeUninit<ip_mreq_source> = ::std::mem::MaybeUninit::uninit();
2315     let ptr = UNINIT.as_ptr();
2316     assert_eq!(
2317         ::std::mem::size_of::<ip_mreq_source>(),
2318         12usize,
2319         concat!("Size of: ", stringify!(ip_mreq_source))
2320     );
2321     assert_eq!(
2322         ::std::mem::align_of::<ip_mreq_source>(),
2323         4usize,
2324         concat!("Alignment of ", stringify!(ip_mreq_source))
2325     );
2326     assert_eq!(
2327         unsafe { ::std::ptr::addr_of!((*ptr).imr_multiaddr) as usize - ptr as usize },
2328         0usize,
2329         concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_multiaddr))
2330     );
2331     assert_eq!(
2332         unsafe { ::std::ptr::addr_of!((*ptr).imr_sourceaddr) as usize - ptr as usize },
2333         4usize,
2334         concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_sourceaddr))
2335     );
2336     assert_eq!(
2337         unsafe { ::std::ptr::addr_of!((*ptr).imr_interface) as usize - ptr as usize },
2338         8usize,
2339         concat!("Offset of field: ", stringify!(ip_mreq_source), "::", stringify!(imr_interface))
2340     );
2341 }
2342 #[repr(C, packed(4))]
2343 #[derive(Debug, Copy, Clone)]
2344 pub struct group_req {
2345     pub gr_interface: u32,
2346     pub gr_group: sockaddr_storage,
2347 }
2348 #[test]
bindgen_test_layout_group_req()2349 fn bindgen_test_layout_group_req() {
2350     const UNINIT: ::std::mem::MaybeUninit<group_req> = ::std::mem::MaybeUninit::uninit();
2351     let ptr = UNINIT.as_ptr();
2352     assert_eq!(
2353         ::std::mem::size_of::<group_req>(),
2354         132usize,
2355         concat!("Size of: ", stringify!(group_req))
2356     );
2357     assert_eq!(
2358         ::std::mem::align_of::<group_req>(),
2359         4usize,
2360         concat!("Alignment of ", stringify!(group_req))
2361     );
2362     assert_eq!(
2363         unsafe { ::std::ptr::addr_of!((*ptr).gr_interface) as usize - ptr as usize },
2364         0usize,
2365         concat!("Offset of field: ", stringify!(group_req), "::", stringify!(gr_interface))
2366     );
2367     assert_eq!(
2368         unsafe { ::std::ptr::addr_of!((*ptr).gr_group) as usize - ptr as usize },
2369         4usize,
2370         concat!("Offset of field: ", stringify!(group_req), "::", stringify!(gr_group))
2371     );
2372 }
2373 #[repr(C, packed(4))]
2374 #[derive(Debug, Copy, Clone)]
2375 pub struct group_source_req {
2376     pub gsr_interface: u32,
2377     pub gsr_group: sockaddr_storage,
2378     pub gsr_source: sockaddr_storage,
2379 }
2380 #[test]
bindgen_test_layout_group_source_req()2381 fn bindgen_test_layout_group_source_req() {
2382     const UNINIT: ::std::mem::MaybeUninit<group_source_req> = ::std::mem::MaybeUninit::uninit();
2383     let ptr = UNINIT.as_ptr();
2384     assert_eq!(
2385         ::std::mem::size_of::<group_source_req>(),
2386         260usize,
2387         concat!("Size of: ", stringify!(group_source_req))
2388     );
2389     assert_eq!(
2390         ::std::mem::align_of::<group_source_req>(),
2391         4usize,
2392         concat!("Alignment of ", stringify!(group_source_req))
2393     );
2394     assert_eq!(
2395         unsafe { ::std::ptr::addr_of!((*ptr).gsr_interface) as usize - ptr as usize },
2396         0usize,
2397         concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_interface))
2398     );
2399     assert_eq!(
2400         unsafe { ::std::ptr::addr_of!((*ptr).gsr_group) as usize - ptr as usize },
2401         4usize,
2402         concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_group))
2403     );
2404     assert_eq!(
2405         unsafe { ::std::ptr::addr_of!((*ptr).gsr_source) as usize - ptr as usize },
2406         132usize,
2407         concat!("Offset of field: ", stringify!(group_source_req), "::", stringify!(gsr_source))
2408     );
2409 }
2410 #[repr(C, packed(4))]
2411 #[derive(Debug, Copy, Clone)]
2412 pub struct __msfilterreq {
2413     pub msfr_ifindex: u32,
2414     pub msfr_fmode: u32,
2415     pub msfr_nsrcs: u32,
2416     pub __msfr_align: u32,
2417     pub msfr_group: sockaddr_storage,
2418     pub msfr_srcs: *mut sockaddr_storage,
2419 }
2420 #[test]
bindgen_test_layout___msfilterreq()2421 fn bindgen_test_layout___msfilterreq() {
2422     const UNINIT: ::std::mem::MaybeUninit<__msfilterreq> = ::std::mem::MaybeUninit::uninit();
2423     let ptr = UNINIT.as_ptr();
2424     assert_eq!(
2425         ::std::mem::size_of::<__msfilterreq>(),
2426         152usize,
2427         concat!("Size of: ", stringify!(__msfilterreq))
2428     );
2429     assert_eq!(
2430         ::std::mem::align_of::<__msfilterreq>(),
2431         4usize,
2432         concat!("Alignment of ", stringify!(__msfilterreq))
2433     );
2434     assert_eq!(
2435         unsafe { ::std::ptr::addr_of!((*ptr).msfr_ifindex) as usize - ptr as usize },
2436         0usize,
2437         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(msfr_ifindex))
2438     );
2439     assert_eq!(
2440         unsafe { ::std::ptr::addr_of!((*ptr).msfr_fmode) as usize - ptr as usize },
2441         4usize,
2442         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(msfr_fmode))
2443     );
2444     assert_eq!(
2445         unsafe { ::std::ptr::addr_of!((*ptr).msfr_nsrcs) as usize - ptr as usize },
2446         8usize,
2447         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(msfr_nsrcs))
2448     );
2449     assert_eq!(
2450         unsafe { ::std::ptr::addr_of!((*ptr).__msfr_align) as usize - ptr as usize },
2451         12usize,
2452         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(__msfr_align))
2453     );
2454     assert_eq!(
2455         unsafe { ::std::ptr::addr_of!((*ptr).msfr_group) as usize - ptr as usize },
2456         16usize,
2457         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(msfr_group))
2458     );
2459     assert_eq!(
2460         unsafe { ::std::ptr::addr_of!((*ptr).msfr_srcs) as usize - ptr as usize },
2461         144usize,
2462         concat!("Offset of field: ", stringify!(__msfilterreq), "::", stringify!(msfr_srcs))
2463     );
2464 }
2465 extern "C" {
setipv4sourcefilter( arg1: ::std::os::raw::c_int, arg2: in_addr, arg3: in_addr, arg4: u32, arg5: u32, arg6: *mut in_addr, ) -> ::std::os::raw::c_int2466     pub fn setipv4sourcefilter(
2467         arg1: ::std::os::raw::c_int,
2468         arg2: in_addr,
2469         arg3: in_addr,
2470         arg4: u32,
2471         arg5: u32,
2472         arg6: *mut in_addr,
2473     ) -> ::std::os::raw::c_int;
2474 }
2475 extern "C" {
getipv4sourcefilter( arg1: ::std::os::raw::c_int, arg2: in_addr, arg3: in_addr, arg4: *mut u32, arg5: *mut u32, arg6: *mut in_addr, ) -> ::std::os::raw::c_int2476     pub fn getipv4sourcefilter(
2477         arg1: ::std::os::raw::c_int,
2478         arg2: in_addr,
2479         arg3: in_addr,
2480         arg4: *mut u32,
2481         arg5: *mut u32,
2482         arg6: *mut in_addr,
2483     ) -> ::std::os::raw::c_int;
2484 }
2485 extern "C" {
setsourcefilter( arg1: ::std::os::raw::c_int, arg2: u32, arg3: *mut sockaddr, arg4: socklen_t, arg5: u32, arg6: u32, arg7: *mut sockaddr_storage, ) -> ::std::os::raw::c_int2486     pub fn setsourcefilter(
2487         arg1: ::std::os::raw::c_int,
2488         arg2: u32,
2489         arg3: *mut sockaddr,
2490         arg4: socklen_t,
2491         arg5: u32,
2492         arg6: u32,
2493         arg7: *mut sockaddr_storage,
2494     ) -> ::std::os::raw::c_int;
2495 }
2496 extern "C" {
getsourcefilter( arg1: ::std::os::raw::c_int, arg2: u32, arg3: *mut sockaddr, arg4: socklen_t, arg5: *mut u32, arg6: *mut u32, arg7: *mut sockaddr_storage, ) -> ::std::os::raw::c_int2497     pub fn getsourcefilter(
2498         arg1: ::std::os::raw::c_int,
2499         arg2: u32,
2500         arg3: *mut sockaddr,
2501         arg4: socklen_t,
2502         arg5: *mut u32,
2503         arg6: *mut u32,
2504         arg7: *mut sockaddr_storage,
2505     ) -> ::std::os::raw::c_int;
2506 }
2507 #[repr(C)]
2508 #[derive(Debug, Copy, Clone)]
2509 pub struct in_pktinfo {
2510     pub ipi_ifindex: ::std::os::raw::c_uint,
2511     pub ipi_spec_dst: in_addr,
2512     pub ipi_addr: in_addr,
2513 }
2514 #[test]
bindgen_test_layout_in_pktinfo()2515 fn bindgen_test_layout_in_pktinfo() {
2516     const UNINIT: ::std::mem::MaybeUninit<in_pktinfo> = ::std::mem::MaybeUninit::uninit();
2517     let ptr = UNINIT.as_ptr();
2518     assert_eq!(
2519         ::std::mem::size_of::<in_pktinfo>(),
2520         12usize,
2521         concat!("Size of: ", stringify!(in_pktinfo))
2522     );
2523     assert_eq!(
2524         ::std::mem::align_of::<in_pktinfo>(),
2525         4usize,
2526         concat!("Alignment of ", stringify!(in_pktinfo))
2527     );
2528     assert_eq!(
2529         unsafe { ::std::ptr::addr_of!((*ptr).ipi_ifindex) as usize - ptr as usize },
2530         0usize,
2531         concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_ifindex))
2532     );
2533     assert_eq!(
2534         unsafe { ::std::ptr::addr_of!((*ptr).ipi_spec_dst) as usize - ptr as usize },
2535         4usize,
2536         concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_spec_dst))
2537     );
2538     assert_eq!(
2539         unsafe { ::std::ptr::addr_of!((*ptr).ipi_addr) as usize - ptr as usize },
2540         8usize,
2541         concat!("Offset of field: ", stringify!(in_pktinfo), "::", stringify!(ipi_addr))
2542     );
2543 }
2544 #[repr(C)]
2545 #[derive(Copy, Clone)]
2546 pub struct in6_addr {
2547     pub __u6_addr: in6_addr__bindgen_ty_1,
2548 }
2549 #[repr(C)]
2550 #[derive(Copy, Clone)]
2551 pub union in6_addr__bindgen_ty_1 {
2552     pub __u6_addr8: [__uint8_t; 16usize],
2553     pub __u6_addr16: [__uint16_t; 8usize],
2554     pub __u6_addr32: [__uint32_t; 4usize],
2555 }
2556 #[test]
bindgen_test_layout_in6_addr__bindgen_ty_1()2557 fn bindgen_test_layout_in6_addr__bindgen_ty_1() {
2558     const UNINIT: ::std::mem::MaybeUninit<in6_addr__bindgen_ty_1> =
2559         ::std::mem::MaybeUninit::uninit();
2560     let ptr = UNINIT.as_ptr();
2561     assert_eq!(
2562         ::std::mem::size_of::<in6_addr__bindgen_ty_1>(),
2563         16usize,
2564         concat!("Size of: ", stringify!(in6_addr__bindgen_ty_1))
2565     );
2566     assert_eq!(
2567         ::std::mem::align_of::<in6_addr__bindgen_ty_1>(),
2568         4usize,
2569         concat!("Alignment of ", stringify!(in6_addr__bindgen_ty_1))
2570     );
2571     assert_eq!(
2572         unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr8) as usize - ptr as usize },
2573         0usize,
2574         concat!(
2575             "Offset of field: ",
2576             stringify!(in6_addr__bindgen_ty_1),
2577             "::",
2578             stringify!(__u6_addr8)
2579         )
2580     );
2581     assert_eq!(
2582         unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr16) as usize - ptr as usize },
2583         0usize,
2584         concat!(
2585             "Offset of field: ",
2586             stringify!(in6_addr__bindgen_ty_1),
2587             "::",
2588             stringify!(__u6_addr16)
2589         )
2590     );
2591     assert_eq!(
2592         unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr32) as usize - ptr as usize },
2593         0usize,
2594         concat!(
2595             "Offset of field: ",
2596             stringify!(in6_addr__bindgen_ty_1),
2597             "::",
2598             stringify!(__u6_addr32)
2599         )
2600     );
2601 }
2602 #[test]
bindgen_test_layout_in6_addr()2603 fn bindgen_test_layout_in6_addr() {
2604     const UNINIT: ::std::mem::MaybeUninit<in6_addr> = ::std::mem::MaybeUninit::uninit();
2605     let ptr = UNINIT.as_ptr();
2606     assert_eq!(
2607         ::std::mem::size_of::<in6_addr>(),
2608         16usize,
2609         concat!("Size of: ", stringify!(in6_addr))
2610     );
2611     assert_eq!(
2612         ::std::mem::align_of::<in6_addr>(),
2613         4usize,
2614         concat!("Alignment of ", stringify!(in6_addr))
2615     );
2616     assert_eq!(
2617         unsafe { ::std::ptr::addr_of!((*ptr).__u6_addr) as usize - ptr as usize },
2618         0usize,
2619         concat!("Offset of field: ", stringify!(in6_addr), "::", stringify!(__u6_addr))
2620     );
2621 }
2622 pub type in6_addr_t = in6_addr;
2623 #[repr(C)]
2624 #[derive(Copy, Clone)]
2625 pub struct sockaddr_in6 {
2626     pub sin6_len: __uint8_t,
2627     pub sin6_family: sa_family_t,
2628     pub sin6_port: in_port_t,
2629     pub sin6_flowinfo: __uint32_t,
2630     pub sin6_addr: in6_addr,
2631     pub sin6_scope_id: __uint32_t,
2632 }
2633 #[test]
bindgen_test_layout_sockaddr_in6()2634 fn bindgen_test_layout_sockaddr_in6() {
2635     const UNINIT: ::std::mem::MaybeUninit<sockaddr_in6> = ::std::mem::MaybeUninit::uninit();
2636     let ptr = UNINIT.as_ptr();
2637     assert_eq!(
2638         ::std::mem::size_of::<sockaddr_in6>(),
2639         28usize,
2640         concat!("Size of: ", stringify!(sockaddr_in6))
2641     );
2642     assert_eq!(
2643         ::std::mem::align_of::<sockaddr_in6>(),
2644         4usize,
2645         concat!("Alignment of ", stringify!(sockaddr_in6))
2646     );
2647     assert_eq!(
2648         unsafe { ::std::ptr::addr_of!((*ptr).sin6_len) as usize - ptr as usize },
2649         0usize,
2650         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_len))
2651     );
2652     assert_eq!(
2653         unsafe { ::std::ptr::addr_of!((*ptr).sin6_family) as usize - ptr as usize },
2654         1usize,
2655         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_family))
2656     );
2657     assert_eq!(
2658         unsafe { ::std::ptr::addr_of!((*ptr).sin6_port) as usize - ptr as usize },
2659         2usize,
2660         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_port))
2661     );
2662     assert_eq!(
2663         unsafe { ::std::ptr::addr_of!((*ptr).sin6_flowinfo) as usize - ptr as usize },
2664         4usize,
2665         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_flowinfo))
2666     );
2667     assert_eq!(
2668         unsafe { ::std::ptr::addr_of!((*ptr).sin6_addr) as usize - ptr as usize },
2669         8usize,
2670         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_addr))
2671     );
2672     assert_eq!(
2673         unsafe { ::std::ptr::addr_of!((*ptr).sin6_scope_id) as usize - ptr as usize },
2674         24usize,
2675         concat!("Offset of field: ", stringify!(sockaddr_in6), "::", stringify!(sin6_scope_id))
2676     );
2677 }
2678 extern "C" {
2679     pub static in6addr_any: in6_addr;
2680 }
2681 extern "C" {
2682     pub static in6addr_loopback: in6_addr;
2683 }
2684 extern "C" {
2685     pub static in6addr_nodelocal_allnodes: in6_addr;
2686 }
2687 extern "C" {
2688     pub static in6addr_linklocal_allnodes: in6_addr;
2689 }
2690 extern "C" {
2691     pub static in6addr_linklocal_allrouters: in6_addr;
2692 }
2693 extern "C" {
2694     pub static in6addr_linklocal_allv2routers: in6_addr;
2695 }
2696 #[repr(C)]
2697 #[derive(Copy, Clone)]
2698 pub struct ipv6_mreq {
2699     pub ipv6mr_multiaddr: in6_addr,
2700     pub ipv6mr_interface: ::std::os::raw::c_uint,
2701 }
2702 #[test]
bindgen_test_layout_ipv6_mreq()2703 fn bindgen_test_layout_ipv6_mreq() {
2704     const UNINIT: ::std::mem::MaybeUninit<ipv6_mreq> = ::std::mem::MaybeUninit::uninit();
2705     let ptr = UNINIT.as_ptr();
2706     assert_eq!(
2707         ::std::mem::size_of::<ipv6_mreq>(),
2708         20usize,
2709         concat!("Size of: ", stringify!(ipv6_mreq))
2710     );
2711     assert_eq!(
2712         ::std::mem::align_of::<ipv6_mreq>(),
2713         4usize,
2714         concat!("Alignment of ", stringify!(ipv6_mreq))
2715     );
2716     assert_eq!(
2717         unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_multiaddr) as usize - ptr as usize },
2718         0usize,
2719         concat!("Offset of field: ", stringify!(ipv6_mreq), "::", stringify!(ipv6mr_multiaddr))
2720     );
2721     assert_eq!(
2722         unsafe { ::std::ptr::addr_of!((*ptr).ipv6mr_interface) as usize - ptr as usize },
2723         16usize,
2724         concat!("Offset of field: ", stringify!(ipv6_mreq), "::", stringify!(ipv6mr_interface))
2725     );
2726 }
2727 #[repr(C)]
2728 #[derive(Copy, Clone)]
2729 pub struct in6_pktinfo {
2730     pub ipi6_addr: in6_addr,
2731     pub ipi6_ifindex: ::std::os::raw::c_uint,
2732 }
2733 #[test]
bindgen_test_layout_in6_pktinfo()2734 fn bindgen_test_layout_in6_pktinfo() {
2735     const UNINIT: ::std::mem::MaybeUninit<in6_pktinfo> = ::std::mem::MaybeUninit::uninit();
2736     let ptr = UNINIT.as_ptr();
2737     assert_eq!(
2738         ::std::mem::size_of::<in6_pktinfo>(),
2739         20usize,
2740         concat!("Size of: ", stringify!(in6_pktinfo))
2741     );
2742     assert_eq!(
2743         ::std::mem::align_of::<in6_pktinfo>(),
2744         4usize,
2745         concat!("Alignment of ", stringify!(in6_pktinfo))
2746     );
2747     assert_eq!(
2748         unsafe { ::std::ptr::addr_of!((*ptr).ipi6_addr) as usize - ptr as usize },
2749         0usize,
2750         concat!("Offset of field: ", stringify!(in6_pktinfo), "::", stringify!(ipi6_addr))
2751     );
2752     assert_eq!(
2753         unsafe { ::std::ptr::addr_of!((*ptr).ipi6_ifindex) as usize - ptr as usize },
2754         16usize,
2755         concat!("Offset of field: ", stringify!(in6_pktinfo), "::", stringify!(ipi6_ifindex))
2756     );
2757 }
2758 #[repr(C)]
2759 #[derive(Copy, Clone)]
2760 pub struct ip6_mtuinfo {
2761     pub ip6m_addr: sockaddr_in6,
2762     pub ip6m_mtu: u32,
2763 }
2764 #[test]
bindgen_test_layout_ip6_mtuinfo()2765 fn bindgen_test_layout_ip6_mtuinfo() {
2766     const UNINIT: ::std::mem::MaybeUninit<ip6_mtuinfo> = ::std::mem::MaybeUninit::uninit();
2767     let ptr = UNINIT.as_ptr();
2768     assert_eq!(
2769         ::std::mem::size_of::<ip6_mtuinfo>(),
2770         32usize,
2771         concat!("Size of: ", stringify!(ip6_mtuinfo))
2772     );
2773     assert_eq!(
2774         ::std::mem::align_of::<ip6_mtuinfo>(),
2775         4usize,
2776         concat!("Alignment of ", stringify!(ip6_mtuinfo))
2777     );
2778     assert_eq!(
2779         unsafe { ::std::ptr::addr_of!((*ptr).ip6m_addr) as usize - ptr as usize },
2780         0usize,
2781         concat!("Offset of field: ", stringify!(ip6_mtuinfo), "::", stringify!(ip6m_addr))
2782     );
2783     assert_eq!(
2784         unsafe { ::std::ptr::addr_of!((*ptr).ip6m_mtu) as usize - ptr as usize },
2785         28usize,
2786         concat!("Offset of field: ", stringify!(ip6_mtuinfo), "::", stringify!(ip6m_mtu))
2787     );
2788 }
2789 extern "C" {
inet6_option_space(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int2790     pub fn inet6_option_space(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2791 }
2792 extern "C" {
inet6_option_init( arg1: *mut ::std::os::raw::c_void, arg2: *mut *mut cmsghdr, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2793     pub fn inet6_option_init(
2794         arg1: *mut ::std::os::raw::c_void,
2795         arg2: *mut *mut cmsghdr,
2796         arg3: ::std::os::raw::c_int,
2797     ) -> ::std::os::raw::c_int;
2798 }
2799 extern "C" {
inet6_option_append( arg1: *mut cmsghdr, arg2: *const __uint8_t, arg3: ::std::os::raw::c_int, arg4: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2800     pub fn inet6_option_append(
2801         arg1: *mut cmsghdr,
2802         arg2: *const __uint8_t,
2803         arg3: ::std::os::raw::c_int,
2804         arg4: ::std::os::raw::c_int,
2805     ) -> ::std::os::raw::c_int;
2806 }
2807 extern "C" {
inet6_option_alloc( arg1: *mut cmsghdr, arg2: ::std::os::raw::c_int, arg3: ::std::os::raw::c_int, arg4: ::std::os::raw::c_int, ) -> *mut __uint8_t2808     pub fn inet6_option_alloc(
2809         arg1: *mut cmsghdr,
2810         arg2: ::std::os::raw::c_int,
2811         arg3: ::std::os::raw::c_int,
2812         arg4: ::std::os::raw::c_int,
2813     ) -> *mut __uint8_t;
2814 }
2815 extern "C" {
inet6_option_next( arg1: *const cmsghdr, arg2: *mut *mut __uint8_t, ) -> ::std::os::raw::c_int2816     pub fn inet6_option_next(
2817         arg1: *const cmsghdr,
2818         arg2: *mut *mut __uint8_t,
2819     ) -> ::std::os::raw::c_int;
2820 }
2821 extern "C" {
inet6_option_find( arg1: *const cmsghdr, arg2: *mut *mut __uint8_t, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2822     pub fn inet6_option_find(
2823         arg1: *const cmsghdr,
2824         arg2: *mut *mut __uint8_t,
2825         arg3: ::std::os::raw::c_int,
2826     ) -> ::std::os::raw::c_int;
2827 }
2828 extern "C" {
inet6_rthdr_space(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> usize2829     pub fn inet6_rthdr_space(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> usize;
2830 }
2831 extern "C" {
inet6_rthdr_init( arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int, ) -> *mut cmsghdr2832     pub fn inet6_rthdr_init(
2833         arg1: *mut ::std::os::raw::c_void,
2834         arg2: ::std::os::raw::c_int,
2835     ) -> *mut cmsghdr;
2836 }
2837 extern "C" {
inet6_rthdr_add( arg1: *mut cmsghdr, arg2: *const in6_addr, arg3: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int2838     pub fn inet6_rthdr_add(
2839         arg1: *mut cmsghdr,
2840         arg2: *const in6_addr,
2841         arg3: ::std::os::raw::c_uint,
2842     ) -> ::std::os::raw::c_int;
2843 }
2844 extern "C" {
inet6_rthdr_lasthop( arg1: *mut cmsghdr, arg2: ::std::os::raw::c_uint, ) -> ::std::os::raw::c_int2845     pub fn inet6_rthdr_lasthop(
2846         arg1: *mut cmsghdr,
2847         arg2: ::std::os::raw::c_uint,
2848     ) -> ::std::os::raw::c_int;
2849 }
2850 extern "C" {
inet6_rthdr_segments(arg1: *const cmsghdr) -> ::std::os::raw::c_int2851     pub fn inet6_rthdr_segments(arg1: *const cmsghdr) -> ::std::os::raw::c_int;
2852 }
2853 extern "C" {
inet6_rthdr_getaddr(arg1: *mut cmsghdr, arg2: ::std::os::raw::c_int) -> *mut in6_addr2854     pub fn inet6_rthdr_getaddr(arg1: *mut cmsghdr, arg2: ::std::os::raw::c_int) -> *mut in6_addr;
2855 }
2856 extern "C" {
inet6_rthdr_getflags( arg1: *const cmsghdr, arg2: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2857     pub fn inet6_rthdr_getflags(
2858         arg1: *const cmsghdr,
2859         arg2: ::std::os::raw::c_int,
2860     ) -> ::std::os::raw::c_int;
2861 }
2862 extern "C" {
inet6_opt_init( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, ) -> ::std::os::raw::c_int2863     pub fn inet6_opt_init(
2864         arg1: *mut ::std::os::raw::c_void,
2865         arg2: socklen_t,
2866     ) -> ::std::os::raw::c_int;
2867 }
2868 extern "C" {
inet6_opt_append( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, arg3: ::std::os::raw::c_int, arg4: __uint8_t, arg5: socklen_t, arg6: __uint8_t, arg7: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2869     pub fn inet6_opt_append(
2870         arg1: *mut ::std::os::raw::c_void,
2871         arg2: socklen_t,
2872         arg3: ::std::os::raw::c_int,
2873         arg4: __uint8_t,
2874         arg5: socklen_t,
2875         arg6: __uint8_t,
2876         arg7: *mut *mut ::std::os::raw::c_void,
2877     ) -> ::std::os::raw::c_int;
2878 }
2879 extern "C" {
inet6_opt_finish( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int2880     pub fn inet6_opt_finish(
2881         arg1: *mut ::std::os::raw::c_void,
2882         arg2: socklen_t,
2883         arg3: ::std::os::raw::c_int,
2884     ) -> ::std::os::raw::c_int;
2885 }
2886 extern "C" {
inet6_opt_set_val( arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int, arg3: *mut ::std::os::raw::c_void, arg4: socklen_t, ) -> ::std::os::raw::c_int2887     pub fn inet6_opt_set_val(
2888         arg1: *mut ::std::os::raw::c_void,
2889         arg2: ::std::os::raw::c_int,
2890         arg3: *mut ::std::os::raw::c_void,
2891         arg4: socklen_t,
2892     ) -> ::std::os::raw::c_int;
2893 }
2894 extern "C" {
inet6_opt_next( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, arg3: ::std::os::raw::c_int, arg4: *mut __uint8_t, arg5: *mut socklen_t, arg6: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2895     pub fn inet6_opt_next(
2896         arg1: *mut ::std::os::raw::c_void,
2897         arg2: socklen_t,
2898         arg3: ::std::os::raw::c_int,
2899         arg4: *mut __uint8_t,
2900         arg5: *mut socklen_t,
2901         arg6: *mut *mut ::std::os::raw::c_void,
2902     ) -> ::std::os::raw::c_int;
2903 }
2904 extern "C" {
inet6_opt_find( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, arg3: ::std::os::raw::c_int, arg4: __uint8_t, arg5: *mut socklen_t, arg6: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2905     pub fn inet6_opt_find(
2906         arg1: *mut ::std::os::raw::c_void,
2907         arg2: socklen_t,
2908         arg3: ::std::os::raw::c_int,
2909         arg4: __uint8_t,
2910         arg5: *mut socklen_t,
2911         arg6: *mut *mut ::std::os::raw::c_void,
2912     ) -> ::std::os::raw::c_int;
2913 }
2914 extern "C" {
inet6_opt_get_val( arg1: *mut ::std::os::raw::c_void, arg2: ::std::os::raw::c_int, arg3: *mut ::std::os::raw::c_void, arg4: socklen_t, ) -> ::std::os::raw::c_int2915     pub fn inet6_opt_get_val(
2916         arg1: *mut ::std::os::raw::c_void,
2917         arg2: ::std::os::raw::c_int,
2918         arg3: *mut ::std::os::raw::c_void,
2919         arg4: socklen_t,
2920     ) -> ::std::os::raw::c_int;
2921 }
2922 extern "C" {
inet6_rth_space(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> socklen_t2923     pub fn inet6_rth_space(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> socklen_t;
2924 }
2925 extern "C" {
inet6_rth_init( arg1: *mut ::std::os::raw::c_void, arg2: socklen_t, arg3: ::std::os::raw::c_int, arg4: ::std::os::raw::c_int, ) -> *mut ::std::os::raw::c_void2926     pub fn inet6_rth_init(
2927         arg1: *mut ::std::os::raw::c_void,
2928         arg2: socklen_t,
2929         arg3: ::std::os::raw::c_int,
2930         arg4: ::std::os::raw::c_int,
2931     ) -> *mut ::std::os::raw::c_void;
2932 }
2933 extern "C" {
inet6_rth_add( arg1: *mut ::std::os::raw::c_void, arg2: *const in6_addr, ) -> ::std::os::raw::c_int2934     pub fn inet6_rth_add(
2935         arg1: *mut ::std::os::raw::c_void,
2936         arg2: *const in6_addr,
2937     ) -> ::std::os::raw::c_int;
2938 }
2939 extern "C" {
inet6_rth_reverse( arg1: *const ::std::os::raw::c_void, arg2: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2940     pub fn inet6_rth_reverse(
2941         arg1: *const ::std::os::raw::c_void,
2942         arg2: *mut ::std::os::raw::c_void,
2943     ) -> ::std::os::raw::c_int;
2944 }
2945 extern "C" {
inet6_rth_segments(arg1: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int2946     pub fn inet6_rth_segments(arg1: *const ::std::os::raw::c_void) -> ::std::os::raw::c_int;
2947 }
2948 extern "C" {
inet6_rth_getaddr( arg1: *const ::std::os::raw::c_void, arg2: ::std::os::raw::c_int, ) -> *mut in6_addr2949     pub fn inet6_rth_getaddr(
2950         arg1: *const ::std::os::raw::c_void,
2951         arg2: ::std::os::raw::c_int,
2952     ) -> *mut in6_addr;
2953 }
2954 extern "C" {
bindresvport( arg1: ::std::os::raw::c_int, arg2: *mut sockaddr_in, ) -> ::std::os::raw::c_int2955     pub fn bindresvport(
2956         arg1: ::std::os::raw::c_int,
2957         arg2: *mut sockaddr_in,
2958     ) -> ::std::os::raw::c_int;
2959 }
2960 extern "C" {
bindresvport_sa( arg1: ::std::os::raw::c_int, arg2: *mut sockaddr, ) -> ::std::os::raw::c_int2961     pub fn bindresvport_sa(
2962         arg1: ::std::os::raw::c_int,
2963         arg2: *mut sockaddr,
2964     ) -> ::std::os::raw::c_int;
2965 }
2966 extern "C" {
inet_addr(arg1: *const ::std::os::raw::c_char) -> in_addr_t2967     pub fn inet_addr(arg1: *const ::std::os::raw::c_char) -> in_addr_t;
2968 }
2969 extern "C" {
inet_ntoa(arg1: in_addr) -> *mut ::std::os::raw::c_char2970     pub fn inet_ntoa(arg1: in_addr) -> *mut ::std::os::raw::c_char;
2971 }
2972 extern "C" {
inet_ntop( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: *mut ::std::os::raw::c_char, arg4: socklen_t, ) -> *const ::std::os::raw::c_char2973     pub fn inet_ntop(
2974         arg1: ::std::os::raw::c_int,
2975         arg2: *const ::std::os::raw::c_void,
2976         arg3: *mut ::std::os::raw::c_char,
2977         arg4: socklen_t,
2978     ) -> *const ::std::os::raw::c_char;
2979 }
2980 extern "C" {
inet_pton( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char, arg3: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2981     pub fn inet_pton(
2982         arg1: ::std::os::raw::c_int,
2983         arg2: *const ::std::os::raw::c_char,
2984         arg3: *mut ::std::os::raw::c_void,
2985     ) -> ::std::os::raw::c_int;
2986 }
2987 extern "C" {
ascii2addr( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char, arg3: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int2988     pub fn ascii2addr(
2989         arg1: ::std::os::raw::c_int,
2990         arg2: *const ::std::os::raw::c_char,
2991         arg3: *mut ::std::os::raw::c_void,
2992     ) -> ::std::os::raw::c_int;
2993 }
2994 extern "C" {
addr2ascii( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: ::std::os::raw::c_int, arg4: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char2995     pub fn addr2ascii(
2996         arg1: ::std::os::raw::c_int,
2997         arg2: *const ::std::os::raw::c_void,
2998         arg3: ::std::os::raw::c_int,
2999         arg4: *mut ::std::os::raw::c_char,
3000     ) -> *mut ::std::os::raw::c_char;
3001 }
3002 extern "C" {
inet_aton( arg1: *const ::std::os::raw::c_char, arg2: *mut in_addr, ) -> ::std::os::raw::c_int3003     pub fn inet_aton(
3004         arg1: *const ::std::os::raw::c_char,
3005         arg2: *mut in_addr,
3006     ) -> ::std::os::raw::c_int;
3007 }
3008 extern "C" {
inet_lnaof(arg1: in_addr) -> in_addr_t3009     pub fn inet_lnaof(arg1: in_addr) -> in_addr_t;
3010 }
3011 extern "C" {
inet_makeaddr(arg1: in_addr_t, arg2: in_addr_t) -> in_addr3012     pub fn inet_makeaddr(arg1: in_addr_t, arg2: in_addr_t) -> in_addr;
3013 }
3014 extern "C" {
inet_netof(arg1: in_addr) -> in_addr_t3015     pub fn inet_netof(arg1: in_addr) -> in_addr_t;
3016 }
3017 extern "C" {
inet_network(arg1: *const ::std::os::raw::c_char) -> in_addr_t3018     pub fn inet_network(arg1: *const ::std::os::raw::c_char) -> in_addr_t;
3019 }
3020 extern "C" {
inet_net_ntop( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_void, arg3: ::std::os::raw::c_int, arg4: *mut ::std::os::raw::c_char, arg5: __darwin_size_t, ) -> *mut ::std::os::raw::c_char3021     pub fn inet_net_ntop(
3022         arg1: ::std::os::raw::c_int,
3023         arg2: *const ::std::os::raw::c_void,
3024         arg3: ::std::os::raw::c_int,
3025         arg4: *mut ::std::os::raw::c_char,
3026         arg5: __darwin_size_t,
3027     ) -> *mut ::std::os::raw::c_char;
3028 }
3029 extern "C" {
inet_net_pton( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_char, arg3: *mut ::std::os::raw::c_void, arg4: __darwin_size_t, ) -> ::std::os::raw::c_int3030     pub fn inet_net_pton(
3031         arg1: ::std::os::raw::c_int,
3032         arg2: *const ::std::os::raw::c_char,
3033         arg3: *mut ::std::os::raw::c_void,
3034         arg4: __darwin_size_t,
3035     ) -> ::std::os::raw::c_int;
3036 }
3037 extern "C" {
inet_neta( arg1: in_addr_t, arg2: *mut ::std::os::raw::c_char, arg3: __darwin_size_t, ) -> *mut ::std::os::raw::c_char3038     pub fn inet_neta(
3039         arg1: in_addr_t,
3040         arg2: *mut ::std::os::raw::c_char,
3041         arg3: __darwin_size_t,
3042     ) -> *mut ::std::os::raw::c_char;
3043 }
3044 extern "C" {
inet_nsap_addr( arg1: *const ::std::os::raw::c_char, arg2: *mut ::std::os::raw::c_uchar, arg3: ::std::os::raw::c_int, ) -> ::std::os::raw::c_uint3045     pub fn inet_nsap_addr(
3046         arg1: *const ::std::os::raw::c_char,
3047         arg2: *mut ::std::os::raw::c_uchar,
3048         arg3: ::std::os::raw::c_int,
3049     ) -> ::std::os::raw::c_uint;
3050 }
3051 extern "C" {
inet_nsap_ntoa( arg1: ::std::os::raw::c_int, arg2: *const ::std::os::raw::c_uchar, arg3: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char3052     pub fn inet_nsap_ntoa(
3053         arg1: ::std::os::raw::c_int,
3054         arg2: *const ::std::os::raw::c_uchar,
3055         arg3: *mut ::std::os::raw::c_char,
3056     ) -> *mut ::std::os::raw::c_char;
3057 }
3058 #[repr(C)]
3059 #[derive(Debug, Copy, Clone)]
3060 pub struct Slirp {
3061     _unused: [u8; 0],
3062 }
3063 pub const SLIRP_POLL_IN: _bindgen_ty_1 = 1;
3064 pub const SLIRP_POLL_OUT: _bindgen_ty_1 = 2;
3065 pub const SLIRP_POLL_PRI: _bindgen_ty_1 = 4;
3066 pub const SLIRP_POLL_ERR: _bindgen_ty_1 = 8;
3067 pub const SLIRP_POLL_HUP: _bindgen_ty_1 = 16;
3068 pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
3069 pub type SlirpReadCb = ::std::option::Option<
3070     unsafe extern "C" fn(
3071         buf: *mut ::std::os::raw::c_void,
3072         len: usize,
3073         opaque: *mut ::std::os::raw::c_void,
3074     ) -> slirp_ssize_t,
3075 >;
3076 pub type SlirpWriteCb = ::std::option::Option<
3077     unsafe extern "C" fn(
3078         buf: *const ::std::os::raw::c_void,
3079         len: usize,
3080         opaque: *mut ::std::os::raw::c_void,
3081     ) -> slirp_ssize_t,
3082 >;
3083 pub type SlirpTimerCb =
3084     ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>;
3085 pub type SlirpAddPollCb = ::std::option::Option<
3086     unsafe extern "C" fn(
3087         fd: ::std::os::raw::c_int,
3088         events: ::std::os::raw::c_int,
3089         opaque: *mut ::std::os::raw::c_void,
3090     ) -> ::std::os::raw::c_int,
3091 >;
3092 pub type SlirpGetREventsCb = ::std::option::Option<
3093     unsafe extern "C" fn(
3094         idx: ::std::os::raw::c_int,
3095         opaque: *mut ::std::os::raw::c_void,
3096     ) -> ::std::os::raw::c_int,
3097 >;
3098 pub type SlirpProxyConnectFunc = ::std::option::Option<
3099     unsafe extern "C" fn(
3100         connect_opaque: *mut ::std::os::raw::c_void,
3101         fd: ::std::os::raw::c_int,
3102         af: ::std::os::raw::c_int,
3103     ),
3104 >;
3105 pub const SlirpTimerId_SLIRP_TIMER_RA: SlirpTimerId = 0;
3106 pub const SlirpTimerId_SLIRP_TIMER_NUM: SlirpTimerId = 1;
3107 pub type SlirpTimerId = ::std::os::raw::c_uint;
3108 #[repr(C)]
3109 #[derive(Debug, Copy, Clone)]
3110 pub struct SlirpCb {
3111     pub send_packet: SlirpWriteCb,
3112     pub guest_error: ::std::option::Option<
3113         unsafe extern "C" fn(
3114             msg: *const ::std::os::raw::c_char,
3115             opaque: *mut ::std::os::raw::c_void,
3116         ),
3117     >,
3118     pub clock_get_ns:
3119         ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void) -> i64>,
3120     pub timer_new: ::std::option::Option<
3121         unsafe extern "C" fn(
3122             cb: SlirpTimerCb,
3123             cb_opaque: *mut ::std::os::raw::c_void,
3124             opaque: *mut ::std::os::raw::c_void,
3125         ) -> *mut ::std::os::raw::c_void,
3126     >,
3127     pub timer_free: ::std::option::Option<
3128         unsafe extern "C" fn(
3129             timer: *mut ::std::os::raw::c_void,
3130             opaque: *mut ::std::os::raw::c_void,
3131         ),
3132     >,
3133     pub timer_mod: ::std::option::Option<
3134         unsafe extern "C" fn(
3135             timer: *mut ::std::os::raw::c_void,
3136             expire_time: i64,
3137             opaque: *mut ::std::os::raw::c_void,
3138         ),
3139     >,
3140     pub register_poll_fd: ::std::option::Option<
3141         unsafe extern "C" fn(fd: ::std::os::raw::c_int, opaque: *mut ::std::os::raw::c_void),
3142     >,
3143     pub unregister_poll_fd: ::std::option::Option<
3144         unsafe extern "C" fn(fd: ::std::os::raw::c_int, opaque: *mut ::std::os::raw::c_void),
3145     >,
3146     pub notify: ::std::option::Option<unsafe extern "C" fn(opaque: *mut ::std::os::raw::c_void)>,
3147     pub init_completed: ::std::option::Option<
3148         unsafe extern "C" fn(slirp: *mut Slirp, opaque: *mut ::std::os::raw::c_void),
3149     >,
3150     pub timer_new_opaque: ::std::option::Option<
3151         unsafe extern "C" fn(
3152             id: SlirpTimerId,
3153             cb_opaque: *mut ::std::os::raw::c_void,
3154             opaque: *mut ::std::os::raw::c_void,
3155         ) -> *mut ::std::os::raw::c_void,
3156     >,
3157     pub try_connect: ::std::option::Option<
3158         unsafe extern "C" fn(
3159             addr: *const sockaddr_storage,
3160             connect_func: SlirpProxyConnectFunc,
3161             connect_opaque: *mut ::std::os::raw::c_void,
3162             opaque: *mut ::std::os::raw::c_void,
3163         ) -> bool,
3164     >,
3165     pub remove: ::std::option::Option<
3166         unsafe extern "C" fn(
3167             connect_opaque: *mut ::std::os::raw::c_void,
3168             opaque: *mut ::std::os::raw::c_void,
3169         ),
3170     >,
3171 }
3172 #[test]
bindgen_test_layout_SlirpCb()3173 fn bindgen_test_layout_SlirpCb() {
3174     const UNINIT: ::std::mem::MaybeUninit<SlirpCb> = ::std::mem::MaybeUninit::uninit();
3175     let ptr = UNINIT.as_ptr();
3176     assert_eq!(
3177         ::std::mem::size_of::<SlirpCb>(),
3178         104usize,
3179         concat!("Size of: ", stringify!(SlirpCb))
3180     );
3181     assert_eq!(
3182         ::std::mem::align_of::<SlirpCb>(),
3183         8usize,
3184         concat!("Alignment of ", stringify!(SlirpCb))
3185     );
3186     assert_eq!(
3187         unsafe { ::std::ptr::addr_of!((*ptr).send_packet) as usize - ptr as usize },
3188         0usize,
3189         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(send_packet))
3190     );
3191     assert_eq!(
3192         unsafe { ::std::ptr::addr_of!((*ptr).guest_error) as usize - ptr as usize },
3193         8usize,
3194         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(guest_error))
3195     );
3196     assert_eq!(
3197         unsafe { ::std::ptr::addr_of!((*ptr).clock_get_ns) as usize - ptr as usize },
3198         16usize,
3199         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(clock_get_ns))
3200     );
3201     assert_eq!(
3202         unsafe { ::std::ptr::addr_of!((*ptr).timer_new) as usize - ptr as usize },
3203         24usize,
3204         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_new))
3205     );
3206     assert_eq!(
3207         unsafe { ::std::ptr::addr_of!((*ptr).timer_free) as usize - ptr as usize },
3208         32usize,
3209         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_free))
3210     );
3211     assert_eq!(
3212         unsafe { ::std::ptr::addr_of!((*ptr).timer_mod) as usize - ptr as usize },
3213         40usize,
3214         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_mod))
3215     );
3216     assert_eq!(
3217         unsafe { ::std::ptr::addr_of!((*ptr).register_poll_fd) as usize - ptr as usize },
3218         48usize,
3219         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(register_poll_fd))
3220     );
3221     assert_eq!(
3222         unsafe { ::std::ptr::addr_of!((*ptr).unregister_poll_fd) as usize - ptr as usize },
3223         56usize,
3224         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(unregister_poll_fd))
3225     );
3226     assert_eq!(
3227         unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
3228         64usize,
3229         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(notify))
3230     );
3231     assert_eq!(
3232         unsafe { ::std::ptr::addr_of!((*ptr).init_completed) as usize - ptr as usize },
3233         72usize,
3234         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(init_completed))
3235     );
3236     assert_eq!(
3237         unsafe { ::std::ptr::addr_of!((*ptr).timer_new_opaque) as usize - ptr as usize },
3238         80usize,
3239         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(timer_new_opaque))
3240     );
3241     assert_eq!(
3242         unsafe { ::std::ptr::addr_of!((*ptr).try_connect) as usize - ptr as usize },
3243         88usize,
3244         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(try_connect))
3245     );
3246     assert_eq!(
3247         unsafe { ::std::ptr::addr_of!((*ptr).remove) as usize - ptr as usize },
3248         96usize,
3249         concat!("Offset of field: ", stringify!(SlirpCb), "::", stringify!(remove))
3250     );
3251 }
3252 #[repr(C)]
3253 #[derive(Copy, Clone)]
3254 pub struct SlirpConfig {
3255     pub version: u32,
3256     pub restricted: ::std::os::raw::c_int,
3257     pub in_enabled: bool,
3258     pub vnetwork: in_addr,
3259     pub vnetmask: in_addr,
3260     pub vhost: in_addr,
3261     pub in6_enabled: bool,
3262     pub vprefix_addr6: in6_addr,
3263     pub vprefix_len: u8,
3264     pub vhost6: in6_addr,
3265     pub vhostname: *const ::std::os::raw::c_char,
3266     pub tftp_server_name: *const ::std::os::raw::c_char,
3267     pub tftp_path: *const ::std::os::raw::c_char,
3268     pub bootfile: *const ::std::os::raw::c_char,
3269     pub vdhcp_start: in_addr,
3270     pub vnameserver: in_addr,
3271     pub vnameserver6: in6_addr,
3272     pub vdnssearch: *mut *const ::std::os::raw::c_char,
3273     pub vdomainname: *const ::std::os::raw::c_char,
3274     pub if_mtu: usize,
3275     pub if_mru: usize,
3276     pub disable_host_loopback: bool,
3277     pub enable_emu: bool,
3278     pub outbound_addr: *mut sockaddr_in,
3279     pub outbound_addr6: *mut sockaddr_in6,
3280     pub disable_dns: bool,
3281     pub disable_dhcp: bool,
3282     pub mfr_id: u32,
3283     pub oob_eth_addr: [u8; 6usize],
3284     pub http_proxy_on: bool,
3285     pub host_dns_count: usize,
3286     pub host_dns: [sockaddr_storage; 4usize],
3287 }
3288 #[test]
bindgen_test_layout_SlirpConfig()3289 fn bindgen_test_layout_SlirpConfig() {
3290     const UNINIT: ::std::mem::MaybeUninit<SlirpConfig> = ::std::mem::MaybeUninit::uninit();
3291     let ptr = UNINIT.as_ptr();
3292     assert_eq!(
3293         ::std::mem::size_of::<SlirpConfig>(),
3294         712usize,
3295         concat!("Size of: ", stringify!(SlirpConfig))
3296     );
3297     assert_eq!(
3298         ::std::mem::align_of::<SlirpConfig>(),
3299         8usize,
3300         concat!("Alignment of ", stringify!(SlirpConfig))
3301     );
3302     assert_eq!(
3303         unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
3304         0usize,
3305         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(version))
3306     );
3307     assert_eq!(
3308         unsafe { ::std::ptr::addr_of!((*ptr).restricted) as usize - ptr as usize },
3309         4usize,
3310         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(restricted))
3311     );
3312     assert_eq!(
3313         unsafe { ::std::ptr::addr_of!((*ptr).in_enabled) as usize - ptr as usize },
3314         8usize,
3315         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(in_enabled))
3316     );
3317     assert_eq!(
3318         unsafe { ::std::ptr::addr_of!((*ptr).vnetwork) as usize - ptr as usize },
3319         12usize,
3320         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnetwork))
3321     );
3322     assert_eq!(
3323         unsafe { ::std::ptr::addr_of!((*ptr).vnetmask) as usize - ptr as usize },
3324         16usize,
3325         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnetmask))
3326     );
3327     assert_eq!(
3328         unsafe { ::std::ptr::addr_of!((*ptr).vhost) as usize - ptr as usize },
3329         20usize,
3330         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhost))
3331     );
3332     assert_eq!(
3333         unsafe { ::std::ptr::addr_of!((*ptr).in6_enabled) as usize - ptr as usize },
3334         24usize,
3335         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(in6_enabled))
3336     );
3337     assert_eq!(
3338         unsafe { ::std::ptr::addr_of!((*ptr).vprefix_addr6) as usize - ptr as usize },
3339         28usize,
3340         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vprefix_addr6))
3341     );
3342     assert_eq!(
3343         unsafe { ::std::ptr::addr_of!((*ptr).vprefix_len) as usize - ptr as usize },
3344         44usize,
3345         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vprefix_len))
3346     );
3347     assert_eq!(
3348         unsafe { ::std::ptr::addr_of!((*ptr).vhost6) as usize - ptr as usize },
3349         48usize,
3350         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhost6))
3351     );
3352     assert_eq!(
3353         unsafe { ::std::ptr::addr_of!((*ptr).vhostname) as usize - ptr as usize },
3354         64usize,
3355         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vhostname))
3356     );
3357     assert_eq!(
3358         unsafe { ::std::ptr::addr_of!((*ptr).tftp_server_name) as usize - ptr as usize },
3359         72usize,
3360         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(tftp_server_name))
3361     );
3362     assert_eq!(
3363         unsafe { ::std::ptr::addr_of!((*ptr).tftp_path) as usize - ptr as usize },
3364         80usize,
3365         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(tftp_path))
3366     );
3367     assert_eq!(
3368         unsafe { ::std::ptr::addr_of!((*ptr).bootfile) as usize - ptr as usize },
3369         88usize,
3370         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(bootfile))
3371     );
3372     assert_eq!(
3373         unsafe { ::std::ptr::addr_of!((*ptr).vdhcp_start) as usize - ptr as usize },
3374         96usize,
3375         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdhcp_start))
3376     );
3377     assert_eq!(
3378         unsafe { ::std::ptr::addr_of!((*ptr).vnameserver) as usize - ptr as usize },
3379         100usize,
3380         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnameserver))
3381     );
3382     assert_eq!(
3383         unsafe { ::std::ptr::addr_of!((*ptr).vnameserver6) as usize - ptr as usize },
3384         104usize,
3385         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vnameserver6))
3386     );
3387     assert_eq!(
3388         unsafe { ::std::ptr::addr_of!((*ptr).vdnssearch) as usize - ptr as usize },
3389         120usize,
3390         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdnssearch))
3391     );
3392     assert_eq!(
3393         unsafe { ::std::ptr::addr_of!((*ptr).vdomainname) as usize - ptr as usize },
3394         128usize,
3395         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(vdomainname))
3396     );
3397     assert_eq!(
3398         unsafe { ::std::ptr::addr_of!((*ptr).if_mtu) as usize - ptr as usize },
3399         136usize,
3400         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(if_mtu))
3401     );
3402     assert_eq!(
3403         unsafe { ::std::ptr::addr_of!((*ptr).if_mru) as usize - ptr as usize },
3404         144usize,
3405         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(if_mru))
3406     );
3407     assert_eq!(
3408         unsafe { ::std::ptr::addr_of!((*ptr).disable_host_loopback) as usize - ptr as usize },
3409         152usize,
3410         concat!(
3411             "Offset of field: ",
3412             stringify!(SlirpConfig),
3413             "::",
3414             stringify!(disable_host_loopback)
3415         )
3416     );
3417     assert_eq!(
3418         unsafe { ::std::ptr::addr_of!((*ptr).enable_emu) as usize - ptr as usize },
3419         153usize,
3420         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(enable_emu))
3421     );
3422     assert_eq!(
3423         unsafe { ::std::ptr::addr_of!((*ptr).outbound_addr) as usize - ptr as usize },
3424         160usize,
3425         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(outbound_addr))
3426     );
3427     assert_eq!(
3428         unsafe { ::std::ptr::addr_of!((*ptr).outbound_addr6) as usize - ptr as usize },
3429         168usize,
3430         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(outbound_addr6))
3431     );
3432     assert_eq!(
3433         unsafe { ::std::ptr::addr_of!((*ptr).disable_dns) as usize - ptr as usize },
3434         176usize,
3435         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(disable_dns))
3436     );
3437     assert_eq!(
3438         unsafe { ::std::ptr::addr_of!((*ptr).disable_dhcp) as usize - ptr as usize },
3439         177usize,
3440         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(disable_dhcp))
3441     );
3442     assert_eq!(
3443         unsafe { ::std::ptr::addr_of!((*ptr).mfr_id) as usize - ptr as usize },
3444         180usize,
3445         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(mfr_id))
3446     );
3447     assert_eq!(
3448         unsafe { ::std::ptr::addr_of!((*ptr).oob_eth_addr) as usize - ptr as usize },
3449         184usize,
3450         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(oob_eth_addr))
3451     );
3452     assert_eq!(
3453         unsafe { ::std::ptr::addr_of!((*ptr).http_proxy_on) as usize - ptr as usize },
3454         190usize,
3455         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(http_proxy_on))
3456     );
3457     assert_eq!(
3458         unsafe { ::std::ptr::addr_of!((*ptr).host_dns_count) as usize - ptr as usize },
3459         192usize,
3460         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(host_dns_count))
3461     );
3462     assert_eq!(
3463         unsafe { ::std::ptr::addr_of!((*ptr).host_dns) as usize - ptr as usize },
3464         200usize,
3465         concat!("Offset of field: ", stringify!(SlirpConfig), "::", stringify!(host_dns))
3466     );
3467 }
3468 extern "C" {
slirp_new( cfg: *const SlirpConfig, callbacks: *const SlirpCb, opaque: *mut ::std::os::raw::c_void, ) -> *mut Slirp3469     pub fn slirp_new(
3470         cfg: *const SlirpConfig,
3471         callbacks: *const SlirpCb,
3472         opaque: *mut ::std::os::raw::c_void,
3473     ) -> *mut Slirp;
3474 }
3475 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 Slirp3476     pub fn slirp_init(
3477         restricted: ::std::os::raw::c_int,
3478         in_enabled: bool,
3479         vnetwork: in_addr,
3480         vnetmask: in_addr,
3481         vhost: in_addr,
3482         in6_enabled: bool,
3483         vprefix_addr6: in6_addr,
3484         vprefix_len: u8,
3485         vhost6: in6_addr,
3486         vhostname: *const ::std::os::raw::c_char,
3487         tftp_server_name: *const ::std::os::raw::c_char,
3488         tftp_path: *const ::std::os::raw::c_char,
3489         bootfile: *const ::std::os::raw::c_char,
3490         vdhcp_start: in_addr,
3491         vnameserver: in_addr,
3492         vnameserver6: in6_addr,
3493         vdnssearch: *mut *const ::std::os::raw::c_char,
3494         vdomainname: *const ::std::os::raw::c_char,
3495         callbacks: *const SlirpCb,
3496         opaque: *mut ::std::os::raw::c_void,
3497     ) -> *mut Slirp;
3498 }
3499 extern "C" {
slirp_cleanup(slirp: *mut Slirp)3500     pub fn slirp_cleanup(slirp: *mut Slirp);
3501 }
3502 extern "C" {
slirp_pollfds_fill( slirp: *mut Slirp, timeout: *mut u32, add_poll: SlirpAddPollCb, opaque: *mut ::std::os::raw::c_void, )3503     pub fn slirp_pollfds_fill(
3504         slirp: *mut Slirp,
3505         timeout: *mut u32,
3506         add_poll: SlirpAddPollCb,
3507         opaque: *mut ::std::os::raw::c_void,
3508     );
3509 }
3510 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, )3511     pub fn slirp_pollfds_poll(
3512         slirp: *mut Slirp,
3513         select_error: ::std::os::raw::c_int,
3514         get_revents: SlirpGetREventsCb,
3515         opaque: *mut ::std::os::raw::c_void,
3516     );
3517 }
3518 extern "C" {
slirp_input(slirp: *mut Slirp, pkt: *const u8, pkt_len: ::std::os::raw::c_int)3519     pub fn slirp_input(slirp: *mut Slirp, pkt: *const u8, pkt_len: ::std::os::raw::c_int);
3520 }
3521 extern "C" {
slirp_handle_timer( slirp: *mut Slirp, id: SlirpTimerId, cb_opaque: *mut ::std::os::raw::c_void, )3522     pub fn slirp_handle_timer(
3523         slirp: *mut Slirp,
3524         id: SlirpTimerId,
3525         cb_opaque: *mut ::std::os::raw::c_void,
3526     );
3527 }
3528 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_int3529     pub fn slirp_add_hostfwd(
3530         slirp: *mut Slirp,
3531         is_udp: ::std::os::raw::c_int,
3532         host_addr: in_addr,
3533         host_port: ::std::os::raw::c_int,
3534         guest_addr: in_addr,
3535         guest_port: ::std::os::raw::c_int,
3536     ) -> ::std::os::raw::c_int;
3537 }
3538 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_int3539     pub fn slirp_remove_hostfwd(
3540         slirp: *mut Slirp,
3541         is_udp: ::std::os::raw::c_int,
3542         host_addr: in_addr,
3543         host_port: ::std::os::raw::c_int,
3544     ) -> ::std::os::raw::c_int;
3545 }
3546 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_int3547     pub fn slirp_add_hostxfwd(
3548         slirp: *mut Slirp,
3549         haddr: *const sockaddr,
3550         haddrlen: socklen_t,
3551         gaddr: *const sockaddr,
3552         gaddrlen: socklen_t,
3553         flags: ::std::os::raw::c_int,
3554     ) -> ::std::os::raw::c_int;
3555 }
3556 extern "C" {
slirp_remove_hostxfwd( slirp: *mut Slirp, haddr: *const sockaddr, haddrlen: socklen_t, flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3557     pub fn slirp_remove_hostxfwd(
3558         slirp: *mut Slirp,
3559         haddr: *const sockaddr,
3560         haddrlen: socklen_t,
3561         flags: ::std::os::raw::c_int,
3562     ) -> ::std::os::raw::c_int;
3563 }
3564 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_int3565     pub fn slirp_add_exec(
3566         slirp: *mut Slirp,
3567         cmdline: *const ::std::os::raw::c_char,
3568         guest_addr: *mut in_addr,
3569         guest_port: ::std::os::raw::c_int,
3570     ) -> ::std::os::raw::c_int;
3571 }
3572 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_int3573     pub fn slirp_add_unix(
3574         slirp: *mut Slirp,
3575         unixsock: *const ::std::os::raw::c_char,
3576         guest_addr: *mut in_addr,
3577         guest_port: ::std::os::raw::c_int,
3578     ) -> ::std::os::raw::c_int;
3579 }
3580 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_int3581     pub fn slirp_add_guestfwd(
3582         slirp: *mut Slirp,
3583         write_cb: SlirpWriteCb,
3584         opaque: *mut ::std::os::raw::c_void,
3585         guest_addr: *mut in_addr,
3586         guest_port: ::std::os::raw::c_int,
3587     ) -> ::std::os::raw::c_int;
3588 }
3589 extern "C" {
slirp_socket_can_recv( slirp: *mut Slirp, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, ) -> usize3590     pub fn slirp_socket_can_recv(
3591         slirp: *mut Slirp,
3592         guest_addr: in_addr,
3593         guest_port: ::std::os::raw::c_int,
3594     ) -> usize;
3595 }
3596 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, )3597     pub fn slirp_socket_recv(
3598         slirp: *mut Slirp,
3599         guest_addr: in_addr,
3600         guest_port: ::std::os::raw::c_int,
3601         buf: *const u8,
3602         size: ::std::os::raw::c_int,
3603     );
3604 }
3605 extern "C" {
slirp_remove_guestfwd( slirp: *mut Slirp, guest_addr: in_addr, guest_port: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int3606     pub fn slirp_remove_guestfwd(
3607         slirp: *mut Slirp,
3608         guest_addr: in_addr,
3609         guest_port: ::std::os::raw::c_int,
3610     ) -> ::std::os::raw::c_int;
3611 }
3612 extern "C" {
slirp_connection_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char3613     pub fn slirp_connection_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char;
3614 }
3615 extern "C" {
slirp_neighbor_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char3616     pub fn slirp_neighbor_info(slirp: *mut Slirp) -> *mut ::std::os::raw::c_char;
3617 }
3618 extern "C" {
slirp_state_save( s: *mut Slirp, write_cb: SlirpWriteCb, opaque: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int3619     pub fn slirp_state_save(
3620         s: *mut Slirp,
3621         write_cb: SlirpWriteCb,
3622         opaque: *mut ::std::os::raw::c_void,
3623     ) -> ::std::os::raw::c_int;
3624 }
3625 extern "C" {
slirp_state_version() -> ::std::os::raw::c_int3626     pub fn slirp_state_version() -> ::std::os::raw::c_int;
3627 }
3628 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_int3629     pub fn slirp_state_load(
3630         s: *mut Slirp,
3631         version_id: ::std::os::raw::c_int,
3632         read_cb: SlirpReadCb,
3633         opaque: *mut ::std::os::raw::c_void,
3634     ) -> ::std::os::raw::c_int;
3635 }
3636 extern "C" {
slirp_version_string() -> *const ::std::os::raw::c_char3637     pub fn slirp_version_string() -> *const ::std::os::raw::c_char;
3638 }
3639 pub type __builtin_va_list = *mut ::std::os::raw::c_char;
3640