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