1pub const DEFAULT_EXTERNAL_BROWSER: &[u8; 18] = b"/usr/bin/xdg-open\0";
4pub const DEFAULT_VPNCSCRIPT: &[u8; 14] = b"./vpnc-script\0";
5pub const ENABLE_NLS: u32 = 1;
6pub const HAVE_ALLOCA_H: u32 = 1;
7pub const HAVE_ASPRINTF: u32 = 1;
8pub const HAVE_BIO_METH_FREE: u32 = 1;
9pub const HAVE_BUILTIN_CLZ: u32 = 1;
10pub const HAVE_DLFCN_H: u32 = 1;
11pub const HAVE_DTLS: u32 = 1;
12pub const HAVE_DTLS12: u32 = 1;
13pub const HAVE_ENGINE: u32 = 1;
14pub const HAVE_EPOLL: u32 = 1;
15pub const HAVE_ESP: u32 = 1;
16pub const HAVE_EXPLICIT_BZERO: u32 = 1;
17pub const HAVE_GETLINE: u32 = 1;
18pub const HAVE_HPKE_SUPPORT: u32 = 1;
19pub const HAVE_ICONV: u32 = 1;
20pub const HAVE_INET_ATON: u32 = 1;
21pub const HAVE_IPV6_PATHMTU: u32 = 1;
22pub const HAVE_JSON: u32 = 1;
23pub const HAVE_LOCALTIME_R: u32 = 1;
24pub const HAVE_NL_LANGINFO: u32 = 1;
25pub const HAVE_POSIX_SPAWN: u32 = 1;
26pub const HAVE_SSL_CIPHER_FIND: u32 = 1;
27pub const HAVE_SSL_CTX_PROTOVER: u32 = 1;
28pub const HAVE_STATFS: u32 = 1;
29pub const HAVE_STRCASESTR: u32 = 1;
30pub const HAVE_STRCHRNUL: u32 = 1;
31pub const HAVE_STRNDUP: u32 = 1;
32pub const HAVE_VASPRINTF: u32 = 1;
33pub const HAVE_VHOST: u32 = 1;
34pub const IF_TUN_HDR: &[u8; 15] = b"linux/if_tun.h\0";
35pub const LT_OBJDIR: &[u8; 7] = b".libs/\0";
36pub const OPENCONNECT_OPENSSL: u32 = 1;
37pub const OPENSSL_SUPPRESS_DEPRECATED: u32 = 1;
38pub const PACKAGE: &[u8; 12] = b"openconnect\0";
39pub const PACKAGE_BUGREPORT: &[u8; 1] = b"\0";
40pub const PACKAGE_NAME: &[u8; 12] = b"openconnect\0";
41pub const PACKAGE_STRING: &[u8; 17] = b"openconnect 9.12\0";
42pub const PACKAGE_TARNAME: &[u8; 12] = b"openconnect\0";
43pub const PACKAGE_URL: &[u8; 1] = b"\0";
44pub const PACKAGE_VERSION: &[u8; 5] = b"9.12\0";
45pub const VERSION: &[u8; 5] = b"9.12\0";
46pub const _GNU_SOURCE: u32 = 1;
47pub const _SYS_TYPES_H: u32 = 1;
48pub const _FEATURES_H: u32 = 1;
49pub const _ISOC95_SOURCE: u32 = 1;
50pub const _ISOC99_SOURCE: u32 = 1;
51pub const _ISOC11_SOURCE: u32 = 1;
52pub const _ISOC2X_SOURCE: u32 = 1;
53pub const _POSIX_SOURCE: u32 = 1;
54pub const _POSIX_C_SOURCE: u32 = 200809;
55pub const _XOPEN_SOURCE: u32 = 700;
56pub const _XOPEN_SOURCE_EXTENDED: u32 = 1;
57pub const _LARGEFILE64_SOURCE: u32 = 1;
58pub const _DEFAULT_SOURCE: u32 = 1;
59pub const _ATFILE_SOURCE: u32 = 1;
60pub const _DYNAMIC_STACK_SIZE_SOURCE: u32 = 1;
61pub const __GLIBC_USE_ISOC2X: u32 = 1;
62pub const __USE_ISOC11: u32 = 1;
63pub const __USE_ISOC99: u32 = 1;
64pub const __USE_ISOC95: u32 = 1;
65pub const __USE_POSIX: u32 = 1;
66pub const __USE_POSIX2: u32 = 1;
67pub const __USE_POSIX199309: u32 = 1;
68pub const __USE_POSIX199506: u32 = 1;
69pub const __USE_XOPEN2K: u32 = 1;
70pub const __USE_XOPEN2K8: u32 = 1;
71pub const __USE_XOPEN: u32 = 1;
72pub const __USE_XOPEN_EXTENDED: u32 = 1;
73pub const __USE_UNIX98: u32 = 1;
74pub const _LARGEFILE_SOURCE: u32 = 1;
75pub const __USE_XOPEN2K8XSI: u32 = 1;
76pub const __USE_XOPEN2KXSI: u32 = 1;
77pub const __USE_LARGEFILE: u32 = 1;
78pub const __USE_LARGEFILE64: u32 = 1;
79pub const __WORDSIZE: u32 = 64;
80pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
81pub const __SYSCALL_WORDSIZE: u32 = 64;
82pub const __TIMESIZE: u32 = 64;
83pub const __USE_MISC: u32 = 1;
84pub const __USE_ATFILE: u32 = 1;
85pub const __USE_DYNAMIC_STACK_SIZE: u32 = 1;
86pub const __USE_GNU: u32 = 1;
87pub const __USE_FORTIFY_LEVEL: u32 = 0;
88pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
89pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
90pub const _STDC_PREDEF_H: u32 = 1;
91pub const __STDC_IEC_559__: u32 = 1;
92pub const __STDC_IEC_60559_BFP__: u32 = 201404;
93pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
94pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
95pub const __STDC_ISO_10646__: u32 = 201706;
96pub const __GNU_LIBRARY__: u32 = 6;
97pub const __GLIBC__: u32 = 2;
98pub const __GLIBC_MINOR__: u32 = 35;
99pub const _SYS_CDEFS_H: u32 = 1;
100pub const __glibc_c99_flexarr_available: u32 = 1;
101pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
102pub const __HAVE_GENERIC_SELECTION: u32 = 1;
103pub const _BITS_TYPES_H: u32 = 1;
104pub const _BITS_TYPESIZES_H: u32 = 1;
105pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
106pub const __INO_T_MATCHES_INO64_T: u32 = 1;
107pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
108pub const __STATFS_MATCHES_STATFS64: u32 = 1;
109pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
110pub const __FD_SETSIZE: u32 = 1024;
111pub const _BITS_TIME64_H: u32 = 1;
112pub const __clock_t_defined: u32 = 1;
113pub const __clockid_t_defined: u32 = 1;
114pub const __time_t_defined: u32 = 1;
115pub const __timer_t_defined: u32 = 1;
116pub const _BITS_STDINT_INTN_H: u32 = 1;
117pub const __BIT_TYPES_DEFINED__: u32 = 1;
118pub const _ENDIAN_H: u32 = 1;
119pub const _BITS_ENDIAN_H: u32 = 1;
120pub const __LITTLE_ENDIAN: u32 = 1234;
121pub const __BIG_ENDIAN: u32 = 4321;
122pub const __PDP_ENDIAN: u32 = 3412;
123pub const _BITS_ENDIANNESS_H: u32 = 1;
124pub const __BYTE_ORDER: u32 = 1234;
125pub const __FLOAT_WORD_ORDER: u32 = 1234;
126pub const LITTLE_ENDIAN: u32 = 1234;
127pub const BIG_ENDIAN: u32 = 4321;
128pub const PDP_ENDIAN: u32 = 3412;
129pub const BYTE_ORDER: u32 = 1234;
130pub const _BITS_BYTESWAP_H: u32 = 1;
131pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
132pub const _SYS_SELECT_H: u32 = 1;
133pub const __sigset_t_defined: u32 = 1;
134pub const __timeval_defined: u32 = 1;
135pub const _STRUCT_TIMESPEC: u32 = 1;
136pub const FD_SETSIZE: u32 = 1024;
137pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
138pub const _THREAD_SHARED_TYPES_H: u32 = 1;
139pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
140pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
141pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
142pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
143pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
144pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
145pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
146pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
147pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
148pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
149pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
150pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
151pub const __have_pthread_attr_t: u32 = 1;
152pub const _STDINT_H: u32 = 1;
153pub const __GLIBC_USE_LIB_EXT2: u32 = 1;
154pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 1;
155pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 1;
156pub const __GLIBC_USE_IEC_60559_EXT: u32 = 1;
157pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 1;
158pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 1;
159pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 1;
160pub const _BITS_WCHAR_H: u32 = 1;
161pub const _BITS_STDINT_UINTN_H: u32 = 1;
162pub const INT8_MIN: i32 = -128;
163pub const INT16_MIN: i32 = -32768;
164pub const INT32_MIN: i32 = -2147483648;
165pub const INT8_MAX: u32 = 127;
166pub const INT16_MAX: u32 = 32767;
167pub const INT32_MAX: u32 = 2147483647;
168pub const UINT8_MAX: u32 = 255;
169pub const UINT16_MAX: u32 = 65535;
170pub const UINT32_MAX: u32 = 4294967295;
171pub const INT_LEAST8_MIN: i32 = -128;
172pub const INT_LEAST16_MIN: i32 = -32768;
173pub const INT_LEAST32_MIN: i32 = -2147483648;
174pub const INT_LEAST8_MAX: u32 = 127;
175pub const INT_LEAST16_MAX: u32 = 32767;
176pub const INT_LEAST32_MAX: u32 = 2147483647;
177pub const UINT_LEAST8_MAX: u32 = 255;
178pub const UINT_LEAST16_MAX: u32 = 65535;
179pub const UINT_LEAST32_MAX: u32 = 4294967295;
180pub const INT_FAST8_MIN: i32 = -128;
181pub const INT_FAST16_MIN: i64 = -9223372036854775808;
182pub const INT_FAST32_MIN: i64 = -9223372036854775808;
183pub const INT_FAST8_MAX: u32 = 127;
184pub const INT_FAST16_MAX: u64 = 9223372036854775807;
185pub const INT_FAST32_MAX: u64 = 9223372036854775807;
186pub const UINT_FAST8_MAX: u32 = 255;
187pub const UINT_FAST16_MAX: i32 = -1;
188pub const UINT_FAST32_MAX: i32 = -1;
189pub const INTPTR_MIN: i64 = -9223372036854775808;
190pub const INTPTR_MAX: u64 = 9223372036854775807;
191pub const UINTPTR_MAX: i32 = -1;
192pub const PTRDIFF_MIN: i64 = -9223372036854775808;
193pub const PTRDIFF_MAX: u64 = 9223372036854775807;
194pub const SIG_ATOMIC_MIN: i32 = -2147483648;
195pub const SIG_ATOMIC_MAX: u32 = 2147483647;
196pub const SIZE_MAX: i32 = -1;
197pub const WINT_MIN: u32 = 0;
198pub const WINT_MAX: u32 = 4294967295;
199pub const INT8_WIDTH: u32 = 8;
200pub const UINT8_WIDTH: u32 = 8;
201pub const INT16_WIDTH: u32 = 16;
202pub const UINT16_WIDTH: u32 = 16;
203pub const INT32_WIDTH: u32 = 32;
204pub const UINT32_WIDTH: u32 = 32;
205pub const INT64_WIDTH: u32 = 64;
206pub const UINT64_WIDTH: u32 = 64;
207pub const INT_LEAST8_WIDTH: u32 = 8;
208pub const UINT_LEAST8_WIDTH: u32 = 8;
209pub const INT_LEAST16_WIDTH: u32 = 16;
210pub const UINT_LEAST16_WIDTH: u32 = 16;
211pub const INT_LEAST32_WIDTH: u32 = 32;
212pub const UINT_LEAST32_WIDTH: u32 = 32;
213pub const INT_LEAST64_WIDTH: u32 = 64;
214pub const UINT_LEAST64_WIDTH: u32 = 64;
215pub const INT_FAST8_WIDTH: u32 = 8;
216pub const UINT_FAST8_WIDTH: u32 = 8;
217pub const INT_FAST16_WIDTH: u32 = 64;
218pub const UINT_FAST16_WIDTH: u32 = 64;
219pub const INT_FAST32_WIDTH: u32 = 64;
220pub const UINT_FAST32_WIDTH: u32 = 64;
221pub const INT_FAST64_WIDTH: u32 = 64;
222pub const UINT_FAST64_WIDTH: u32 = 64;
223pub const INTPTR_WIDTH: u32 = 64;
224pub const UINTPTR_WIDTH: u32 = 64;
225pub const INTMAX_WIDTH: u32 = 64;
226pub const UINTMAX_WIDTH: u32 = 64;
227pub const PTRDIFF_WIDTH: u32 = 64;
228pub const SIG_ATOMIC_WIDTH: u32 = 32;
229pub const SIZE_WIDTH: u32 = 64;
230pub const WCHAR_WIDTH: u32 = 32;
231pub const WINT_WIDTH: u32 = 32;
232pub const OPENCONNECT_API_VERSION_MAJOR: u32 = 5;
233pub const OPENCONNECT_API_VERSION_MINOR: u32 = 9;
234pub const OC_PROTO_PROXY: u32 = 1;
235pub const OC_PROTO_CSD: u32 = 2;
236pub const OC_PROTO_AUTH_CERT: u32 = 4;
237pub const OC_PROTO_AUTH_OTP: u32 = 8;
238pub const OC_PROTO_AUTH_STOKEN: u32 = 16;
239pub const OC_PROTO_PERIODIC_TROJAN: u32 = 32;
240pub const OC_PROTO_HIDDEN: u32 = 64;
241pub const OC_PROTO_AUTH_MCA: u32 = 128;
242pub const OC_FORM_OPT_TEXT: u32 = 1;
243pub const OC_FORM_OPT_PASSWORD: u32 = 2;
244pub const OC_FORM_OPT_SELECT: u32 = 3;
245pub const OC_FORM_OPT_HIDDEN: u32 = 4;
246pub const OC_FORM_OPT_TOKEN: u32 = 5;
247pub const OC_FORM_OPT_SSO_TOKEN: u32 = 6;
248pub const OC_FORM_OPT_SSO_USER: u32 = 7;
249pub const OC_FORM_RESULT_ERR: i32 = -1;
250pub const OC_FORM_RESULT_OK: u32 = 0;
251pub const OC_FORM_RESULT_CANCELLED: u32 = 1;
252pub const OC_FORM_RESULT_NEWGROUP: u32 = 2;
253pub const OC_FORM_OPT_IGNORE: u32 = 1;
254pub const OC_FORM_OPT_NUMERIC: u32 = 2;
255pub const PRG_ERR: u32 = 0;
256pub const PRG_INFO: u32 = 1;
257pub const PRG_DEBUG: u32 = 2;
258pub const PRG_TRACE: u32 = 3;
259pub const OC_CMD_CANCEL: u8 = 120u8;
260pub const OC_CMD_PAUSE: u8 = 112u8;
261pub const OC_CMD_DETACH: u8 = 100u8;
262pub const OC_CMD_STATS: u8 = 115u8;
263pub const RECONNECT_INTERVAL_MIN: u32 = 10;
264pub const RECONNECT_INTERVAL_MAX: u32 = 100;
265pub type __u_char = ::std::os::raw::c_uchar;
266pub type __u_short = ::std::os::raw::c_ushort;
267pub type __u_int = ::std::os::raw::c_uint;
268pub type __u_long = ::std::os::raw::c_ulong;
269pub type __int8_t = ::std::os::raw::c_schar;
270pub type __uint8_t = ::std::os::raw::c_uchar;
271pub type __int16_t = ::std::os::raw::c_short;
272pub type __uint16_t = ::std::os::raw::c_ushort;
273pub type __int32_t = ::std::os::raw::c_int;
274pub type __uint32_t = ::std::os::raw::c_uint;
275pub type __int64_t = ::std::os::raw::c_long;
276pub type __uint64_t = ::std::os::raw::c_ulong;
277pub type __int_least8_t = __int8_t;
278pub type __uint_least8_t = __uint8_t;
279pub type __int_least16_t = __int16_t;
280pub type __uint_least16_t = __uint16_t;
281pub type __int_least32_t = __int32_t;
282pub type __uint_least32_t = __uint32_t;
283pub type __int_least64_t = __int64_t;
284pub type __uint_least64_t = __uint64_t;
285pub type __quad_t = ::std::os::raw::c_long;
286pub type __u_quad_t = ::std::os::raw::c_ulong;
287pub type __intmax_t = ::std::os::raw::c_long;
288pub type __uintmax_t = ::std::os::raw::c_ulong;
289pub type __dev_t = ::std::os::raw::c_ulong;
290pub type __uid_t = ::std::os::raw::c_uint;
291pub type __gid_t = ::std::os::raw::c_uint;
292pub type __ino_t = ::std::os::raw::c_ulong;
293pub type __ino64_t = ::std::os::raw::c_ulong;
294pub type __mode_t = ::std::os::raw::c_uint;
295pub type __nlink_t = ::std::os::raw::c_ulong;
296pub type __off_t = ::std::os::raw::c_long;
297pub type __off64_t = ::std::os::raw::c_long;
298pub type __pid_t = ::std::os::raw::c_int;
299#[repr(C)]
300#[derive(Debug, Copy, Clone)]
301pub struct __fsid_t {
302 pub __val: [::std::os::raw::c_int; 2usize],
303}
304#[test]
305fn bindgen_test_layout___fsid_t() {
306 const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
307 let ptr = UNINIT.as_ptr();
308 assert_eq!(
309 ::std::mem::size_of::<__fsid_t>(),
310 8usize,
311 concat!("Size of: ", stringify!(__fsid_t))
312 );
313 assert_eq!(
314 ::std::mem::align_of::<__fsid_t>(),
315 4usize,
316 concat!("Alignment of ", stringify!(__fsid_t))
317 );
318 assert_eq!(
319 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
320 0usize,
321 concat!(
322 "Offset of field: ",
323 stringify!(__fsid_t),
324 "::",
325 stringify!(__val)
326 )
327 );
328}
329pub type __clock_t = ::std::os::raw::c_long;
330pub type __rlim_t = ::std::os::raw::c_ulong;
331pub type __rlim64_t = ::std::os::raw::c_ulong;
332pub type __id_t = ::std::os::raw::c_uint;
333pub type __time_t = ::std::os::raw::c_long;
334pub type __useconds_t = ::std::os::raw::c_uint;
335pub type __suseconds_t = ::std::os::raw::c_long;
336pub type __suseconds64_t = ::std::os::raw::c_long;
337pub type __daddr_t = ::std::os::raw::c_int;
338pub type __key_t = ::std::os::raw::c_int;
339pub type __clockid_t = ::std::os::raw::c_int;
340pub type __timer_t = *mut ::std::os::raw::c_void;
341pub type __blksize_t = ::std::os::raw::c_long;
342pub type __blkcnt_t = ::std::os::raw::c_long;
343pub type __blkcnt64_t = ::std::os::raw::c_long;
344pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
345pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
346pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
347pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
348pub type __fsword_t = ::std::os::raw::c_long;
349pub type __ssize_t = ::std::os::raw::c_long;
350pub type __syscall_slong_t = ::std::os::raw::c_long;
351pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
352pub type __loff_t = __off64_t;
353pub type __caddr_t = *mut ::std::os::raw::c_char;
354pub type __intptr_t = ::std::os::raw::c_long;
355pub type __socklen_t = ::std::os::raw::c_uint;
356pub type __sig_atomic_t = ::std::os::raw::c_int;
357pub type u_char = __u_char;
358pub type u_short = __u_short;
359pub type u_int = __u_int;
360pub type u_long = __u_long;
361pub type quad_t = __quad_t;
362pub type u_quad_t = __u_quad_t;
363pub type fsid_t = __fsid_t;
364pub type loff_t = __loff_t;
365pub type ino_t = __ino_t;
366pub type ino64_t = __ino64_t;
367pub type dev_t = __dev_t;
368pub type gid_t = __gid_t;
369pub type mode_t = __mode_t;
370pub type nlink_t = __nlink_t;
371pub type uid_t = __uid_t;
372pub type off_t = __off_t;
373pub type off64_t = __off64_t;
374pub type pid_t = __pid_t;
375pub type id_t = __id_t;
376pub type daddr_t = __daddr_t;
377pub type caddr_t = __caddr_t;
378pub type key_t = __key_t;
379pub type clock_t = __clock_t;
380pub type clockid_t = __clockid_t;
381pub type time_t = __time_t;
382pub type timer_t = __timer_t;
383pub type useconds_t = __useconds_t;
384pub type suseconds_t = __suseconds_t;
385pub type ulong = ::std::os::raw::c_ulong;
386pub type ushort = ::std::os::raw::c_ushort;
387pub type uint = ::std::os::raw::c_uint;
388pub type u_int8_t = __uint8_t;
389pub type u_int16_t = __uint16_t;
390pub type u_int32_t = __uint32_t;
391pub type u_int64_t = __uint64_t;
392pub type register_t = ::std::os::raw::c_long;
393#[repr(C)]
394#[derive(Debug, Copy, Clone)]
395pub struct __sigset_t {
396 pub __val: [::std::os::raw::c_ulong; 16usize],
397}
398#[test]
399fn bindgen_test_layout___sigset_t() {
400 const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
401 let ptr = UNINIT.as_ptr();
402 assert_eq!(
403 ::std::mem::size_of::<__sigset_t>(),
404 128usize,
405 concat!("Size of: ", stringify!(__sigset_t))
406 );
407 assert_eq!(
408 ::std::mem::align_of::<__sigset_t>(),
409 8usize,
410 concat!("Alignment of ", stringify!(__sigset_t))
411 );
412 assert_eq!(
413 unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
414 0usize,
415 concat!(
416 "Offset of field: ",
417 stringify!(__sigset_t),
418 "::",
419 stringify!(__val)
420 )
421 );
422}
423pub type sigset_t = __sigset_t;
424#[repr(C)]
425#[derive(Debug, Copy, Clone)]
426pub struct timeval {
427 pub tv_sec: __time_t,
428 pub tv_usec: __suseconds_t,
429}
430#[test]
431fn bindgen_test_layout_timeval() {
432 const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
433 let ptr = UNINIT.as_ptr();
434 assert_eq!(
435 ::std::mem::size_of::<timeval>(),
436 16usize,
437 concat!("Size of: ", stringify!(timeval))
438 );
439 assert_eq!(
440 ::std::mem::align_of::<timeval>(),
441 8usize,
442 concat!("Alignment of ", stringify!(timeval))
443 );
444 assert_eq!(
445 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
446 0usize,
447 concat!(
448 "Offset of field: ",
449 stringify!(timeval),
450 "::",
451 stringify!(tv_sec)
452 )
453 );
454 assert_eq!(
455 unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
456 8usize,
457 concat!(
458 "Offset of field: ",
459 stringify!(timeval),
460 "::",
461 stringify!(tv_usec)
462 )
463 );
464}
465#[repr(C)]
466#[derive(Debug, Copy, Clone)]
467pub struct timespec {
468 pub tv_sec: __time_t,
469 pub tv_nsec: __syscall_slong_t,
470}
471#[test]
472fn bindgen_test_layout_timespec() {
473 const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
474 let ptr = UNINIT.as_ptr();
475 assert_eq!(
476 ::std::mem::size_of::<timespec>(),
477 16usize,
478 concat!("Size of: ", stringify!(timespec))
479 );
480 assert_eq!(
481 ::std::mem::align_of::<timespec>(),
482 8usize,
483 concat!("Alignment of ", stringify!(timespec))
484 );
485 assert_eq!(
486 unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
487 0usize,
488 concat!(
489 "Offset of field: ",
490 stringify!(timespec),
491 "::",
492 stringify!(tv_sec)
493 )
494 );
495 assert_eq!(
496 unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
497 8usize,
498 concat!(
499 "Offset of field: ",
500 stringify!(timespec),
501 "::",
502 stringify!(tv_nsec)
503 )
504 );
505}
506pub type __fd_mask = ::std::os::raw::c_long;
507#[repr(C)]
508#[derive(Debug, Copy, Clone)]
509pub struct fd_set {
510 pub fds_bits: [__fd_mask; 16usize],
511}
512#[test]
513fn bindgen_test_layout_fd_set() {
514 const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
515 let ptr = UNINIT.as_ptr();
516 assert_eq!(
517 ::std::mem::size_of::<fd_set>(),
518 128usize,
519 concat!("Size of: ", stringify!(fd_set))
520 );
521 assert_eq!(
522 ::std::mem::align_of::<fd_set>(),
523 8usize,
524 concat!("Alignment of ", stringify!(fd_set))
525 );
526 assert_eq!(
527 unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
528 0usize,
529 concat!(
530 "Offset of field: ",
531 stringify!(fd_set),
532 "::",
533 stringify!(fds_bits)
534 )
535 );
536}
537pub type fd_mask = __fd_mask;
538extern "C" {
539 pub fn select(
540 __nfds: ::std::os::raw::c_int,
541 __readfds: *mut fd_set,
542 __writefds: *mut fd_set,
543 __exceptfds: *mut fd_set,
544 __timeout: *mut timeval,
545 ) -> ::std::os::raw::c_int;
546}
547extern "C" {
548 pub fn pselect(
549 __nfds: ::std::os::raw::c_int,
550 __readfds: *mut fd_set,
551 __writefds: *mut fd_set,
552 __exceptfds: *mut fd_set,
553 __timeout: *const timespec,
554 __sigmask: *const __sigset_t,
555 ) -> ::std::os::raw::c_int;
556}
557pub type blksize_t = __blksize_t;
558pub type blkcnt_t = __blkcnt_t;
559pub type fsblkcnt_t = __fsblkcnt_t;
560pub type fsfilcnt_t = __fsfilcnt_t;
561pub type blkcnt64_t = __blkcnt64_t;
562pub type fsblkcnt64_t = __fsblkcnt64_t;
563pub type fsfilcnt64_t = __fsfilcnt64_t;
564#[repr(C)]
565#[derive(Copy, Clone)]
566pub union __atomic_wide_counter {
567 pub __value64: ::std::os::raw::c_ulonglong,
568 pub __value32: __atomic_wide_counter__bindgen_ty_1,
569}
570#[repr(C)]
571#[derive(Debug, Copy, Clone)]
572pub struct __atomic_wide_counter__bindgen_ty_1 {
573 pub __low: ::std::os::raw::c_uint,
574 pub __high: ::std::os::raw::c_uint,
575}
576#[test]
577fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
578 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
579 ::std::mem::MaybeUninit::uninit();
580 let ptr = UNINIT.as_ptr();
581 assert_eq!(
582 ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
583 8usize,
584 concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1))
585 );
586 assert_eq!(
587 ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
588 4usize,
589 concat!(
590 "Alignment of ",
591 stringify!(__atomic_wide_counter__bindgen_ty_1)
592 )
593 );
594 assert_eq!(
595 unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
596 0usize,
597 concat!(
598 "Offset of field: ",
599 stringify!(__atomic_wide_counter__bindgen_ty_1),
600 "::",
601 stringify!(__low)
602 )
603 );
604 assert_eq!(
605 unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
606 4usize,
607 concat!(
608 "Offset of field: ",
609 stringify!(__atomic_wide_counter__bindgen_ty_1),
610 "::",
611 stringify!(__high)
612 )
613 );
614}
615#[test]
616fn bindgen_test_layout___atomic_wide_counter() {
617 const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> =
618 ::std::mem::MaybeUninit::uninit();
619 let ptr = UNINIT.as_ptr();
620 assert_eq!(
621 ::std::mem::size_of::<__atomic_wide_counter>(),
622 8usize,
623 concat!("Size of: ", stringify!(__atomic_wide_counter))
624 );
625 assert_eq!(
626 ::std::mem::align_of::<__atomic_wide_counter>(),
627 8usize,
628 concat!("Alignment of ", stringify!(__atomic_wide_counter))
629 );
630 assert_eq!(
631 unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
632 0usize,
633 concat!(
634 "Offset of field: ",
635 stringify!(__atomic_wide_counter),
636 "::",
637 stringify!(__value64)
638 )
639 );
640 assert_eq!(
641 unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
642 0usize,
643 concat!(
644 "Offset of field: ",
645 stringify!(__atomic_wide_counter),
646 "::",
647 stringify!(__value32)
648 )
649 );
650}
651#[repr(C)]
652#[derive(Debug, Copy, Clone)]
653pub struct __pthread_internal_list {
654 pub __prev: *mut __pthread_internal_list,
655 pub __next: *mut __pthread_internal_list,
656}
657#[test]
658fn bindgen_test_layout___pthread_internal_list() {
659 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
660 ::std::mem::MaybeUninit::uninit();
661 let ptr = UNINIT.as_ptr();
662 assert_eq!(
663 ::std::mem::size_of::<__pthread_internal_list>(),
664 16usize,
665 concat!("Size of: ", stringify!(__pthread_internal_list))
666 );
667 assert_eq!(
668 ::std::mem::align_of::<__pthread_internal_list>(),
669 8usize,
670 concat!("Alignment of ", stringify!(__pthread_internal_list))
671 );
672 assert_eq!(
673 unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
674 0usize,
675 concat!(
676 "Offset of field: ",
677 stringify!(__pthread_internal_list),
678 "::",
679 stringify!(__prev)
680 )
681 );
682 assert_eq!(
683 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
684 8usize,
685 concat!(
686 "Offset of field: ",
687 stringify!(__pthread_internal_list),
688 "::",
689 stringify!(__next)
690 )
691 );
692}
693pub type __pthread_list_t = __pthread_internal_list;
694#[repr(C)]
695#[derive(Debug, Copy, Clone)]
696pub struct __pthread_internal_slist {
697 pub __next: *mut __pthread_internal_slist,
698}
699#[test]
700fn bindgen_test_layout___pthread_internal_slist() {
701 const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
702 ::std::mem::MaybeUninit::uninit();
703 let ptr = UNINIT.as_ptr();
704 assert_eq!(
705 ::std::mem::size_of::<__pthread_internal_slist>(),
706 8usize,
707 concat!("Size of: ", stringify!(__pthread_internal_slist))
708 );
709 assert_eq!(
710 ::std::mem::align_of::<__pthread_internal_slist>(),
711 8usize,
712 concat!("Alignment of ", stringify!(__pthread_internal_slist))
713 );
714 assert_eq!(
715 unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
716 0usize,
717 concat!(
718 "Offset of field: ",
719 stringify!(__pthread_internal_slist),
720 "::",
721 stringify!(__next)
722 )
723 );
724}
725pub type __pthread_slist_t = __pthread_internal_slist;
726#[repr(C)]
727#[derive(Debug, Copy, Clone)]
728pub struct __pthread_mutex_s {
729 pub __lock: ::std::os::raw::c_int,
730 pub __count: ::std::os::raw::c_uint,
731 pub __owner: ::std::os::raw::c_int,
732 pub __nusers: ::std::os::raw::c_uint,
733 pub __kind: ::std::os::raw::c_int,
734 pub __spins: ::std::os::raw::c_short,
735 pub __elision: ::std::os::raw::c_short,
736 pub __list: __pthread_list_t,
737}
738#[test]
739fn bindgen_test_layout___pthread_mutex_s() {
740 const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
741 let ptr = UNINIT.as_ptr();
742 assert_eq!(
743 ::std::mem::size_of::<__pthread_mutex_s>(),
744 40usize,
745 concat!("Size of: ", stringify!(__pthread_mutex_s))
746 );
747 assert_eq!(
748 ::std::mem::align_of::<__pthread_mutex_s>(),
749 8usize,
750 concat!("Alignment of ", stringify!(__pthread_mutex_s))
751 );
752 assert_eq!(
753 unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
754 0usize,
755 concat!(
756 "Offset of field: ",
757 stringify!(__pthread_mutex_s),
758 "::",
759 stringify!(__lock)
760 )
761 );
762 assert_eq!(
763 unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
764 4usize,
765 concat!(
766 "Offset of field: ",
767 stringify!(__pthread_mutex_s),
768 "::",
769 stringify!(__count)
770 )
771 );
772 assert_eq!(
773 unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
774 8usize,
775 concat!(
776 "Offset of field: ",
777 stringify!(__pthread_mutex_s),
778 "::",
779 stringify!(__owner)
780 )
781 );
782 assert_eq!(
783 unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
784 12usize,
785 concat!(
786 "Offset of field: ",
787 stringify!(__pthread_mutex_s),
788 "::",
789 stringify!(__nusers)
790 )
791 );
792 assert_eq!(
793 unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
794 16usize,
795 concat!(
796 "Offset of field: ",
797 stringify!(__pthread_mutex_s),
798 "::",
799 stringify!(__kind)
800 )
801 );
802 assert_eq!(
803 unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
804 20usize,
805 concat!(
806 "Offset of field: ",
807 stringify!(__pthread_mutex_s),
808 "::",
809 stringify!(__spins)
810 )
811 );
812 assert_eq!(
813 unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
814 22usize,
815 concat!(
816 "Offset of field: ",
817 stringify!(__pthread_mutex_s),
818 "::",
819 stringify!(__elision)
820 )
821 );
822 assert_eq!(
823 unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
824 24usize,
825 concat!(
826 "Offset of field: ",
827 stringify!(__pthread_mutex_s),
828 "::",
829 stringify!(__list)
830 )
831 );
832}
833#[repr(C)]
834#[derive(Debug, Copy, Clone)]
835pub struct __pthread_rwlock_arch_t {
836 pub __readers: ::std::os::raw::c_uint,
837 pub __writers: ::std::os::raw::c_uint,
838 pub __wrphase_futex: ::std::os::raw::c_uint,
839 pub __writers_futex: ::std::os::raw::c_uint,
840 pub __pad3: ::std::os::raw::c_uint,
841 pub __pad4: ::std::os::raw::c_uint,
842 pub __cur_writer: ::std::os::raw::c_int,
843 pub __shared: ::std::os::raw::c_int,
844 pub __rwelision: ::std::os::raw::c_schar,
845 pub __pad1: [::std::os::raw::c_uchar; 7usize],
846 pub __pad2: ::std::os::raw::c_ulong,
847 pub __flags: ::std::os::raw::c_uint,
848}
849#[test]
850fn bindgen_test_layout___pthread_rwlock_arch_t() {
851 const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
852 ::std::mem::MaybeUninit::uninit();
853 let ptr = UNINIT.as_ptr();
854 assert_eq!(
855 ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
856 56usize,
857 concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
858 );
859 assert_eq!(
860 ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
861 8usize,
862 concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
863 );
864 assert_eq!(
865 unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
866 0usize,
867 concat!(
868 "Offset of field: ",
869 stringify!(__pthread_rwlock_arch_t),
870 "::",
871 stringify!(__readers)
872 )
873 );
874 assert_eq!(
875 unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
876 4usize,
877 concat!(
878 "Offset of field: ",
879 stringify!(__pthread_rwlock_arch_t),
880 "::",
881 stringify!(__writers)
882 )
883 );
884 assert_eq!(
885 unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
886 8usize,
887 concat!(
888 "Offset of field: ",
889 stringify!(__pthread_rwlock_arch_t),
890 "::",
891 stringify!(__wrphase_futex)
892 )
893 );
894 assert_eq!(
895 unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
896 12usize,
897 concat!(
898 "Offset of field: ",
899 stringify!(__pthread_rwlock_arch_t),
900 "::",
901 stringify!(__writers_futex)
902 )
903 );
904 assert_eq!(
905 unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
906 16usize,
907 concat!(
908 "Offset of field: ",
909 stringify!(__pthread_rwlock_arch_t),
910 "::",
911 stringify!(__pad3)
912 )
913 );
914 assert_eq!(
915 unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
916 20usize,
917 concat!(
918 "Offset of field: ",
919 stringify!(__pthread_rwlock_arch_t),
920 "::",
921 stringify!(__pad4)
922 )
923 );
924 assert_eq!(
925 unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
926 24usize,
927 concat!(
928 "Offset of field: ",
929 stringify!(__pthread_rwlock_arch_t),
930 "::",
931 stringify!(__cur_writer)
932 )
933 );
934 assert_eq!(
935 unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
936 28usize,
937 concat!(
938 "Offset of field: ",
939 stringify!(__pthread_rwlock_arch_t),
940 "::",
941 stringify!(__shared)
942 )
943 );
944 assert_eq!(
945 unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
946 32usize,
947 concat!(
948 "Offset of field: ",
949 stringify!(__pthread_rwlock_arch_t),
950 "::",
951 stringify!(__rwelision)
952 )
953 );
954 assert_eq!(
955 unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
956 33usize,
957 concat!(
958 "Offset of field: ",
959 stringify!(__pthread_rwlock_arch_t),
960 "::",
961 stringify!(__pad1)
962 )
963 );
964 assert_eq!(
965 unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
966 40usize,
967 concat!(
968 "Offset of field: ",
969 stringify!(__pthread_rwlock_arch_t),
970 "::",
971 stringify!(__pad2)
972 )
973 );
974 assert_eq!(
975 unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
976 48usize,
977 concat!(
978 "Offset of field: ",
979 stringify!(__pthread_rwlock_arch_t),
980 "::",
981 stringify!(__flags)
982 )
983 );
984}
985#[repr(C)]
986#[derive(Copy, Clone)]
987pub struct __pthread_cond_s {
988 pub __wseq: __atomic_wide_counter,
989 pub __g1_start: __atomic_wide_counter,
990 pub __g_refs: [::std::os::raw::c_uint; 2usize],
991 pub __g_size: [::std::os::raw::c_uint; 2usize],
992 pub __g1_orig_size: ::std::os::raw::c_uint,
993 pub __wrefs: ::std::os::raw::c_uint,
994 pub __g_signals: [::std::os::raw::c_uint; 2usize],
995}
996#[test]
997fn bindgen_test_layout___pthread_cond_s() {
998 const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
999 let ptr = UNINIT.as_ptr();
1000 assert_eq!(
1001 ::std::mem::size_of::<__pthread_cond_s>(),
1002 48usize,
1003 concat!("Size of: ", stringify!(__pthread_cond_s))
1004 );
1005 assert_eq!(
1006 ::std::mem::align_of::<__pthread_cond_s>(),
1007 8usize,
1008 concat!("Alignment of ", stringify!(__pthread_cond_s))
1009 );
1010 assert_eq!(
1011 unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
1012 0usize,
1013 concat!(
1014 "Offset of field: ",
1015 stringify!(__pthread_cond_s),
1016 "::",
1017 stringify!(__wseq)
1018 )
1019 );
1020 assert_eq!(
1021 unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
1022 8usize,
1023 concat!(
1024 "Offset of field: ",
1025 stringify!(__pthread_cond_s),
1026 "::",
1027 stringify!(__g1_start)
1028 )
1029 );
1030 assert_eq!(
1031 unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
1032 16usize,
1033 concat!(
1034 "Offset of field: ",
1035 stringify!(__pthread_cond_s),
1036 "::",
1037 stringify!(__g_refs)
1038 )
1039 );
1040 assert_eq!(
1041 unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
1042 24usize,
1043 concat!(
1044 "Offset of field: ",
1045 stringify!(__pthread_cond_s),
1046 "::",
1047 stringify!(__g_size)
1048 )
1049 );
1050 assert_eq!(
1051 unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
1052 32usize,
1053 concat!(
1054 "Offset of field: ",
1055 stringify!(__pthread_cond_s),
1056 "::",
1057 stringify!(__g1_orig_size)
1058 )
1059 );
1060 assert_eq!(
1061 unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
1062 36usize,
1063 concat!(
1064 "Offset of field: ",
1065 stringify!(__pthread_cond_s),
1066 "::",
1067 stringify!(__wrefs)
1068 )
1069 );
1070 assert_eq!(
1071 unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
1072 40usize,
1073 concat!(
1074 "Offset of field: ",
1075 stringify!(__pthread_cond_s),
1076 "::",
1077 stringify!(__g_signals)
1078 )
1079 );
1080}
1081pub type __tss_t = ::std::os::raw::c_uint;
1082pub type __thrd_t = ::std::os::raw::c_ulong;
1083#[repr(C)]
1084#[derive(Debug, Copy, Clone)]
1085pub struct __once_flag {
1086 pub __data: ::std::os::raw::c_int,
1087}
1088#[test]
1089fn bindgen_test_layout___once_flag() {
1090 const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit();
1091 let ptr = UNINIT.as_ptr();
1092 assert_eq!(
1093 ::std::mem::size_of::<__once_flag>(),
1094 4usize,
1095 concat!("Size of: ", stringify!(__once_flag))
1096 );
1097 assert_eq!(
1098 ::std::mem::align_of::<__once_flag>(),
1099 4usize,
1100 concat!("Alignment of ", stringify!(__once_flag))
1101 );
1102 assert_eq!(
1103 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1104 0usize,
1105 concat!(
1106 "Offset of field: ",
1107 stringify!(__once_flag),
1108 "::",
1109 stringify!(__data)
1110 )
1111 );
1112}
1113pub type pthread_t = ::std::os::raw::c_ulong;
1114#[repr(C)]
1115#[derive(Copy, Clone)]
1116pub union pthread_mutexattr_t {
1117 pub __size: [::std::os::raw::c_char; 4usize],
1118 pub __align: ::std::os::raw::c_int,
1119}
1120#[test]
1121fn bindgen_test_layout_pthread_mutexattr_t() {
1122 const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
1123 let ptr = UNINIT.as_ptr();
1124 assert_eq!(
1125 ::std::mem::size_of::<pthread_mutexattr_t>(),
1126 4usize,
1127 concat!("Size of: ", stringify!(pthread_mutexattr_t))
1128 );
1129 assert_eq!(
1130 ::std::mem::align_of::<pthread_mutexattr_t>(),
1131 4usize,
1132 concat!("Alignment of ", stringify!(pthread_mutexattr_t))
1133 );
1134 assert_eq!(
1135 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1136 0usize,
1137 concat!(
1138 "Offset of field: ",
1139 stringify!(pthread_mutexattr_t),
1140 "::",
1141 stringify!(__size)
1142 )
1143 );
1144 assert_eq!(
1145 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1146 0usize,
1147 concat!(
1148 "Offset of field: ",
1149 stringify!(pthread_mutexattr_t),
1150 "::",
1151 stringify!(__align)
1152 )
1153 );
1154}
1155#[repr(C)]
1156#[derive(Copy, Clone)]
1157pub union pthread_condattr_t {
1158 pub __size: [::std::os::raw::c_char; 4usize],
1159 pub __align: ::std::os::raw::c_int,
1160}
1161#[test]
1162fn bindgen_test_layout_pthread_condattr_t() {
1163 const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
1164 let ptr = UNINIT.as_ptr();
1165 assert_eq!(
1166 ::std::mem::size_of::<pthread_condattr_t>(),
1167 4usize,
1168 concat!("Size of: ", stringify!(pthread_condattr_t))
1169 );
1170 assert_eq!(
1171 ::std::mem::align_of::<pthread_condattr_t>(),
1172 4usize,
1173 concat!("Alignment of ", stringify!(pthread_condattr_t))
1174 );
1175 assert_eq!(
1176 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1177 0usize,
1178 concat!(
1179 "Offset of field: ",
1180 stringify!(pthread_condattr_t),
1181 "::",
1182 stringify!(__size)
1183 )
1184 );
1185 assert_eq!(
1186 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1187 0usize,
1188 concat!(
1189 "Offset of field: ",
1190 stringify!(pthread_condattr_t),
1191 "::",
1192 stringify!(__align)
1193 )
1194 );
1195}
1196pub type pthread_key_t = ::std::os::raw::c_uint;
1197pub type pthread_once_t = ::std::os::raw::c_int;
1198#[repr(C)]
1199#[derive(Copy, Clone)]
1200pub union pthread_attr_t {
1201 pub __size: [::std::os::raw::c_char; 56usize],
1202 pub __align: ::std::os::raw::c_long,
1203}
1204#[test]
1205fn bindgen_test_layout_pthread_attr_t() {
1206 const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1207 let ptr = UNINIT.as_ptr();
1208 assert_eq!(
1209 ::std::mem::size_of::<pthread_attr_t>(),
1210 56usize,
1211 concat!("Size of: ", stringify!(pthread_attr_t))
1212 );
1213 assert_eq!(
1214 ::std::mem::align_of::<pthread_attr_t>(),
1215 8usize,
1216 concat!("Alignment of ", stringify!(pthread_attr_t))
1217 );
1218 assert_eq!(
1219 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1220 0usize,
1221 concat!(
1222 "Offset of field: ",
1223 stringify!(pthread_attr_t),
1224 "::",
1225 stringify!(__size)
1226 )
1227 );
1228 assert_eq!(
1229 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1230 0usize,
1231 concat!(
1232 "Offset of field: ",
1233 stringify!(pthread_attr_t),
1234 "::",
1235 stringify!(__align)
1236 )
1237 );
1238}
1239#[repr(C)]
1240#[derive(Copy, Clone)]
1241pub union pthread_mutex_t {
1242 pub __data: __pthread_mutex_s,
1243 pub __size: [::std::os::raw::c_char; 40usize],
1244 pub __align: ::std::os::raw::c_long,
1245}
1246#[test]
1247fn bindgen_test_layout_pthread_mutex_t() {
1248 const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1249 let ptr = UNINIT.as_ptr();
1250 assert_eq!(
1251 ::std::mem::size_of::<pthread_mutex_t>(),
1252 40usize,
1253 concat!("Size of: ", stringify!(pthread_mutex_t))
1254 );
1255 assert_eq!(
1256 ::std::mem::align_of::<pthread_mutex_t>(),
1257 8usize,
1258 concat!("Alignment of ", stringify!(pthread_mutex_t))
1259 );
1260 assert_eq!(
1261 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1262 0usize,
1263 concat!(
1264 "Offset of field: ",
1265 stringify!(pthread_mutex_t),
1266 "::",
1267 stringify!(__data)
1268 )
1269 );
1270 assert_eq!(
1271 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1272 0usize,
1273 concat!(
1274 "Offset of field: ",
1275 stringify!(pthread_mutex_t),
1276 "::",
1277 stringify!(__size)
1278 )
1279 );
1280 assert_eq!(
1281 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1282 0usize,
1283 concat!(
1284 "Offset of field: ",
1285 stringify!(pthread_mutex_t),
1286 "::",
1287 stringify!(__align)
1288 )
1289 );
1290}
1291#[repr(C)]
1292#[derive(Copy, Clone)]
1293pub union pthread_cond_t {
1294 pub __data: __pthread_cond_s,
1295 pub __size: [::std::os::raw::c_char; 48usize],
1296 pub __align: ::std::os::raw::c_longlong,
1297}
1298#[test]
1299fn bindgen_test_layout_pthread_cond_t() {
1300 const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1301 let ptr = UNINIT.as_ptr();
1302 assert_eq!(
1303 ::std::mem::size_of::<pthread_cond_t>(),
1304 48usize,
1305 concat!("Size of: ", stringify!(pthread_cond_t))
1306 );
1307 assert_eq!(
1308 ::std::mem::align_of::<pthread_cond_t>(),
1309 8usize,
1310 concat!("Alignment of ", stringify!(pthread_cond_t))
1311 );
1312 assert_eq!(
1313 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1314 0usize,
1315 concat!(
1316 "Offset of field: ",
1317 stringify!(pthread_cond_t),
1318 "::",
1319 stringify!(__data)
1320 )
1321 );
1322 assert_eq!(
1323 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1324 0usize,
1325 concat!(
1326 "Offset of field: ",
1327 stringify!(pthread_cond_t),
1328 "::",
1329 stringify!(__size)
1330 )
1331 );
1332 assert_eq!(
1333 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1334 0usize,
1335 concat!(
1336 "Offset of field: ",
1337 stringify!(pthread_cond_t),
1338 "::",
1339 stringify!(__align)
1340 )
1341 );
1342}
1343#[repr(C)]
1344#[derive(Copy, Clone)]
1345pub union pthread_rwlock_t {
1346 pub __data: __pthread_rwlock_arch_t,
1347 pub __size: [::std::os::raw::c_char; 56usize],
1348 pub __align: ::std::os::raw::c_long,
1349}
1350#[test]
1351fn bindgen_test_layout_pthread_rwlock_t() {
1352 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1353 let ptr = UNINIT.as_ptr();
1354 assert_eq!(
1355 ::std::mem::size_of::<pthread_rwlock_t>(),
1356 56usize,
1357 concat!("Size of: ", stringify!(pthread_rwlock_t))
1358 );
1359 assert_eq!(
1360 ::std::mem::align_of::<pthread_rwlock_t>(),
1361 8usize,
1362 concat!("Alignment of ", stringify!(pthread_rwlock_t))
1363 );
1364 assert_eq!(
1365 unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
1366 0usize,
1367 concat!(
1368 "Offset of field: ",
1369 stringify!(pthread_rwlock_t),
1370 "::",
1371 stringify!(__data)
1372 )
1373 );
1374 assert_eq!(
1375 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1376 0usize,
1377 concat!(
1378 "Offset of field: ",
1379 stringify!(pthread_rwlock_t),
1380 "::",
1381 stringify!(__size)
1382 )
1383 );
1384 assert_eq!(
1385 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1386 0usize,
1387 concat!(
1388 "Offset of field: ",
1389 stringify!(pthread_rwlock_t),
1390 "::",
1391 stringify!(__align)
1392 )
1393 );
1394}
1395#[repr(C)]
1396#[derive(Copy, Clone)]
1397pub union pthread_rwlockattr_t {
1398 pub __size: [::std::os::raw::c_char; 8usize],
1399 pub __align: ::std::os::raw::c_long,
1400}
1401#[test]
1402fn bindgen_test_layout_pthread_rwlockattr_t() {
1403 const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
1404 let ptr = UNINIT.as_ptr();
1405 assert_eq!(
1406 ::std::mem::size_of::<pthread_rwlockattr_t>(),
1407 8usize,
1408 concat!("Size of: ", stringify!(pthread_rwlockattr_t))
1409 );
1410 assert_eq!(
1411 ::std::mem::align_of::<pthread_rwlockattr_t>(),
1412 8usize,
1413 concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
1414 );
1415 assert_eq!(
1416 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1417 0usize,
1418 concat!(
1419 "Offset of field: ",
1420 stringify!(pthread_rwlockattr_t),
1421 "::",
1422 stringify!(__size)
1423 )
1424 );
1425 assert_eq!(
1426 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1427 0usize,
1428 concat!(
1429 "Offset of field: ",
1430 stringify!(pthread_rwlockattr_t),
1431 "::",
1432 stringify!(__align)
1433 )
1434 );
1435}
1436pub type pthread_spinlock_t = ::std::os::raw::c_int;
1437#[repr(C)]
1438#[derive(Copy, Clone)]
1439pub union pthread_barrier_t {
1440 pub __size: [::std::os::raw::c_char; 32usize],
1441 pub __align: ::std::os::raw::c_long,
1442}
1443#[test]
1444fn bindgen_test_layout_pthread_barrier_t() {
1445 const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1446 let ptr = UNINIT.as_ptr();
1447 assert_eq!(
1448 ::std::mem::size_of::<pthread_barrier_t>(),
1449 32usize,
1450 concat!("Size of: ", stringify!(pthread_barrier_t))
1451 );
1452 assert_eq!(
1453 ::std::mem::align_of::<pthread_barrier_t>(),
1454 8usize,
1455 concat!("Alignment of ", stringify!(pthread_barrier_t))
1456 );
1457 assert_eq!(
1458 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1459 0usize,
1460 concat!(
1461 "Offset of field: ",
1462 stringify!(pthread_barrier_t),
1463 "::",
1464 stringify!(__size)
1465 )
1466 );
1467 assert_eq!(
1468 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1469 0usize,
1470 concat!(
1471 "Offset of field: ",
1472 stringify!(pthread_barrier_t),
1473 "::",
1474 stringify!(__align)
1475 )
1476 );
1477}
1478#[repr(C)]
1479#[derive(Copy, Clone)]
1480pub union pthread_barrierattr_t {
1481 pub __size: [::std::os::raw::c_char; 4usize],
1482 pub __align: ::std::os::raw::c_int,
1483}
1484#[test]
1485fn bindgen_test_layout_pthread_barrierattr_t() {
1486 const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
1487 ::std::mem::MaybeUninit::uninit();
1488 let ptr = UNINIT.as_ptr();
1489 assert_eq!(
1490 ::std::mem::size_of::<pthread_barrierattr_t>(),
1491 4usize,
1492 concat!("Size of: ", stringify!(pthread_barrierattr_t))
1493 );
1494 assert_eq!(
1495 ::std::mem::align_of::<pthread_barrierattr_t>(),
1496 4usize,
1497 concat!("Alignment of ", stringify!(pthread_barrierattr_t))
1498 );
1499 assert_eq!(
1500 unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
1501 0usize,
1502 concat!(
1503 "Offset of field: ",
1504 stringify!(pthread_barrierattr_t),
1505 "::",
1506 stringify!(__size)
1507 )
1508 );
1509 assert_eq!(
1510 unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
1511 0usize,
1512 concat!(
1513 "Offset of field: ",
1514 stringify!(pthread_barrierattr_t),
1515 "::",
1516 stringify!(__align)
1517 )
1518 );
1519}
1520pub type int_least8_t = __int_least8_t;
1521pub type int_least16_t = __int_least16_t;
1522pub type int_least32_t = __int_least32_t;
1523pub type int_least64_t = __int_least64_t;
1524pub type uint_least8_t = __uint_least8_t;
1525pub type uint_least16_t = __uint_least16_t;
1526pub type uint_least32_t = __uint_least32_t;
1527pub type uint_least64_t = __uint_least64_t;
1528pub type int_fast8_t = ::std::os::raw::c_schar;
1529pub type int_fast16_t = ::std::os::raw::c_long;
1530pub type int_fast32_t = ::std::os::raw::c_long;
1531pub type int_fast64_t = ::std::os::raw::c_long;
1532pub type uint_fast8_t = ::std::os::raw::c_uchar;
1533pub type uint_fast16_t = ::std::os::raw::c_ulong;
1534pub type uint_fast32_t = ::std::os::raw::c_ulong;
1535pub type uint_fast64_t = ::std::os::raw::c_ulong;
1536pub type intmax_t = __intmax_t;
1537pub type uintmax_t = __uintmax_t;
1538#[repr(C)]
1539#[derive(Debug, Copy, Clone)]
1540pub struct oc_vpn_proto {
1541 pub name: *const ::std::os::raw::c_char,
1542 pub pretty_name: *const ::std::os::raw::c_char,
1543 pub description: *const ::std::os::raw::c_char,
1544 pub flags: ::std::os::raw::c_uint,
1545}
1546#[test]
1547fn bindgen_test_layout_oc_vpn_proto() {
1548 const UNINIT: ::std::mem::MaybeUninit<oc_vpn_proto> = ::std::mem::MaybeUninit::uninit();
1549 let ptr = UNINIT.as_ptr();
1550 assert_eq!(
1551 ::std::mem::size_of::<oc_vpn_proto>(),
1552 32usize,
1553 concat!("Size of: ", stringify!(oc_vpn_proto))
1554 );
1555 assert_eq!(
1556 ::std::mem::align_of::<oc_vpn_proto>(),
1557 8usize,
1558 concat!("Alignment of ", stringify!(oc_vpn_proto))
1559 );
1560 assert_eq!(
1561 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1562 0usize,
1563 concat!(
1564 "Offset of field: ",
1565 stringify!(oc_vpn_proto),
1566 "::",
1567 stringify!(name)
1568 )
1569 );
1570 assert_eq!(
1571 unsafe { ::std::ptr::addr_of!((*ptr).pretty_name) as usize - ptr as usize },
1572 8usize,
1573 concat!(
1574 "Offset of field: ",
1575 stringify!(oc_vpn_proto),
1576 "::",
1577 stringify!(pretty_name)
1578 )
1579 );
1580 assert_eq!(
1581 unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
1582 16usize,
1583 concat!(
1584 "Offset of field: ",
1585 stringify!(oc_vpn_proto),
1586 "::",
1587 stringify!(description)
1588 )
1589 );
1590 assert_eq!(
1591 unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1592 24usize,
1593 concat!(
1594 "Offset of field: ",
1595 stringify!(oc_vpn_proto),
1596 "::",
1597 stringify!(flags)
1598 )
1599 );
1600}
1601#[repr(C)]
1602#[derive(Debug, Copy, Clone)]
1603pub struct oc_form_opt {
1604 pub next: *mut oc_form_opt,
1605 pub type_: ::std::os::raw::c_int,
1606 pub name: *mut ::std::os::raw::c_char,
1607 pub label: *mut ::std::os::raw::c_char,
1608 pub _value: *mut ::std::os::raw::c_char,
1609 pub flags: ::std::os::raw::c_uint,
1610 pub reserved: *mut ::std::os::raw::c_void,
1611}
1612#[test]
1613fn bindgen_test_layout_oc_form_opt() {
1614 const UNINIT: ::std::mem::MaybeUninit<oc_form_opt> = ::std::mem::MaybeUninit::uninit();
1615 let ptr = UNINIT.as_ptr();
1616 assert_eq!(
1617 ::std::mem::size_of::<oc_form_opt>(),
1618 56usize,
1619 concat!("Size of: ", stringify!(oc_form_opt))
1620 );
1621 assert_eq!(
1622 ::std::mem::align_of::<oc_form_opt>(),
1623 8usize,
1624 concat!("Alignment of ", stringify!(oc_form_opt))
1625 );
1626 assert_eq!(
1627 unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
1628 0usize,
1629 concat!(
1630 "Offset of field: ",
1631 stringify!(oc_form_opt),
1632 "::",
1633 stringify!(next)
1634 )
1635 );
1636 assert_eq!(
1637 unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
1638 8usize,
1639 concat!(
1640 "Offset of field: ",
1641 stringify!(oc_form_opt),
1642 "::",
1643 stringify!(type_)
1644 )
1645 );
1646 assert_eq!(
1647 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1648 16usize,
1649 concat!(
1650 "Offset of field: ",
1651 stringify!(oc_form_opt),
1652 "::",
1653 stringify!(name)
1654 )
1655 );
1656 assert_eq!(
1657 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
1658 24usize,
1659 concat!(
1660 "Offset of field: ",
1661 stringify!(oc_form_opt),
1662 "::",
1663 stringify!(label)
1664 )
1665 );
1666 assert_eq!(
1667 unsafe { ::std::ptr::addr_of!((*ptr)._value) as usize - ptr as usize },
1668 32usize,
1669 concat!(
1670 "Offset of field: ",
1671 stringify!(oc_form_opt),
1672 "::",
1673 stringify!(_value)
1674 )
1675 );
1676 assert_eq!(
1677 unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1678 40usize,
1679 concat!(
1680 "Offset of field: ",
1681 stringify!(oc_form_opt),
1682 "::",
1683 stringify!(flags)
1684 )
1685 );
1686 assert_eq!(
1687 unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
1688 48usize,
1689 concat!(
1690 "Offset of field: ",
1691 stringify!(oc_form_opt),
1692 "::",
1693 stringify!(reserved)
1694 )
1695 );
1696}
1697extern "C" {
1698 pub fn openconnect_set_option_value(
1699 opt: *mut oc_form_opt,
1700 value: *const ::std::os::raw::c_char,
1701 ) -> ::std::os::raw::c_int;
1702}
1703#[repr(C)]
1704#[derive(Debug, Copy, Clone)]
1705pub struct oc_choice {
1706 pub name: *mut ::std::os::raw::c_char,
1707 pub label: *mut ::std::os::raw::c_char,
1708 pub auth_type: *mut ::std::os::raw::c_char,
1709 pub override_name: *mut ::std::os::raw::c_char,
1710 pub override_label: *mut ::std::os::raw::c_char,
1711}
1712#[test]
1713fn bindgen_test_layout_oc_choice() {
1714 const UNINIT: ::std::mem::MaybeUninit<oc_choice> = ::std::mem::MaybeUninit::uninit();
1715 let ptr = UNINIT.as_ptr();
1716 assert_eq!(
1717 ::std::mem::size_of::<oc_choice>(),
1718 40usize,
1719 concat!("Size of: ", stringify!(oc_choice))
1720 );
1721 assert_eq!(
1722 ::std::mem::align_of::<oc_choice>(),
1723 8usize,
1724 concat!("Alignment of ", stringify!(oc_choice))
1725 );
1726 assert_eq!(
1727 unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1728 0usize,
1729 concat!(
1730 "Offset of field: ",
1731 stringify!(oc_choice),
1732 "::",
1733 stringify!(name)
1734 )
1735 );
1736 assert_eq!(
1737 unsafe { ::std::ptr::addr_of!((*ptr).label) as usize - ptr as usize },
1738 8usize,
1739 concat!(
1740 "Offset of field: ",
1741 stringify!(oc_choice),
1742 "::",
1743 stringify!(label)
1744 )
1745 );
1746 assert_eq!(
1747 unsafe { ::std::ptr::addr_of!((*ptr).auth_type) as usize - ptr as usize },
1748 16usize,
1749 concat!(
1750 "Offset of field: ",
1751 stringify!(oc_choice),
1752 "::",
1753 stringify!(auth_type)
1754 )
1755 );
1756 assert_eq!(
1757 unsafe { ::std::ptr::addr_of!((*ptr).override_name) as usize - ptr as usize },
1758 24usize,
1759 concat!(
1760 "Offset of field: ",
1761 stringify!(oc_choice),
1762 "::",
1763 stringify!(override_name)
1764 )
1765 );
1766 assert_eq!(
1767 unsafe { ::std::ptr::addr_of!((*ptr).override_label) as usize - ptr as usize },
1768 32usize,
1769 concat!(
1770 "Offset of field: ",
1771 stringify!(oc_choice),
1772 "::",
1773 stringify!(override_label)
1774 )
1775 );
1776}
1777#[repr(C)]
1778#[derive(Debug, Copy, Clone)]
1779pub struct oc_form_opt_select {
1780 pub form: oc_form_opt,
1781 pub nr_choices: ::std::os::raw::c_int,
1782 pub choices: *mut *mut oc_choice,
1783}
1784#[test]
1785fn bindgen_test_layout_oc_form_opt_select() {
1786 const UNINIT: ::std::mem::MaybeUninit<oc_form_opt_select> = ::std::mem::MaybeUninit::uninit();
1787 let ptr = UNINIT.as_ptr();
1788 assert_eq!(
1789 ::std::mem::size_of::<oc_form_opt_select>(),
1790 72usize,
1791 concat!("Size of: ", stringify!(oc_form_opt_select))
1792 );
1793 assert_eq!(
1794 ::std::mem::align_of::<oc_form_opt_select>(),
1795 8usize,
1796 concat!("Alignment of ", stringify!(oc_form_opt_select))
1797 );
1798 assert_eq!(
1799 unsafe { ::std::ptr::addr_of!((*ptr).form) as usize - ptr as usize },
1800 0usize,
1801 concat!(
1802 "Offset of field: ",
1803 stringify!(oc_form_opt_select),
1804 "::",
1805 stringify!(form)
1806 )
1807 );
1808 assert_eq!(
1809 unsafe { ::std::ptr::addr_of!((*ptr).nr_choices) as usize - ptr as usize },
1810 56usize,
1811 concat!(
1812 "Offset of field: ",
1813 stringify!(oc_form_opt_select),
1814 "::",
1815 stringify!(nr_choices)
1816 )
1817 );
1818 assert_eq!(
1819 unsafe { ::std::ptr::addr_of!((*ptr).choices) as usize - ptr as usize },
1820 64usize,
1821 concat!(
1822 "Offset of field: ",
1823 stringify!(oc_form_opt_select),
1824 "::",
1825 stringify!(choices)
1826 )
1827 );
1828}
1829#[repr(C)]
1830#[derive(Debug, Copy, Clone)]
1831pub struct oc_auth_form {
1832 pub banner: *mut ::std::os::raw::c_char,
1833 pub message: *mut ::std::os::raw::c_char,
1834 pub error: *mut ::std::os::raw::c_char,
1835 pub auth_id: *mut ::std::os::raw::c_char,
1836 pub method: *mut ::std::os::raw::c_char,
1837 pub action: *mut ::std::os::raw::c_char,
1838 pub opts: *mut oc_form_opt,
1839 pub authgroup_opt: *mut oc_form_opt_select,
1840 pub authgroup_selection: ::std::os::raw::c_int,
1841}
1842#[test]
1843fn bindgen_test_layout_oc_auth_form() {
1844 const UNINIT: ::std::mem::MaybeUninit<oc_auth_form> = ::std::mem::MaybeUninit::uninit();
1845 let ptr = UNINIT.as_ptr();
1846 assert_eq!(
1847 ::std::mem::size_of::<oc_auth_form>(),
1848 72usize,
1849 concat!("Size of: ", stringify!(oc_auth_form))
1850 );
1851 assert_eq!(
1852 ::std::mem::align_of::<oc_auth_form>(),
1853 8usize,
1854 concat!("Alignment of ", stringify!(oc_auth_form))
1855 );
1856 assert_eq!(
1857 unsafe { ::std::ptr::addr_of!((*ptr).banner) as usize - ptr as usize },
1858 0usize,
1859 concat!(
1860 "Offset of field: ",
1861 stringify!(oc_auth_form),
1862 "::",
1863 stringify!(banner)
1864 )
1865 );
1866 assert_eq!(
1867 unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
1868 8usize,
1869 concat!(
1870 "Offset of field: ",
1871 stringify!(oc_auth_form),
1872 "::",
1873 stringify!(message)
1874 )
1875 );
1876 assert_eq!(
1877 unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
1878 16usize,
1879 concat!(
1880 "Offset of field: ",
1881 stringify!(oc_auth_form),
1882 "::",
1883 stringify!(error)
1884 )
1885 );
1886 assert_eq!(
1887 unsafe { ::std::ptr::addr_of!((*ptr).auth_id) as usize - ptr as usize },
1888 24usize,
1889 concat!(
1890 "Offset of field: ",
1891 stringify!(oc_auth_form),
1892 "::",
1893 stringify!(auth_id)
1894 )
1895 );
1896 assert_eq!(
1897 unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
1898 32usize,
1899 concat!(
1900 "Offset of field: ",
1901 stringify!(oc_auth_form),
1902 "::",
1903 stringify!(method)
1904 )
1905 );
1906 assert_eq!(
1907 unsafe { ::std::ptr::addr_of!((*ptr).action) as usize - ptr as usize },
1908 40usize,
1909 concat!(
1910 "Offset of field: ",
1911 stringify!(oc_auth_form),
1912 "::",
1913 stringify!(action)
1914 )
1915 );
1916 assert_eq!(
1917 unsafe { ::std::ptr::addr_of!((*ptr).opts) as usize - ptr as usize },
1918 48usize,
1919 concat!(
1920 "Offset of field: ",
1921 stringify!(oc_auth_form),
1922 "::",
1923 stringify!(opts)
1924 )
1925 );
1926 assert_eq!(
1927 unsafe { ::std::ptr::addr_of!((*ptr).authgroup_opt) as usize - ptr as usize },
1928 56usize,
1929 concat!(
1930 "Offset of field: ",
1931 stringify!(oc_auth_form),
1932 "::",
1933 stringify!(authgroup_opt)
1934 )
1935 );
1936 assert_eq!(
1937 unsafe { ::std::ptr::addr_of!((*ptr).authgroup_selection) as usize - ptr as usize },
1938 64usize,
1939 concat!(
1940 "Offset of field: ",
1941 stringify!(oc_auth_form),
1942 "::",
1943 stringify!(authgroup_selection)
1944 )
1945 );
1946}
1947#[repr(C)]
1948#[derive(Debug, Copy, Clone)]
1949pub struct oc_split_include {
1950 pub route: *const ::std::os::raw::c_char,
1951 pub next: *mut oc_split_include,
1952}
1953#[test]
1954fn bindgen_test_layout_oc_split_include() {
1955 const UNINIT: ::std::mem::MaybeUninit<oc_split_include> = ::std::mem::MaybeUninit::uninit();
1956 let ptr = UNINIT.as_ptr();
1957 assert_eq!(
1958 ::std::mem::size_of::<oc_split_include>(),
1959 16usize,
1960 concat!("Size of: ", stringify!(oc_split_include))
1961 );
1962 assert_eq!(
1963 ::std::mem::align_of::<oc_split_include>(),
1964 8usize,
1965 concat!("Alignment of ", stringify!(oc_split_include))
1966 );
1967 assert_eq!(
1968 unsafe { ::std::ptr::addr_of!((*ptr).route) as usize - ptr as usize },
1969 0usize,
1970 concat!(
1971 "Offset of field: ",
1972 stringify!(oc_split_include),
1973 "::",
1974 stringify!(route)
1975 )
1976 );
1977 assert_eq!(
1978 unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
1979 8usize,
1980 concat!(
1981 "Offset of field: ",
1982 stringify!(oc_split_include),
1983 "::",
1984 stringify!(next)
1985 )
1986 );
1987}
1988#[repr(C)]
1989#[derive(Debug, Copy, Clone)]
1990pub struct oc_ip_info {
1991 pub addr: *const ::std::os::raw::c_char,
1992 pub netmask: *const ::std::os::raw::c_char,
1993 pub addr6: *const ::std::os::raw::c_char,
1994 pub netmask6: *const ::std::os::raw::c_char,
1995 pub dns: [*const ::std::os::raw::c_char; 3usize],
1996 pub nbns: [*const ::std::os::raw::c_char; 3usize],
1997 pub domain: *const ::std::os::raw::c_char,
1998 pub proxy_pac: *const ::std::os::raw::c_char,
1999 pub mtu: ::std::os::raw::c_int,
2000 pub split_dns: *mut oc_split_include,
2001 pub split_includes: *mut oc_split_include,
2002 pub split_excludes: *mut oc_split_include,
2003 pub gateway_addr: *mut ::std::os::raw::c_char,
2004}
2005#[test]
2006fn bindgen_test_layout_oc_ip_info() {
2007 const UNINIT: ::std::mem::MaybeUninit<oc_ip_info> = ::std::mem::MaybeUninit::uninit();
2008 let ptr = UNINIT.as_ptr();
2009 assert_eq!(
2010 ::std::mem::size_of::<oc_ip_info>(),
2011 136usize,
2012 concat!("Size of: ", stringify!(oc_ip_info))
2013 );
2014 assert_eq!(
2015 ::std::mem::align_of::<oc_ip_info>(),
2016 8usize,
2017 concat!("Alignment of ", stringify!(oc_ip_info))
2018 );
2019 assert_eq!(
2020 unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
2021 0usize,
2022 concat!(
2023 "Offset of field: ",
2024 stringify!(oc_ip_info),
2025 "::",
2026 stringify!(addr)
2027 )
2028 );
2029 assert_eq!(
2030 unsafe { ::std::ptr::addr_of!((*ptr).netmask) as usize - ptr as usize },
2031 8usize,
2032 concat!(
2033 "Offset of field: ",
2034 stringify!(oc_ip_info),
2035 "::",
2036 stringify!(netmask)
2037 )
2038 );
2039 assert_eq!(
2040 unsafe { ::std::ptr::addr_of!((*ptr).addr6) as usize - ptr as usize },
2041 16usize,
2042 concat!(
2043 "Offset of field: ",
2044 stringify!(oc_ip_info),
2045 "::",
2046 stringify!(addr6)
2047 )
2048 );
2049 assert_eq!(
2050 unsafe { ::std::ptr::addr_of!((*ptr).netmask6) as usize - ptr as usize },
2051 24usize,
2052 concat!(
2053 "Offset of field: ",
2054 stringify!(oc_ip_info),
2055 "::",
2056 stringify!(netmask6)
2057 )
2058 );
2059 assert_eq!(
2060 unsafe { ::std::ptr::addr_of!((*ptr).dns) as usize - ptr as usize },
2061 32usize,
2062 concat!(
2063 "Offset of field: ",
2064 stringify!(oc_ip_info),
2065 "::",
2066 stringify!(dns)
2067 )
2068 );
2069 assert_eq!(
2070 unsafe { ::std::ptr::addr_of!((*ptr).nbns) as usize - ptr as usize },
2071 56usize,
2072 concat!(
2073 "Offset of field: ",
2074 stringify!(oc_ip_info),
2075 "::",
2076 stringify!(nbns)
2077 )
2078 );
2079 assert_eq!(
2080 unsafe { ::std::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
2081 80usize,
2082 concat!(
2083 "Offset of field: ",
2084 stringify!(oc_ip_info),
2085 "::",
2086 stringify!(domain)
2087 )
2088 );
2089 assert_eq!(
2090 unsafe { ::std::ptr::addr_of!((*ptr).proxy_pac) as usize - ptr as usize },
2091 88usize,
2092 concat!(
2093 "Offset of field: ",
2094 stringify!(oc_ip_info),
2095 "::",
2096 stringify!(proxy_pac)
2097 )
2098 );
2099 assert_eq!(
2100 unsafe { ::std::ptr::addr_of!((*ptr).mtu) as usize - ptr as usize },
2101 96usize,
2102 concat!(
2103 "Offset of field: ",
2104 stringify!(oc_ip_info),
2105 "::",
2106 stringify!(mtu)
2107 )
2108 );
2109 assert_eq!(
2110 unsafe { ::std::ptr::addr_of!((*ptr).split_dns) as usize - ptr as usize },
2111 104usize,
2112 concat!(
2113 "Offset of field: ",
2114 stringify!(oc_ip_info),
2115 "::",
2116 stringify!(split_dns)
2117 )
2118 );
2119 assert_eq!(
2120 unsafe { ::std::ptr::addr_of!((*ptr).split_includes) as usize - ptr as usize },
2121 112usize,
2122 concat!(
2123 "Offset of field: ",
2124 stringify!(oc_ip_info),
2125 "::",
2126 stringify!(split_includes)
2127 )
2128 );
2129 assert_eq!(
2130 unsafe { ::std::ptr::addr_of!((*ptr).split_excludes) as usize - ptr as usize },
2131 120usize,
2132 concat!(
2133 "Offset of field: ",
2134 stringify!(oc_ip_info),
2135 "::",
2136 stringify!(split_excludes)
2137 )
2138 );
2139 assert_eq!(
2140 unsafe { ::std::ptr::addr_of!((*ptr).gateway_addr) as usize - ptr as usize },
2141 128usize,
2142 concat!(
2143 "Offset of field: ",
2144 stringify!(oc_ip_info),
2145 "::",
2146 stringify!(gateway_addr)
2147 )
2148 );
2149}
2150#[repr(C)]
2151#[derive(Debug, Copy, Clone)]
2152pub struct oc_vpn_option {
2153 pub option: *mut ::std::os::raw::c_char,
2154 pub value: *mut ::std::os::raw::c_char,
2155 pub next: *mut oc_vpn_option,
2156}
2157#[test]
2158fn bindgen_test_layout_oc_vpn_option() {
2159 const UNINIT: ::std::mem::MaybeUninit<oc_vpn_option> = ::std::mem::MaybeUninit::uninit();
2160 let ptr = UNINIT.as_ptr();
2161 assert_eq!(
2162 ::std::mem::size_of::<oc_vpn_option>(),
2163 24usize,
2164 concat!("Size of: ", stringify!(oc_vpn_option))
2165 );
2166 assert_eq!(
2167 ::std::mem::align_of::<oc_vpn_option>(),
2168 8usize,
2169 concat!("Alignment of ", stringify!(oc_vpn_option))
2170 );
2171 assert_eq!(
2172 unsafe { ::std::ptr::addr_of!((*ptr).option) as usize - ptr as usize },
2173 0usize,
2174 concat!(
2175 "Offset of field: ",
2176 stringify!(oc_vpn_option),
2177 "::",
2178 stringify!(option)
2179 )
2180 );
2181 assert_eq!(
2182 unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
2183 8usize,
2184 concat!(
2185 "Offset of field: ",
2186 stringify!(oc_vpn_option),
2187 "::",
2188 stringify!(value)
2189 )
2190 );
2191 assert_eq!(
2192 unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
2193 16usize,
2194 concat!(
2195 "Offset of field: ",
2196 stringify!(oc_vpn_option),
2197 "::",
2198 stringify!(next)
2199 )
2200 );
2201}
2202#[repr(C)]
2203#[derive(Debug, Copy, Clone)]
2204pub struct oc_stats {
2205 pub tx_pkts: u64,
2206 pub tx_bytes: u64,
2207 pub rx_pkts: u64,
2208 pub rx_bytes: u64,
2209}
2210#[test]
2211fn bindgen_test_layout_oc_stats() {
2212 const UNINIT: ::std::mem::MaybeUninit<oc_stats> = ::std::mem::MaybeUninit::uninit();
2213 let ptr = UNINIT.as_ptr();
2214 assert_eq!(
2215 ::std::mem::size_of::<oc_stats>(),
2216 32usize,
2217 concat!("Size of: ", stringify!(oc_stats))
2218 );
2219 assert_eq!(
2220 ::std::mem::align_of::<oc_stats>(),
2221 8usize,
2222 concat!("Alignment of ", stringify!(oc_stats))
2223 );
2224 assert_eq!(
2225 unsafe { ::std::ptr::addr_of!((*ptr).tx_pkts) as usize - ptr as usize },
2226 0usize,
2227 concat!(
2228 "Offset of field: ",
2229 stringify!(oc_stats),
2230 "::",
2231 stringify!(tx_pkts)
2232 )
2233 );
2234 assert_eq!(
2235 unsafe { ::std::ptr::addr_of!((*ptr).tx_bytes) as usize - ptr as usize },
2236 8usize,
2237 concat!(
2238 "Offset of field: ",
2239 stringify!(oc_stats),
2240 "::",
2241 stringify!(tx_bytes)
2242 )
2243 );
2244 assert_eq!(
2245 unsafe { ::std::ptr::addr_of!((*ptr).rx_pkts) as usize - ptr as usize },
2246 16usize,
2247 concat!(
2248 "Offset of field: ",
2249 stringify!(oc_stats),
2250 "::",
2251 stringify!(rx_pkts)
2252 )
2253 );
2254 assert_eq!(
2255 unsafe { ::std::ptr::addr_of!((*ptr).rx_bytes) as usize - ptr as usize },
2256 24usize,
2257 concat!(
2258 "Offset of field: ",
2259 stringify!(oc_stats),
2260 "::",
2261 stringify!(rx_bytes)
2262 )
2263 );
2264}
2265#[repr(C)]
2266#[derive(Debug, Copy, Clone)]
2267pub struct oc_cert {
2268 pub der_len: ::std::os::raw::c_int,
2269 pub der_data: *mut ::std::os::raw::c_uchar,
2270 pub reserved: *mut ::std::os::raw::c_void,
2271}
2272#[test]
2273fn bindgen_test_layout_oc_cert() {
2274 const UNINIT: ::std::mem::MaybeUninit<oc_cert> = ::std::mem::MaybeUninit::uninit();
2275 let ptr = UNINIT.as_ptr();
2276 assert_eq!(
2277 ::std::mem::size_of::<oc_cert>(),
2278 24usize,
2279 concat!("Size of: ", stringify!(oc_cert))
2280 );
2281 assert_eq!(
2282 ::std::mem::align_of::<oc_cert>(),
2283 8usize,
2284 concat!("Alignment of ", stringify!(oc_cert))
2285 );
2286 assert_eq!(
2287 unsafe { ::std::ptr::addr_of!((*ptr).der_len) as usize - ptr as usize },
2288 0usize,
2289 concat!(
2290 "Offset of field: ",
2291 stringify!(oc_cert),
2292 "::",
2293 stringify!(der_len)
2294 )
2295 );
2296 assert_eq!(
2297 unsafe { ::std::ptr::addr_of!((*ptr).der_data) as usize - ptr as usize },
2298 8usize,
2299 concat!(
2300 "Offset of field: ",
2301 stringify!(oc_cert),
2302 "::",
2303 stringify!(der_data)
2304 )
2305 );
2306 assert_eq!(
2307 unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
2308 16usize,
2309 concat!(
2310 "Offset of field: ",
2311 stringify!(oc_cert),
2312 "::",
2313 stringify!(reserved)
2314 )
2315 );
2316}
2317#[repr(C)]
2318#[derive(Debug, Copy, Clone)]
2319pub struct oc_webview_result {
2320 pub uri: *const ::std::os::raw::c_char,
2321 pub cookies: *mut *const ::std::os::raw::c_char,
2322 pub headers: *mut *const ::std::os::raw::c_char,
2323}
2324#[test]
2325fn bindgen_test_layout_oc_webview_result() {
2326 const UNINIT: ::std::mem::MaybeUninit<oc_webview_result> = ::std::mem::MaybeUninit::uninit();
2327 let ptr = UNINIT.as_ptr();
2328 assert_eq!(
2329 ::std::mem::size_of::<oc_webview_result>(),
2330 24usize,
2331 concat!("Size of: ", stringify!(oc_webview_result))
2332 );
2333 assert_eq!(
2334 ::std::mem::align_of::<oc_webview_result>(),
2335 8usize,
2336 concat!("Alignment of ", stringify!(oc_webview_result))
2337 );
2338 assert_eq!(
2339 unsafe { ::std::ptr::addr_of!((*ptr).uri) as usize - ptr as usize },
2340 0usize,
2341 concat!(
2342 "Offset of field: ",
2343 stringify!(oc_webview_result),
2344 "::",
2345 stringify!(uri)
2346 )
2347 );
2348 assert_eq!(
2349 unsafe { ::std::ptr::addr_of!((*ptr).cookies) as usize - ptr as usize },
2350 8usize,
2351 concat!(
2352 "Offset of field: ",
2353 stringify!(oc_webview_result),
2354 "::",
2355 stringify!(cookies)
2356 )
2357 );
2358 assert_eq!(
2359 unsafe { ::std::ptr::addr_of!((*ptr).headers) as usize - ptr as usize },
2360 16usize,
2361 concat!(
2362 "Offset of field: ",
2363 stringify!(oc_webview_result),
2364 "::",
2365 stringify!(headers)
2366 )
2367 );
2368}
2369#[repr(C)]
2370#[derive(Debug, Copy, Clone)]
2371pub struct openconnect_info {
2372 _unused: [u8; 0],
2373}
2374pub const oc_token_mode_t_OC_TOKEN_MODE_NONE: oc_token_mode_t = 0;
2375pub const oc_token_mode_t_OC_TOKEN_MODE_STOKEN: oc_token_mode_t = 1;
2376pub const oc_token_mode_t_OC_TOKEN_MODE_TOTP: oc_token_mode_t = 2;
2377pub const oc_token_mode_t_OC_TOKEN_MODE_HOTP: oc_token_mode_t = 3;
2378pub const oc_token_mode_t_OC_TOKEN_MODE_YUBIOATH: oc_token_mode_t = 4;
2379pub const oc_token_mode_t_OC_TOKEN_MODE_OIDC: oc_token_mode_t = 5;
2380pub type oc_token_mode_t = ::std::os::raw::c_uint;
2381pub const oc_compression_mode_t_OC_COMPRESSION_MODE_NONE: oc_compression_mode_t = 0;
2382pub const oc_compression_mode_t_OC_COMPRESSION_MODE_STATELESS: oc_compression_mode_t = 1;
2383pub const oc_compression_mode_t_OC_COMPRESSION_MODE_ALL: oc_compression_mode_t = 2;
2384pub type oc_compression_mode_t = ::std::os::raw::c_uint;
2385extern "C" {
2386 pub fn openconnect_set_csd_environ(
2387 vpninfo: *mut openconnect_info,
2388 name: *const ::std::os::raw::c_char,
2389 value: *const ::std::os::raw::c_char,
2390 ) -> ::std::os::raw::c_int;
2391}
2392extern "C" {
2393 pub fn openconnect_get_peer_cert_hash(
2394 vpninfo: *mut openconnect_info,
2395 ) -> *const ::std::os::raw::c_char;
2396}
2397extern "C" {
2398 pub fn openconnect_check_peer_cert_hash(
2399 vpninfo: *mut openconnect_info,
2400 old_hash: *const ::std::os::raw::c_char,
2401 ) -> ::std::os::raw::c_int;
2402}
2403extern "C" {
2404 pub fn openconnect_get_peer_cert_details(
2405 vpninfo: *mut openconnect_info,
2406 ) -> *mut ::std::os::raw::c_char;
2407}
2408extern "C" {
2409 pub fn openconnect_get_peer_cert_DER(
2410 vpninfo: *mut openconnect_info,
2411 buf: *mut *mut ::std::os::raw::c_uchar,
2412 ) -> ::std::os::raw::c_int;
2413}
2414extern "C" {
2415 pub fn openconnect_free_cert_info(
2416 vpninfo: *mut openconnect_info,
2417 buf: *mut ::std::os::raw::c_void,
2418 );
2419}
2420extern "C" {
2421 pub fn openconnect_get_peer_cert_chain(
2422 vpninfo: *mut openconnect_info,
2423 chain: *mut *mut oc_cert,
2424 ) -> ::std::os::raw::c_int;
2425}
2426extern "C" {
2427 pub fn openconnect_free_peer_cert_chain(vpninfo: *mut openconnect_info, chain: *mut oc_cert);
2428}
2429extern "C" {
2430 pub fn openconnect_set_http_auth(
2431 vpninfo: *mut openconnect_info,
2432 methods: *const ::std::os::raw::c_char,
2433 ) -> ::std::os::raw::c_int;
2434}
2435extern "C" {
2436 pub fn openconnect_set_proxy_auth(
2437 vpninfo: *mut openconnect_info,
2438 methods: *const ::std::os::raw::c_char,
2439 ) -> ::std::os::raw::c_int;
2440}
2441extern "C" {
2442 pub fn openconnect_set_http_proxy(
2443 vpninfo: *mut openconnect_info,
2444 proxy: *const ::std::os::raw::c_char,
2445 ) -> ::std::os::raw::c_int;
2446}
2447extern "C" {
2448 pub fn openconnect_set_useragent(
2449 vpninfo: *mut openconnect_info,
2450 useragent: *const ::std::os::raw::c_char,
2451 ) -> ::std::os::raw::c_int;
2452}
2453extern "C" {
2454 pub fn openconnect_passphrase_from_fsid(
2455 vpninfo: *mut openconnect_info,
2456 ) -> ::std::os::raw::c_int;
2457}
2458extern "C" {
2459 pub fn openconnect_obtain_cookie(vpninfo: *mut openconnect_info) -> ::std::os::raw::c_int;
2460}
2461extern "C" {
2462 pub fn openconnect_init_ssl() -> ::std::os::raw::c_int;
2463}
2464extern "C" {
2465 pub fn openconnect_get_cstp_cipher(
2466 arg1: *mut openconnect_info,
2467 ) -> *const ::std::os::raw::c_char;
2468}
2469extern "C" {
2470 pub fn openconnect_get_dtls_cipher(
2471 arg1: *mut openconnect_info,
2472 ) -> *const ::std::os::raw::c_char;
2473}
2474extern "C" {
2475 pub fn openconnect_get_cstp_compression(
2476 arg1: *mut openconnect_info,
2477 ) -> *const ::std::os::raw::c_char;
2478}
2479extern "C" {
2480 pub fn openconnect_get_dtls_compression(
2481 arg1: *mut openconnect_info,
2482 ) -> *const ::std::os::raw::c_char;
2483}
2484extern "C" {
2485 pub fn openconnect_get_connect_url(
2486 arg1: *mut openconnect_info,
2487 ) -> *const ::std::os::raw::c_char;
2488}
2489extern "C" {
2490 pub fn openconnect_get_hostname(arg1: *mut openconnect_info) -> *const ::std::os::raw::c_char;
2491}
2492extern "C" {
2493 pub fn openconnect_get_dnsname(arg1: *mut openconnect_info) -> *const ::std::os::raw::c_char;
2494}
2495extern "C" {
2496 pub fn openconnect_set_hostname(
2497 arg1: *mut openconnect_info,
2498 arg2: *const ::std::os::raw::c_char,
2499 ) -> ::std::os::raw::c_int;
2500}
2501extern "C" {
2502 pub fn openconnect_get_urlpath(arg1: *mut openconnect_info) -> *mut ::std::os::raw::c_char;
2503}
2504extern "C" {
2505 pub fn openconnect_set_urlpath(
2506 arg1: *mut openconnect_info,
2507 arg2: *const ::std::os::raw::c_char,
2508 ) -> ::std::os::raw::c_int;
2509}
2510extern "C" {
2511 pub fn openconnect_set_localname(
2512 arg1: *mut openconnect_info,
2513 arg2: *const ::std::os::raw::c_char,
2514 ) -> ::std::os::raw::c_int;
2515}
2516extern "C" {
2517 pub fn openconnect_set_sni(
2518 arg1: *mut openconnect_info,
2519 arg2: *const ::std::os::raw::c_char,
2520 ) -> ::std::os::raw::c_int;
2521}
2522pub type openconnect_lock_token_vfn = ::std::option::Option<
2523 unsafe extern "C" fn(tokdata: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
2524>;
2525pub type openconnect_unlock_token_vfn = ::std::option::Option<
2526 unsafe extern "C" fn(
2527 tokdata: *mut ::std::os::raw::c_void,
2528 new_tok: *const ::std::os::raw::c_char,
2529 ) -> ::std::os::raw::c_int,
2530>;
2531extern "C" {
2532 pub fn openconnect_set_token_callbacks(
2533 arg1: *mut openconnect_info,
2534 tokdata: *mut ::std::os::raw::c_void,
2535 arg2: openconnect_lock_token_vfn,
2536 arg3: openconnect_unlock_token_vfn,
2537 ) -> ::std::os::raw::c_int;
2538}
2539extern "C" {
2540 pub fn openconnect_set_token_mode(
2541 arg1: *mut openconnect_info,
2542 arg2: oc_token_mode_t,
2543 token_str: *const ::std::os::raw::c_char,
2544 ) -> ::std::os::raw::c_int;
2545}
2546extern "C" {
2547 pub fn openconnect_set_stoken_mode(
2548 arg1: *mut openconnect_info,
2549 arg2: ::std::os::raw::c_int,
2550 arg3: *const ::std::os::raw::c_char,
2551 ) -> ::std::os::raw::c_int;
2552}
2553extern "C" {
2554 pub fn openconnect_set_compression_mode(
2555 arg1: *mut openconnect_info,
2556 arg2: oc_compression_mode_t,
2557 ) -> ::std::os::raw::c_int;
2558}
2559extern "C" {
2560 pub fn openconnect_set_xmlsha1(
2561 arg1: *mut openconnect_info,
2562 arg2: *const ::std::os::raw::c_char,
2563 size: ::std::os::raw::c_int,
2564 );
2565}
2566extern "C" {
2567 pub fn openconnect_set_cafile(
2568 arg1: *mut openconnect_info,
2569 arg2: *const ::std::os::raw::c_char,
2570 ) -> ::std::os::raw::c_int;
2571}
2572extern "C" {
2573 pub fn openconnect_set_system_trust(
2574 vpninfo: *mut openconnect_info,
2575 val: ::std::os::raw::c_uint,
2576 );
2577}
2578extern "C" {
2579 pub fn openconnect_setup_csd(
2580 arg1: *mut openconnect_info,
2581 arg2: uid_t,
2582 silent: ::std::os::raw::c_int,
2583 wrapper: *const ::std::os::raw::c_char,
2584 ) -> ::std::os::raw::c_int;
2585}
2586extern "C" {
2587 pub fn openconnect_set_xmlpost(arg1: *mut openconnect_info, enable: ::std::os::raw::c_int);
2588}
2589extern "C" {
2590 pub fn openconnect_set_reported_os(
2591 arg1: *mut openconnect_info,
2592 os: *const ::std::os::raw::c_char,
2593 ) -> ::std::os::raw::c_int;
2594}
2595extern "C" {
2596 pub fn openconnect_set_version_string(
2597 vpninfo: *mut openconnect_info,
2598 version_string: *const ::std::os::raw::c_char,
2599 ) -> ::std::os::raw::c_int;
2600}
2601extern "C" {
2602 pub fn openconnect_set_mobile_info(
2603 vpninfo: *mut openconnect_info,
2604 mobile_platform_version: *const ::std::os::raw::c_char,
2605 mobile_device_type: *const ::std::os::raw::c_char,
2606 mobile_device_uniqueid: *const ::std::os::raw::c_char,
2607 ) -> ::std::os::raw::c_int;
2608}
2609extern "C" {
2610 pub fn openconnect_set_client_cert(
2611 arg1: *mut openconnect_info,
2612 cert: *const ::std::os::raw::c_char,
2613 sslkey: *const ::std::os::raw::c_char,
2614 ) -> ::std::os::raw::c_int;
2615}
2616extern "C" {
2617 pub fn openconnect_set_key_password(
2618 vpninfo: *mut openconnect_info,
2619 pass: *const ::std::os::raw::c_char,
2620 ) -> ::std::os::raw::c_int;
2621}
2622extern "C" {
2623 #[doc = " Multiple certificate authentication (MCA): the client cert _and_ the\n mca_cert are used for authentication. The mca_cert is used to sign a\n challenge sent by the server."]
2624 pub fn openconnect_set_mca_cert(
2625 arg1: *mut openconnect_info,
2626 cert: *const ::std::os::raw::c_char,
2627 key: *const ::std::os::raw::c_char,
2628 ) -> ::std::os::raw::c_int;
2629}
2630extern "C" {
2631 pub fn openconnect_set_mca_key_password(
2632 vpninfo: *mut openconnect_info,
2633 pass: *const ::std::os::raw::c_char,
2634 ) -> ::std::os::raw::c_int;
2635}
2636extern "C" {
2637 pub fn openconnect_get_ifname(arg1: *mut openconnect_info) -> *const ::std::os::raw::c_char;
2638}
2639extern "C" {
2640 pub fn openconnect_set_reqmtu(arg1: *mut openconnect_info, reqmtu: ::std::os::raw::c_int);
2641}
2642extern "C" {
2643 pub fn openconnect_set_dpd(arg1: *mut openconnect_info, min_seconds: ::std::os::raw::c_int);
2644}
2645extern "C" {
2646 pub fn openconnect_set_trojan_interval(
2647 arg1: *mut openconnect_info,
2648 seconds: ::std::os::raw::c_int,
2649 );
2650}
2651extern "C" {
2652 pub fn openconnect_get_idle_timeout(arg1: *mut openconnect_info) -> ::std::os::raw::c_int;
2653}
2654extern "C" {
2655 pub fn openconnect_get_auth_expiration(arg1: *mut openconnect_info) -> time_t;
2656}
2657extern "C" {
2658 pub fn openconnect_get_ip_info(
2659 arg1: *mut openconnect_info,
2660 info: *mut *const oc_ip_info,
2661 cstp_options: *mut *const oc_vpn_option,
2662 dtls_options: *mut *const oc_vpn_option,
2663 ) -> ::std::os::raw::c_int;
2664}
2665extern "C" {
2666 pub fn openconnect_get_port(arg1: *mut openconnect_info) -> ::std::os::raw::c_int;
2667}
2668extern "C" {
2669 pub fn openconnect_get_cookie(arg1: *mut openconnect_info) -> *const ::std::os::raw::c_char;
2670}
2671extern "C" {
2672 pub fn openconnect_set_cookie(
2673 arg1: *mut openconnect_info,
2674 arg2: *const ::std::os::raw::c_char,
2675 ) -> ::std::os::raw::c_int;
2676}
2677extern "C" {
2678 pub fn openconnect_clear_cookie(arg1: *mut openconnect_info);
2679}
2680extern "C" {
2681 pub fn openconnect_disable_ipv6(vpninfo: *mut openconnect_info) -> ::std::os::raw::c_int;
2682}
2683extern "C" {
2684 pub fn openconnect_disable_dtls(vpninfo: *mut openconnect_info) -> ::std::os::raw::c_int;
2685}
2686extern "C" {
2687 pub fn openconnect_reset_ssl(vpninfo: *mut openconnect_info);
2688}
2689extern "C" {
2690 pub fn openconnect_parse_url(
2691 vpninfo: *mut openconnect_info,
2692 url: *const ::std::os::raw::c_char,
2693 ) -> ::std::os::raw::c_int;
2694}
2695extern "C" {
2696 pub fn openconnect_set_cert_expiry_warning(
2697 vpninfo: *mut openconnect_info,
2698 seconds: ::std::os::raw::c_int,
2699 );
2700}
2701extern "C" {
2702 pub fn openconnect_set_pfs(vpninfo: *mut openconnect_info, val: ::std::os::raw::c_uint);
2703}
2704extern "C" {
2705 pub fn openconnect_set_allow_insecure_crypto(
2706 vpninfo: *mut openconnect_info,
2707 val: ::std::os::raw::c_uint,
2708 ) -> ::std::os::raw::c_int;
2709}
2710extern "C" {
2711 pub fn openconnect_set_cancel_fd(vpninfo: *mut openconnect_info, fd: ::std::os::raw::c_int);
2712}
2713extern "C" {
2714 pub fn openconnect_setup_cmd_pipe(vpninfo: *mut openconnect_info) -> ::std::os::raw::c_int;
2715}
2716extern "C" {
2717 pub fn openconnect_get_version() -> *const ::std::os::raw::c_char;
2718}
2719extern "C" {
2720 pub fn openconnect_make_cstp_connection(
2721 vpninfo: *mut openconnect_info,
2722 ) -> ::std::os::raw::c_int;
2723}
2724extern "C" {
2725 pub fn openconnect_setup_tun_device(
2726 vpninfo: *mut openconnect_info,
2727 vpnc_script: *const ::std::os::raw::c_char,
2728 ifname: *const ::std::os::raw::c_char,
2729 ) -> ::std::os::raw::c_int;
2730}
2731extern "C" {
2732 pub fn openconnect_setup_tun_script(
2733 vpninfo: *mut openconnect_info,
2734 tun_script: *const ::std::os::raw::c_char,
2735 ) -> ::std::os::raw::c_int;
2736}
2737extern "C" {
2738 pub fn openconnect_setup_tun_fd(
2739 vpninfo: *mut openconnect_info,
2740 tun_fd: ::std::os::raw::c_int,
2741 ) -> ::std::os::raw::c_int;
2742}
2743extern "C" {
2744 pub fn openconnect_setup_dtls(
2745 vpninfo: *mut openconnect_info,
2746 dtls_attempt_period: ::std::os::raw::c_int,
2747 ) -> ::std::os::raw::c_int;
2748}
2749extern "C" {
2750 pub fn openconnect_mainloop(
2751 vpninfo: *mut openconnect_info,
2752 reconnect_timeout: ::std::os::raw::c_int,
2753 reconnect_interval: ::std::os::raw::c_int,
2754 ) -> ::std::os::raw::c_int;
2755}
2756pub type openconnect_validate_peer_cert_vfn = ::std::option::Option<
2757 unsafe extern "C" fn(
2758 privdata: *mut ::std::os::raw::c_void,
2759 reason: *const ::std::os::raw::c_char,
2760 ) -> ::std::os::raw::c_int,
2761>;
2762pub type openconnect_write_new_config_vfn = ::std::option::Option<
2763 unsafe extern "C" fn(
2764 privdata: *mut ::std::os::raw::c_void,
2765 buf: *const ::std::os::raw::c_char,
2766 buflen: ::std::os::raw::c_int,
2767 ) -> ::std::os::raw::c_int,
2768>;
2769pub type openconnect_process_auth_form_vfn = ::std::option::Option<
2770 unsafe extern "C" fn(
2771 privdata: *mut ::std::os::raw::c_void,
2772 form: *mut oc_auth_form,
2773 ) -> ::std::os::raw::c_int,
2774>;
2775pub type openconnect_progress_vfn = ::std::option::Option<
2776 unsafe extern "C" fn(
2777 privdata: *mut ::std::os::raw::c_void,
2778 level: ::std::os::raw::c_int,
2779 fmt: *const ::std::os::raw::c_char,
2780 ...
2781 ),
2782>;
2783extern "C" {
2784 pub fn openconnect_vpninfo_new(
2785 useragent: *const ::std::os::raw::c_char,
2786 arg1: openconnect_validate_peer_cert_vfn,
2787 arg2: openconnect_write_new_config_vfn,
2788 arg3: openconnect_process_auth_form_vfn,
2789 arg4: openconnect_progress_vfn,
2790 privdata: *mut ::std::os::raw::c_void,
2791 ) -> *mut openconnect_info;
2792}
2793extern "C" {
2794 pub fn openconnect_vpninfo_free(vpninfo: *mut openconnect_info);
2795}
2796pub type openconnect_open_webview_vfn = ::std::option::Option<
2797 unsafe extern "C" fn(
2798 arg1: *mut openconnect_info,
2799 uri: *const ::std::os::raw::c_char,
2800 privdata: *mut ::std::os::raw::c_void,
2801 ) -> ::std::os::raw::c_int,
2802>;
2803extern "C" {
2804 pub fn openconnect_set_webview_callback(
2805 vpninfo: *mut openconnect_info,
2806 arg1: openconnect_open_webview_vfn,
2807 );
2808}
2809extern "C" {
2810 pub fn openconnect_webview_load_changed(
2811 vpninfo: *mut openconnect_info,
2812 result: *const oc_webview_result,
2813 ) -> ::std::os::raw::c_int;
2814}
2815extern "C" {
2816 pub fn openconnect_set_external_browser_callback(
2817 vpninfo: *mut openconnect_info,
2818 arg1: openconnect_open_webview_vfn,
2819 );
2820}
2821pub type openconnect_protect_socket_vfn = ::std::option::Option<
2822 unsafe extern "C" fn(privdata: *mut ::std::os::raw::c_void, fd: ::std::os::raw::c_int),
2823>;
2824extern "C" {
2825 pub fn openconnect_set_protect_socket_handler(
2826 vpninfo: *mut openconnect_info,
2827 protect_socket: openconnect_protect_socket_vfn,
2828 );
2829}
2830extern "C" {
2831 pub fn openconnect_set_loglevel(vpninfo: *mut openconnect_info, level: ::std::os::raw::c_int);
2832}
2833extern "C" {
2834 pub fn openconnect_set_pass_tos(vpninfo: *mut openconnect_info, enable: ::std::os::raw::c_int);
2835}
2836pub type openconnect_stats_vfn = ::std::option::Option<
2837 unsafe extern "C" fn(privdata: *mut ::std::os::raw::c_void, stats: *const oc_stats),
2838>;
2839extern "C" {
2840 pub fn openconnect_set_stats_handler(
2841 vpninfo: *mut openconnect_info,
2842 stats_handler: openconnect_stats_vfn,
2843 );
2844}
2845extern "C" {
2846 pub fn openconnect_has_pkcs11_support() -> ::std::os::raw::c_int;
2847}
2848extern "C" {
2849 pub fn openconnect_has_tss_blob_support() -> ::std::os::raw::c_int;
2850}
2851extern "C" {
2852 pub fn openconnect_has_tss2_blob_support() -> ::std::os::raw::c_int;
2853}
2854extern "C" {
2855 pub fn openconnect_has_stoken_support() -> ::std::os::raw::c_int;
2856}
2857extern "C" {
2858 pub fn openconnect_has_oath_support() -> ::std::os::raw::c_int;
2859}
2860extern "C" {
2861 pub fn openconnect_has_yubioath_support() -> ::std::os::raw::c_int;
2862}
2863extern "C" {
2864 pub fn openconnect_has_system_key_support() -> ::std::os::raw::c_int;
2865}
2866extern "C" {
2867 pub fn openconnect_get_supported_protocols(
2868 protos: *mut *mut oc_vpn_proto,
2869 ) -> ::std::os::raw::c_int;
2870}
2871extern "C" {
2872 pub fn openconnect_free_supported_protocols(protos: *mut oc_vpn_proto);
2873}
2874extern "C" {
2875 pub fn openconnect_get_protocol(
2876 vpninfo: *mut openconnect_info,
2877 ) -> *const ::std::os::raw::c_char;
2878}
2879extern "C" {
2880 pub fn openconnect_set_protocol(
2881 vpninfo: *mut openconnect_info,
2882 protocol: *const ::std::os::raw::c_char,
2883 ) -> ::std::os::raw::c_int;
2884}
2885#[repr(C)]
2886#[derive(Debug, Copy, Clone)]
2887pub struct addrinfo {
2888 _unused: [u8; 0],
2889}
2890pub type openconnect_getaddrinfo_vfn = ::std::option::Option<
2891 unsafe extern "C" fn(
2892 privdata: *mut ::std::os::raw::c_void,
2893 node: *const ::std::os::raw::c_char,
2894 service: *const ::std::os::raw::c_char,
2895 hints: *const addrinfo,
2896 res: *mut *mut addrinfo,
2897 ) -> ::std::os::raw::c_int,
2898>;
2899extern "C" {
2900 pub fn openconnect_override_getaddrinfo(
2901 vpninfo: *mut openconnect_info,
2902 gai_fn: openconnect_getaddrinfo_vfn,
2903 );
2904}
2905pub type openconnect_setup_tun_vfn =
2906 ::std::option::Option<unsafe extern "C" fn(privdata: *mut ::std::os::raw::c_void)>;
2907extern "C" {
2908 pub fn openconnect_set_setup_tun_handler(
2909 vpninfo: *mut openconnect_info,
2910 setup_tun: openconnect_setup_tun_vfn,
2911 );
2912}
2913pub type openconnect_reconnected_vfn =
2914 ::std::option::Option<unsafe extern "C" fn(privdata: *mut ::std::os::raw::c_void)>;
2915extern "C" {
2916 pub fn openconnect_set_reconnected_handler(
2917 vpninfo: *mut openconnect_info,
2918 reconnected_fn: openconnect_reconnected_vfn,
2919 );
2920}
2921pub type t_global_progress_vfn = ::std::option::Option<
2922 unsafe extern "C" fn(
2923 privdata: *mut ::std::os::raw::c_void,
2924 level: ::std::os::raw::c_int,
2925 buf: *const ::std::os::raw::c_char,
2926 ),
2927>;
2928extern "C" {
2929 pub fn helper_format_vargs(
2930 privdata: *mut ::std::os::raw::c_void,
2931 level: ::std::os::raw::c_int,
2932 fmt: *const ::std::os::raw::c_char,
2933 ...
2934 );
2935}
2936extern "C" {
2937 pub fn helper_set_global_progress_vfn(cb: t_global_progress_vfn);
2938}