libpostal_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.59.2 */
2
3pub const _STDIO_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __USE_ISOC11: u32 = 1;
7pub const __USE_ISOC99: u32 = 1;
8pub const __USE_ISOC95: u32 = 1;
9pub const __USE_POSIX_IMPLICITLY: u32 = 1;
10pub const _POSIX_SOURCE: u32 = 1;
11pub const _POSIX_C_SOURCE: u32 = 200809;
12pub const __USE_POSIX: u32 = 1;
13pub const __USE_POSIX2: u32 = 1;
14pub const __USE_POSIX199309: u32 = 1;
15pub const __USE_POSIX199506: u32 = 1;
16pub const __USE_XOPEN2K: u32 = 1;
17pub const __USE_XOPEN2K8: u32 = 1;
18pub const _ATFILE_SOURCE: u32 = 1;
19pub const __USE_MISC: u32 = 1;
20pub const __USE_ATFILE: u32 = 1;
21pub const __USE_FORTIFY_LEVEL: u32 = 0;
22pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
23pub const _STDC_PREDEF_H: u32 = 1;
24pub const __STDC_IEC_559__: u32 = 1;
25pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
26pub const __STDC_ISO_10646__: u32 = 201706;
27pub const __STDC_NO_THREADS__: u32 = 1;
28pub const __GNU_LIBRARY__: u32 = 6;
29pub const __GLIBC__: u32 = 2;
30pub const __GLIBC_MINOR__: u32 = 27;
31pub const _SYS_CDEFS_H: u32 = 1;
32pub const __glibc_c99_flexarr_available: u32 = 1;
33pub const __WORDSIZE: u32 = 64;
34pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
35pub const __SYSCALL_WORDSIZE: u32 = 64;
36pub const __HAVE_GENERIC_SELECTION: u32 = 1;
37pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
38pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
39pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
40pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
41pub const _BITS_TYPES_H: u32 = 1;
42pub const _BITS_TYPESIZES_H: u32 = 1;
43pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
44pub const __INO_T_MATCHES_INO64_T: u32 = 1;
45pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
46pub const __FD_SETSIZE: u32 = 1024;
47pub const ____FILE_defined: u32 = 1;
48pub const __FILE_defined: u32 = 1;
49pub const _BITS_LIBIO_H: u32 = 1;
50pub const _BITS_G_CONFIG_H: u32 = 1;
51pub const ____mbstate_t_defined: u32 = 1;
52pub const _G_HAVE_MMAP: u32 = 1;
53pub const _G_HAVE_MREMAP: u32 = 1;
54pub const _G_IO_IO_FILE_VERSION: u32 = 131073;
55pub const _G_BUFSIZ: u32 = 8192;
56pub const _IO_BUFSIZ: u32 = 8192;
57pub const __GNUC_VA_LIST: u32 = 1;
58pub const _IO_UNIFIED_JUMPTABLES: u32 = 1;
59pub const EOF: i32 = -1;
60pub const _IOS_INPUT: u32 = 1;
61pub const _IOS_OUTPUT: u32 = 2;
62pub const _IOS_ATEND: u32 = 4;
63pub const _IOS_APPEND: u32 = 8;
64pub const _IOS_TRUNC: u32 = 16;
65pub const _IOS_NOCREATE: u32 = 32;
66pub const _IOS_NOREPLACE: u32 = 64;
67pub const _IOS_BIN: u32 = 128;
68pub const _IO_MAGIC: u32 = 4222418944;
69pub const _OLD_STDIO_MAGIC: u32 = 4206624768;
70pub const _IO_MAGIC_MASK: u32 = 4294901760;
71pub const _IO_USER_BUF: u32 = 1;
72pub const _IO_UNBUFFERED: u32 = 2;
73pub const _IO_NO_READS: u32 = 4;
74pub const _IO_NO_WRITES: u32 = 8;
75pub const _IO_EOF_SEEN: u32 = 16;
76pub const _IO_ERR_SEEN: u32 = 32;
77pub const _IO_DELETE_DONT_CLOSE: u32 = 64;
78pub const _IO_LINKED: u32 = 128;
79pub const _IO_IN_BACKUP: u32 = 256;
80pub const _IO_LINE_BUF: u32 = 512;
81pub const _IO_TIED_PUT_GET: u32 = 1024;
82pub const _IO_CURRENTLY_PUTTING: u32 = 2048;
83pub const _IO_IS_APPENDING: u32 = 4096;
84pub const _IO_IS_FILEBUF: u32 = 8192;
85pub const _IO_BAD_SEEN: u32 = 16384;
86pub const _IO_USER_LOCK: u32 = 32768;
87pub const _IO_FLAGS2_MMAP: u32 = 1;
88pub const _IO_FLAGS2_NOTCANCEL: u32 = 2;
89pub const _IO_FLAGS2_USER_WBUF: u32 = 8;
90pub const _IO_SKIPWS: u32 = 1;
91pub const _IO_LEFT: u32 = 2;
92pub const _IO_RIGHT: u32 = 4;
93pub const _IO_INTERNAL: u32 = 8;
94pub const _IO_DEC: u32 = 16;
95pub const _IO_OCT: u32 = 32;
96pub const _IO_HEX: u32 = 64;
97pub const _IO_SHOWBASE: u32 = 128;
98pub const _IO_SHOWPOINT: u32 = 256;
99pub const _IO_UPPERCASE: u32 = 512;
100pub const _IO_SHOWPOS: u32 = 1024;
101pub const _IO_SCIENTIFIC: u32 = 2048;
102pub const _IO_FIXED: u32 = 4096;
103pub const _IO_UNITBUF: u32 = 8192;
104pub const _IO_STDIO: u32 = 16384;
105pub const _IO_DONT_CLOSE: u32 = 32768;
106pub const _IO_BOOLALPHA: u32 = 65536;
107pub const _IOFBF: u32 = 0;
108pub const _IOLBF: u32 = 1;
109pub const _IONBF: u32 = 2;
110pub const BUFSIZ: u32 = 8192;
111pub const SEEK_SET: u32 = 0;
112pub const SEEK_CUR: u32 = 1;
113pub const SEEK_END: u32 = 2;
114pub const P_tmpdir: &[u8; 5usize] = b"/tmp\0";
115pub const _BITS_STDIO_LIM_H: u32 = 1;
116pub const L_tmpnam: u32 = 20;
117pub const TMP_MAX: u32 = 238328;
118pub const FILENAME_MAX: u32 = 4096;
119pub const L_ctermid: u32 = 9;
120pub const FOPEN_MAX: u32 = 16;
121pub const _STDLIB_H: u32 = 1;
122pub const WNOHANG: u32 = 1;
123pub const WUNTRACED: u32 = 2;
124pub const WSTOPPED: u32 = 2;
125pub const WEXITED: u32 = 4;
126pub const WCONTINUED: u32 = 8;
127pub const WNOWAIT: u32 = 16777216;
128pub const __WNOTHREAD: u32 = 536870912;
129pub const __WALL: u32 = 1073741824;
130pub const __WCLONE: u32 = 2147483648;
131pub const __ENUM_IDTYPE_T: u32 = 1;
132pub const __W_CONTINUED: u32 = 65535;
133pub const __WCOREFLAG: u32 = 128;
134pub const __HAVE_FLOAT128: u32 = 0;
135pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
136pub const __HAVE_FLOAT64X: u32 = 1;
137pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
138pub const __HAVE_FLOAT16: u32 = 0;
139pub const __HAVE_FLOAT32: u32 = 1;
140pub const __HAVE_FLOAT64: u32 = 1;
141pub const __HAVE_FLOAT32X: u32 = 1;
142pub const __HAVE_FLOAT128X: u32 = 0;
143pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
144pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
145pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
146pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
147pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
148pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
149pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
150pub const __ldiv_t_defined: u32 = 1;
151pub const __lldiv_t_defined: u32 = 1;
152pub const RAND_MAX: u32 = 2147483647;
153pub const EXIT_FAILURE: u32 = 1;
154pub const EXIT_SUCCESS: u32 = 0;
155pub const _SYS_TYPES_H: u32 = 1;
156pub const __clock_t_defined: u32 = 1;
157pub const __clockid_t_defined: u32 = 1;
158pub const __time_t_defined: u32 = 1;
159pub const __timer_t_defined: u32 = 1;
160pub const _BITS_STDINT_INTN_H: u32 = 1;
161pub const __BIT_TYPES_DEFINED__: u32 = 1;
162pub const _ENDIAN_H: u32 = 1;
163pub const __LITTLE_ENDIAN: u32 = 1234;
164pub const __BIG_ENDIAN: u32 = 4321;
165pub const __PDP_ENDIAN: u32 = 3412;
166pub const __BYTE_ORDER: u32 = 1234;
167pub const __FLOAT_WORD_ORDER: u32 = 1234;
168pub const LITTLE_ENDIAN: u32 = 1234;
169pub const BIG_ENDIAN: u32 = 4321;
170pub const PDP_ENDIAN: u32 = 3412;
171pub const BYTE_ORDER: u32 = 1234;
172pub const _BITS_BYTESWAP_H: u32 = 1;
173pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
174pub const _SYS_SELECT_H: u32 = 1;
175pub const __FD_ZERO_STOS: &[u8; 6usize] = b"stosq\0";
176pub const __sigset_t_defined: u32 = 1;
177pub const __timeval_defined: u32 = 1;
178pub const _STRUCT_TIMESPEC: u32 = 1;
179pub const FD_SETSIZE: u32 = 1024;
180pub const _SYS_SYSMACROS_H: u32 = 1;
181pub const _BITS_SYSMACROS_H: u32 = 1;
182pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
183pub const _THREAD_SHARED_TYPES_H: u32 = 1;
184pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
185pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
186pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
187pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
188pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
189pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
190pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
191pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
192pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
193pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
194pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
195pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
196pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
197pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
198pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
199pub const __have_pthread_attr_t: u32 = 1;
200pub const _ALLOCA_H: u32 = 1;
201pub const _STDINT_H: u32 = 1;
202pub const _BITS_WCHAR_H: u32 = 1;
203pub const _BITS_STDINT_UINTN_H: u32 = 1;
204pub const INT8_MIN: i32 = -128;
205pub const INT16_MIN: i32 = -32768;
206pub const INT32_MIN: i32 = -2147483648;
207pub const INT8_MAX: u32 = 127;
208pub const INT16_MAX: u32 = 32767;
209pub const INT32_MAX: u32 = 2147483647;
210pub const UINT8_MAX: u32 = 255;
211pub const UINT16_MAX: u32 = 65535;
212pub const UINT32_MAX: u32 = 4294967295;
213pub const INT_LEAST8_MIN: i32 = -128;
214pub const INT_LEAST16_MIN: i32 = -32768;
215pub const INT_LEAST32_MIN: i32 = -2147483648;
216pub const INT_LEAST8_MAX: u32 = 127;
217pub const INT_LEAST16_MAX: u32 = 32767;
218pub const INT_LEAST32_MAX: u32 = 2147483647;
219pub const UINT_LEAST8_MAX: u32 = 255;
220pub const UINT_LEAST16_MAX: u32 = 65535;
221pub const UINT_LEAST32_MAX: u32 = 4294967295;
222pub const INT_FAST8_MIN: i32 = -128;
223pub const INT_FAST16_MIN: i64 = -9223372036854775808;
224pub const INT_FAST32_MIN: i64 = -9223372036854775808;
225pub const INT_FAST8_MAX: u32 = 127;
226pub const INT_FAST16_MAX: u64 = 9223372036854775807;
227pub const INT_FAST32_MAX: u64 = 9223372036854775807;
228pub const UINT_FAST8_MAX: u32 = 255;
229pub const UINT_FAST16_MAX: i32 = -1;
230pub const UINT_FAST32_MAX: i32 = -1;
231pub const INTPTR_MIN: i64 = -9223372036854775808;
232pub const INTPTR_MAX: u64 = 9223372036854775807;
233pub const UINTPTR_MAX: i32 = -1;
234pub const PTRDIFF_MIN: i64 = -9223372036854775808;
235pub const PTRDIFF_MAX: u64 = 9223372036854775807;
236pub const SIG_ATOMIC_MIN: i32 = -2147483648;
237pub const SIG_ATOMIC_MAX: u32 = 2147483647;
238pub const SIZE_MAX: i32 = -1;
239pub const WINT_MIN: u32 = 0;
240pub const WINT_MAX: u32 = 4294967295;
241pub const true_: u32 = 1;
242pub const false_: u32 = 0;
243pub const __bool_true_false_are_defined: u32 = 1;
244pub const LIBPOSTAL_MAX_LANGUAGE_LEN: u32 = 4;
245pub const LIBPOSTAL_ADDRESS_NONE: u32 = 0;
246pub const LIBPOSTAL_ADDRESS_ANY: u32 = 1;
247pub const LIBPOSTAL_ADDRESS_NAME: u32 = 2;
248pub const LIBPOSTAL_ADDRESS_HOUSE_NUMBER: u32 = 4;
249pub const LIBPOSTAL_ADDRESS_STREET: u32 = 8;
250pub const LIBPOSTAL_ADDRESS_UNIT: u32 = 16;
251pub const LIBPOSTAL_ADDRESS_LEVEL: u32 = 32;
252pub const LIBPOSTAL_ADDRESS_STAIRCASE: u32 = 64;
253pub const LIBPOSTAL_ADDRESS_ENTRANCE: u32 = 128;
254pub const LIBPOSTAL_ADDRESS_CATEGORY: u32 = 256;
255pub const LIBPOSTAL_ADDRESS_NEAR: u32 = 512;
256pub const LIBPOSTAL_ADDRESS_TOPONYM: u32 = 8192;
257pub const LIBPOSTAL_ADDRESS_POSTAL_CODE: u32 = 16384;
258pub const LIBPOSTAL_ADDRESS_PO_BOX: u32 = 32768;
259pub const LIBPOSTAL_ADDRESS_ALL: u32 = 65535;
260pub const LIBPOSTAL_NORMALIZE_STRING_LATIN_ASCII: u32 = 1;
261pub const LIBPOSTAL_NORMALIZE_STRING_TRANSLITERATE: u32 = 2;
262pub const LIBPOSTAL_NORMALIZE_STRING_STRIP_ACCENTS: u32 = 4;
263pub const LIBPOSTAL_NORMALIZE_STRING_DECOMPOSE: u32 = 8;
264pub const LIBPOSTAL_NORMALIZE_STRING_LOWERCASE: u32 = 16;
265pub const LIBPOSTAL_NORMALIZE_STRING_TRIM: u32 = 32;
266pub const LIBPOSTAL_NORMALIZE_STRING_REPLACE_HYPHENS: u32 = 64;
267pub const LIBPOSTAL_NORMALIZE_STRING_COMPOSE: u32 = 128;
268pub const LIBPOSTAL_NORMALIZE_STRING_SIMPLE_LATIN_ASCII: u32 = 256;
269pub const LIBPOSTAL_NORMALIZE_STRING_REPLACE_NUMEX: u32 = 512;
270pub const LIBPOSTAL_NORMALIZE_TOKEN_REPLACE_HYPHENS: u32 = 1;
271pub const LIBPOSTAL_NORMALIZE_TOKEN_DELETE_HYPHENS: u32 = 2;
272pub const LIBPOSTAL_NORMALIZE_TOKEN_DELETE_FINAL_PERIOD: u32 = 4;
273pub const LIBPOSTAL_NORMALIZE_TOKEN_DELETE_ACRONYM_PERIODS: u32 = 8;
274pub const LIBPOSTAL_NORMALIZE_TOKEN_DROP_ENGLISH_POSSESSIVES: u32 = 16;
275pub const LIBPOSTAL_NORMALIZE_TOKEN_DELETE_OTHER_APOSTROPHE: u32 = 32;
276pub const LIBPOSTAL_NORMALIZE_TOKEN_SPLIT_ALPHA_FROM_NUMERIC: u32 = 64;
277pub const LIBPOSTAL_NORMALIZE_TOKEN_REPLACE_DIGITS: u32 = 128;
278pub const LIBPOSTAL_NORMALIZE_TOKEN_REPLACE_NUMERIC_TOKEN_LETTERS: u32 = 256;
279pub const LIBPOSTAL_NORMALIZE_TOKEN_REPLACE_NUMERIC_HYPHENS: u32 = 512;
280pub const LIBPOSTAL_NORMALIZE_DEFAULT_STRING_OPTIONS: u32 = 245;
281pub const LIBPOSTAL_NORMALIZE_DEFAULT_TOKEN_OPTIONS: u32 = 61;
282pub const LIBPOSTAL_NORMALIZE_TOKEN_OPTIONS_DROP_PERIODS: u32 = 12;
283pub const LIBPOSTAL_NORMALIZE_DEFAULT_TOKEN_OPTIONS_NUMERIC: u32 = 125;
284pub type size_t = ::std::os::raw::c_ulong;
285pub type __u_char = ::std::os::raw::c_uchar;
286pub type __u_short = ::std::os::raw::c_ushort;
287pub type __u_int = ::std::os::raw::c_uint;
288pub type __u_long = ::std::os::raw::c_ulong;
289pub type __int8_t = ::std::os::raw::c_schar;
290pub type __uint8_t = ::std::os::raw::c_uchar;
291pub type __int16_t = ::std::os::raw::c_short;
292pub type __uint16_t = ::std::os::raw::c_ushort;
293pub type __int32_t = ::std::os::raw::c_int;
294pub type __uint32_t = ::std::os::raw::c_uint;
295pub type __int64_t = ::std::os::raw::c_long;
296pub type __uint64_t = ::std::os::raw::c_ulong;
297pub type __quad_t = ::std::os::raw::c_long;
298pub type __u_quad_t = ::std::os::raw::c_ulong;
299pub type __intmax_t = ::std::os::raw::c_long;
300pub type __uintmax_t = ::std::os::raw::c_ulong;
301pub type __dev_t = ::std::os::raw::c_ulong;
302pub type __uid_t = ::std::os::raw::c_uint;
303pub type __gid_t = ::std::os::raw::c_uint;
304pub type __ino_t = ::std::os::raw::c_ulong;
305pub type __ino64_t = ::std::os::raw::c_ulong;
306pub type __mode_t = ::std::os::raw::c_uint;
307pub type __nlink_t = ::std::os::raw::c_ulong;
308pub type __off_t = ::std::os::raw::c_long;
309pub type __off64_t = ::std::os::raw::c_long;
310pub type __pid_t = ::std::os::raw::c_int;
311#[repr(C)]
312#[derive(Debug, Copy, Clone)]
313pub struct __fsid_t {
314    pub __val: [::std::os::raw::c_int; 2usize],
315}
316#[test]
317fn bindgen_test_layout___fsid_t() {
318    assert_eq!(
319        ::std::mem::size_of::<__fsid_t>(),
320        8usize,
321        concat!("Size of: ", stringify!(__fsid_t))
322    );
323    assert_eq!(
324        ::std::mem::align_of::<__fsid_t>(),
325        4usize,
326        concat!("Alignment of ", stringify!(__fsid_t))
327    );
328    assert_eq!(
329        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
330        0usize,
331        concat!(
332            "Offset of field: ",
333            stringify!(__fsid_t),
334            "::",
335            stringify!(__val)
336        )
337    );
338}
339pub type __clock_t = ::std::os::raw::c_long;
340pub type __rlim_t = ::std::os::raw::c_ulong;
341pub type __rlim64_t = ::std::os::raw::c_ulong;
342pub type __id_t = ::std::os::raw::c_uint;
343pub type __time_t = ::std::os::raw::c_long;
344pub type __useconds_t = ::std::os::raw::c_uint;
345pub type __suseconds_t = ::std::os::raw::c_long;
346pub type __daddr_t = ::std::os::raw::c_int;
347pub type __key_t = ::std::os::raw::c_int;
348pub type __clockid_t = ::std::os::raw::c_int;
349pub type __timer_t = *mut ::std::os::raw::c_void;
350pub type __blksize_t = ::std::os::raw::c_long;
351pub type __blkcnt_t = ::std::os::raw::c_long;
352pub type __blkcnt64_t = ::std::os::raw::c_long;
353pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
354pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
355pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
356pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
357pub type __fsword_t = ::std::os::raw::c_long;
358pub type __ssize_t = ::std::os::raw::c_long;
359pub type __syscall_slong_t = ::std::os::raw::c_long;
360pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
361pub type __loff_t = __off64_t;
362pub type __caddr_t = *mut ::std::os::raw::c_char;
363pub type __intptr_t = ::std::os::raw::c_long;
364pub type __socklen_t = ::std::os::raw::c_uint;
365pub type __sig_atomic_t = ::std::os::raw::c_int;
366pub type __FILE = _IO_FILE;
367pub type FILE = _IO_FILE;
368#[repr(C)]
369#[derive(Copy, Clone)]
370pub struct __mbstate_t {
371    pub __count: ::std::os::raw::c_int,
372    pub __value: __mbstate_t__bindgen_ty_1,
373}
374#[repr(C)]
375#[derive(Copy, Clone)]
376pub union __mbstate_t__bindgen_ty_1 {
377    pub __wch: ::std::os::raw::c_uint,
378    pub __wchb: [::std::os::raw::c_char; 4usize],
379}
380#[test]
381fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
382    assert_eq!(
383        ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
384        4usize,
385        concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
386    );
387    assert_eq!(
388        ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
389        4usize,
390        concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
391    );
392    assert_eq!(
393        unsafe {
394            &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _
395                as usize
396        },
397        0usize,
398        concat!(
399            "Offset of field: ",
400            stringify!(__mbstate_t__bindgen_ty_1),
401            "::",
402            stringify!(__wch)
403        )
404    );
405    assert_eq!(
406        unsafe {
407            &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _
408                as usize
409        },
410        0usize,
411        concat!(
412            "Offset of field: ",
413            stringify!(__mbstate_t__bindgen_ty_1),
414            "::",
415            stringify!(__wchb)
416        )
417    );
418}
419#[test]
420fn bindgen_test_layout___mbstate_t() {
421    assert_eq!(
422        ::std::mem::size_of::<__mbstate_t>(),
423        8usize,
424        concat!("Size of: ", stringify!(__mbstate_t))
425    );
426    assert_eq!(
427        ::std::mem::align_of::<__mbstate_t>(),
428        4usize,
429        concat!("Alignment of ", stringify!(__mbstate_t))
430    );
431    assert_eq!(
432        unsafe {
433            &(*(::std::ptr::null::<__mbstate_t>())).__count as *const _ as usize
434        },
435        0usize,
436        concat!(
437            "Offset of field: ",
438            stringify!(__mbstate_t),
439            "::",
440            stringify!(__count)
441        )
442    );
443    assert_eq!(
444        unsafe {
445            &(*(::std::ptr::null::<__mbstate_t>())).__value as *const _ as usize
446        },
447        4usize,
448        concat!(
449            "Offset of field: ",
450            stringify!(__mbstate_t),
451            "::",
452            stringify!(__value)
453        )
454    );
455}
456#[repr(C)]
457#[derive(Copy, Clone)]
458pub struct _G_fpos_t {
459    pub __pos: __off_t,
460    pub __state: __mbstate_t,
461}
462#[test]
463fn bindgen_test_layout__G_fpos_t() {
464    assert_eq!(
465        ::std::mem::size_of::<_G_fpos_t>(),
466        16usize,
467        concat!("Size of: ", stringify!(_G_fpos_t))
468    );
469    assert_eq!(
470        ::std::mem::align_of::<_G_fpos_t>(),
471        8usize,
472        concat!("Alignment of ", stringify!(_G_fpos_t))
473    );
474    assert_eq!(
475        unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize },
476        0usize,
477        concat!(
478            "Offset of field: ",
479            stringify!(_G_fpos_t),
480            "::",
481            stringify!(__pos)
482        )
483    );
484    assert_eq!(
485        unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__state as *const _ as usize },
486        8usize,
487        concat!(
488            "Offset of field: ",
489            stringify!(_G_fpos_t),
490            "::",
491            stringify!(__state)
492        )
493    );
494}
495#[repr(C)]
496#[derive(Copy, Clone)]
497pub struct _G_fpos64_t {
498    pub __pos: __off64_t,
499    pub __state: __mbstate_t,
500}
501#[test]
502fn bindgen_test_layout__G_fpos64_t() {
503    assert_eq!(
504        ::std::mem::size_of::<_G_fpos64_t>(),
505        16usize,
506        concat!("Size of: ", stringify!(_G_fpos64_t))
507    );
508    assert_eq!(
509        ::std::mem::align_of::<_G_fpos64_t>(),
510        8usize,
511        concat!("Alignment of ", stringify!(_G_fpos64_t))
512    );
513    assert_eq!(
514        unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize },
515        0usize,
516        concat!(
517            "Offset of field: ",
518            stringify!(_G_fpos64_t),
519            "::",
520            stringify!(__pos)
521        )
522    );
523    assert_eq!(
524        unsafe {
525            &(*(::std::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize
526        },
527        8usize,
528        concat!(
529            "Offset of field: ",
530            stringify!(_G_fpos64_t),
531            "::",
532            stringify!(__state)
533        )
534    );
535}
536pub type va_list = __builtin_va_list;
537pub type __gnuc_va_list = __builtin_va_list;
538#[repr(C)]
539#[derive(Debug, Copy, Clone)]
540pub struct _IO_jump_t {
541    _unused: [u8; 0],
542}
543pub type _IO_lock_t = ::std::os::raw::c_void;
544#[repr(C)]
545#[derive(Debug, Copy, Clone)]
546pub struct _IO_marker {
547    pub _next: *mut _IO_marker,
548    pub _sbuf: *mut _IO_FILE,
549    pub _pos: ::std::os::raw::c_int,
550}
551#[test]
552fn bindgen_test_layout__IO_marker() {
553    assert_eq!(
554        ::std::mem::size_of::<_IO_marker>(),
555        24usize,
556        concat!("Size of: ", stringify!(_IO_marker))
557    );
558    assert_eq!(
559        ::std::mem::align_of::<_IO_marker>(),
560        8usize,
561        concat!("Alignment of ", stringify!(_IO_marker))
562    );
563    assert_eq!(
564        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._next as *const _ as usize },
565        0usize,
566        concat!(
567            "Offset of field: ",
568            stringify!(_IO_marker),
569            "::",
570            stringify!(_next)
571        )
572    );
573    assert_eq!(
574        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._sbuf as *const _ as usize },
575        8usize,
576        concat!(
577            "Offset of field: ",
578            stringify!(_IO_marker),
579            "::",
580            stringify!(_sbuf)
581        )
582    );
583    assert_eq!(
584        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._pos as *const _ as usize },
585        16usize,
586        concat!(
587            "Offset of field: ",
588            stringify!(_IO_marker),
589            "::",
590            stringify!(_pos)
591        )
592    );
593}
594pub const __codecvt_result___codecvt_ok: __codecvt_result = 0;
595pub const __codecvt_result___codecvt_partial: __codecvt_result = 1;
596pub const __codecvt_result___codecvt_error: __codecvt_result = 2;
597pub const __codecvt_result___codecvt_noconv: __codecvt_result = 3;
598pub type __codecvt_result = ::std::os::raw::c_uint;
599#[repr(C)]
600#[derive(Debug, Copy, Clone)]
601pub struct _IO_FILE {
602    pub _flags: ::std::os::raw::c_int,
603    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
604    pub _IO_read_end: *mut ::std::os::raw::c_char,
605    pub _IO_read_base: *mut ::std::os::raw::c_char,
606    pub _IO_write_base: *mut ::std::os::raw::c_char,
607    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
608    pub _IO_write_end: *mut ::std::os::raw::c_char,
609    pub _IO_buf_base: *mut ::std::os::raw::c_char,
610    pub _IO_buf_end: *mut ::std::os::raw::c_char,
611    pub _IO_save_base: *mut ::std::os::raw::c_char,
612    pub _IO_backup_base: *mut ::std::os::raw::c_char,
613    pub _IO_save_end: *mut ::std::os::raw::c_char,
614    pub _markers: *mut _IO_marker,
615    pub _chain: *mut _IO_FILE,
616    pub _fileno: ::std::os::raw::c_int,
617    pub _flags2: ::std::os::raw::c_int,
618    pub _old_offset: __off_t,
619    pub _cur_column: ::std::os::raw::c_ushort,
620    pub _vtable_offset: ::std::os::raw::c_schar,
621    pub _shortbuf: [::std::os::raw::c_char; 1usize],
622    pub _lock: *mut _IO_lock_t,
623    pub _offset: __off64_t,
624    pub __pad1: *mut ::std::os::raw::c_void,
625    pub __pad2: *mut ::std::os::raw::c_void,
626    pub __pad3: *mut ::std::os::raw::c_void,
627    pub __pad4: *mut ::std::os::raw::c_void,
628    pub __pad5: size_t,
629    pub _mode: ::std::os::raw::c_int,
630    pub _unused2: [::std::os::raw::c_char; 20usize],
631}
632#[test]
633fn bindgen_test_layout__IO_FILE() {
634    assert_eq!(
635        ::std::mem::size_of::<_IO_FILE>(),
636        216usize,
637        concat!("Size of: ", stringify!(_IO_FILE))
638    );
639    assert_eq!(
640        ::std::mem::align_of::<_IO_FILE>(),
641        8usize,
642        concat!("Alignment of ", stringify!(_IO_FILE))
643    );
644    assert_eq!(
645        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
646        0usize,
647        concat!(
648            "Offset of field: ",
649            stringify!(_IO_FILE),
650            "::",
651            stringify!(_flags)
652        )
653    );
654    assert_eq!(
655        unsafe {
656            &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize
657        },
658        8usize,
659        concat!(
660            "Offset of field: ",
661            stringify!(_IO_FILE),
662            "::",
663            stringify!(_IO_read_ptr)
664        )
665    );
666    assert_eq!(
667        unsafe {
668            &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize
669        },
670        16usize,
671        concat!(
672            "Offset of field: ",
673            stringify!(_IO_FILE),
674            "::",
675            stringify!(_IO_read_end)
676        )
677    );
678    assert_eq!(
679        unsafe {
680            &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize
681        },
682        24usize,
683        concat!(
684            "Offset of field: ",
685            stringify!(_IO_FILE),
686            "::",
687            stringify!(_IO_read_base)
688        )
689    );
690    assert_eq!(
691        unsafe {
692            &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize
693        },
694        32usize,
695        concat!(
696            "Offset of field: ",
697            stringify!(_IO_FILE),
698            "::",
699            stringify!(_IO_write_base)
700        )
701    );
702    assert_eq!(
703        unsafe {
704            &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize
705        },
706        40usize,
707        concat!(
708            "Offset of field: ",
709            stringify!(_IO_FILE),
710            "::",
711            stringify!(_IO_write_ptr)
712        )
713    );
714    assert_eq!(
715        unsafe {
716            &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize
717        },
718        48usize,
719        concat!(
720            "Offset of field: ",
721            stringify!(_IO_FILE),
722            "::",
723            stringify!(_IO_write_end)
724        )
725    );
726    assert_eq!(
727        unsafe {
728            &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize
729        },
730        56usize,
731        concat!(
732            "Offset of field: ",
733            stringify!(_IO_FILE),
734            "::",
735            stringify!(_IO_buf_base)
736        )
737    );
738    assert_eq!(
739        unsafe {
740            &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize
741        },
742        64usize,
743        concat!(
744            "Offset of field: ",
745            stringify!(_IO_FILE),
746            "::",
747            stringify!(_IO_buf_end)
748        )
749    );
750    assert_eq!(
751        unsafe {
752            &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize
753        },
754        72usize,
755        concat!(
756            "Offset of field: ",
757            stringify!(_IO_FILE),
758            "::",
759            stringify!(_IO_save_base)
760        )
761    );
762    assert_eq!(
763        unsafe {
764            &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize
765        },
766        80usize,
767        concat!(
768            "Offset of field: ",
769            stringify!(_IO_FILE),
770            "::",
771            stringify!(_IO_backup_base)
772        )
773    );
774    assert_eq!(
775        unsafe {
776            &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize
777        },
778        88usize,
779        concat!(
780            "Offset of field: ",
781            stringify!(_IO_FILE),
782            "::",
783            stringify!(_IO_save_end)
784        )
785    );
786    assert_eq!(
787        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
788        96usize,
789        concat!(
790            "Offset of field: ",
791            stringify!(_IO_FILE),
792            "::",
793            stringify!(_markers)
794        )
795    );
796    assert_eq!(
797        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
798        104usize,
799        concat!(
800            "Offset of field: ",
801            stringify!(_IO_FILE),
802            "::",
803            stringify!(_chain)
804        )
805    );
806    assert_eq!(
807        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
808        112usize,
809        concat!(
810            "Offset of field: ",
811            stringify!(_IO_FILE),
812            "::",
813            stringify!(_fileno)
814        )
815    );
816    assert_eq!(
817        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
818        116usize,
819        concat!(
820            "Offset of field: ",
821            stringify!(_IO_FILE),
822            "::",
823            stringify!(_flags2)
824        )
825    );
826    assert_eq!(
827        unsafe {
828            &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize
829        },
830        120usize,
831        concat!(
832            "Offset of field: ",
833            stringify!(_IO_FILE),
834            "::",
835            stringify!(_old_offset)
836        )
837    );
838    assert_eq!(
839        unsafe {
840            &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize
841        },
842        128usize,
843        concat!(
844            "Offset of field: ",
845            stringify!(_IO_FILE),
846            "::",
847            stringify!(_cur_column)
848        )
849    );
850    assert_eq!(
851        unsafe {
852            &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize
853        },
854        130usize,
855        concat!(
856            "Offset of field: ",
857            stringify!(_IO_FILE),
858            "::",
859            stringify!(_vtable_offset)
860        )
861    );
862    assert_eq!(
863        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
864        131usize,
865        concat!(
866            "Offset of field: ",
867            stringify!(_IO_FILE),
868            "::",
869            stringify!(_shortbuf)
870        )
871    );
872    assert_eq!(
873        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
874        136usize,
875        concat!(
876            "Offset of field: ",
877            stringify!(_IO_FILE),
878            "::",
879            stringify!(_lock)
880        )
881    );
882    assert_eq!(
883        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
884        144usize,
885        concat!(
886            "Offset of field: ",
887            stringify!(_IO_FILE),
888            "::",
889            stringify!(_offset)
890        )
891    );
892    assert_eq!(
893        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad1 as *const _ as usize },
894        152usize,
895        concat!(
896            "Offset of field: ",
897            stringify!(_IO_FILE),
898            "::",
899            stringify!(__pad1)
900        )
901    );
902    assert_eq!(
903        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad2 as *const _ as usize },
904        160usize,
905        concat!(
906            "Offset of field: ",
907            stringify!(_IO_FILE),
908            "::",
909            stringify!(__pad2)
910        )
911    );
912    assert_eq!(
913        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad3 as *const _ as usize },
914        168usize,
915        concat!(
916            "Offset of field: ",
917            stringify!(_IO_FILE),
918            "::",
919            stringify!(__pad3)
920        )
921    );
922    assert_eq!(
923        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad4 as *const _ as usize },
924        176usize,
925        concat!(
926            "Offset of field: ",
927            stringify!(_IO_FILE),
928            "::",
929            stringify!(__pad4)
930        )
931    );
932    assert_eq!(
933        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
934        184usize,
935        concat!(
936            "Offset of field: ",
937            stringify!(_IO_FILE),
938            "::",
939            stringify!(__pad5)
940        )
941    );
942    assert_eq!(
943        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
944        192usize,
945        concat!(
946            "Offset of field: ",
947            stringify!(_IO_FILE),
948            "::",
949            stringify!(_mode)
950        )
951    );
952    assert_eq!(
953        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
954        196usize,
955        concat!(
956            "Offset of field: ",
957            stringify!(_IO_FILE),
958            "::",
959            stringify!(_unused2)
960        )
961    );
962}
963#[repr(C)]
964#[derive(Debug, Copy, Clone)]
965pub struct _IO_FILE_plus {
966    _unused: [u8; 0],
967}
968extern "C" {
969    pub static mut _IO_2_1_stdin_: _IO_FILE_plus;
970}
971extern "C" {
972    pub static mut _IO_2_1_stdout_: _IO_FILE_plus;
973}
974extern "C" {
975    pub static mut _IO_2_1_stderr_: _IO_FILE_plus;
976}
977pub type __io_read_fn = ::std::option::Option<
978    unsafe extern "C" fn(
979        __cookie: *mut ::std::os::raw::c_void,
980        __buf: *mut ::std::os::raw::c_char,
981        __nbytes: size_t,
982    ) -> __ssize_t,
983>;
984pub type __io_write_fn = ::std::option::Option<
985    unsafe extern "C" fn(
986        __cookie: *mut ::std::os::raw::c_void,
987        __buf: *const ::std::os::raw::c_char,
988        __n: size_t,
989    ) -> __ssize_t,
990>;
991pub type __io_seek_fn = ::std::option::Option<
992    unsafe extern "C" fn(
993        __cookie: *mut ::std::os::raw::c_void,
994        __pos: *mut __off64_t,
995        __w: ::std::os::raw::c_int,
996    ) -> ::std::os::raw::c_int,
997>;
998pub type __io_close_fn = ::std::option::Option<
999    unsafe extern "C" fn(
1000        __cookie: *mut ::std::os::raw::c_void,
1001    ) -> ::std::os::raw::c_int,
1002>;
1003extern "C" {
1004    pub fn __underflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1005}
1006extern "C" {
1007    pub fn __uflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1008}
1009extern "C" {
1010    pub fn __overflow(
1011        arg1: *mut _IO_FILE,
1012        arg2: ::std::os::raw::c_int,
1013    ) -> ::std::os::raw::c_int;
1014}
1015extern "C" {
1016    pub fn _IO_getc(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1017}
1018extern "C" {
1019    pub fn _IO_putc(
1020        __c: ::std::os::raw::c_int,
1021        __fp: *mut _IO_FILE,
1022    ) -> ::std::os::raw::c_int;
1023}
1024extern "C" {
1025    pub fn _IO_feof(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1026}
1027extern "C" {
1028    pub fn _IO_ferror(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1029}
1030extern "C" {
1031    pub fn _IO_peekc_locked(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
1032}
1033extern "C" {
1034    pub fn _IO_flockfile(arg1: *mut _IO_FILE);
1035}
1036extern "C" {
1037    pub fn _IO_funlockfile(arg1: *mut _IO_FILE);
1038}
1039extern "C" {
1040    pub fn _IO_ftrylockfile(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
1041}
1042extern "C" {
1043    pub fn _IO_vfscanf(
1044        arg1: *mut _IO_FILE,
1045        arg2: *const ::std::os::raw::c_char,
1046        arg3: *mut __va_list_tag,
1047        arg4: *mut ::std::os::raw::c_int,
1048    ) -> ::std::os::raw::c_int;
1049}
1050extern "C" {
1051    pub fn _IO_vfprintf(
1052        arg1: *mut _IO_FILE,
1053        arg2: *const ::std::os::raw::c_char,
1054        arg3: *mut __va_list_tag,
1055    ) -> ::std::os::raw::c_int;
1056}
1057extern "C" {
1058    pub fn _IO_padn(
1059        arg1: *mut _IO_FILE,
1060        arg2: ::std::os::raw::c_int,
1061        arg3: __ssize_t,
1062    ) -> __ssize_t;
1063}
1064extern "C" {
1065    pub fn _IO_sgetn(
1066        arg1: *mut _IO_FILE,
1067        arg2: *mut ::std::os::raw::c_void,
1068        arg3: size_t,
1069    ) -> size_t;
1070}
1071extern "C" {
1072    pub fn _IO_seekoff(
1073        arg1: *mut _IO_FILE,
1074        arg2: __off64_t,
1075        arg3: ::std::os::raw::c_int,
1076        arg4: ::std::os::raw::c_int,
1077    ) -> __off64_t;
1078}
1079extern "C" {
1080    pub fn _IO_seekpos(
1081        arg1: *mut _IO_FILE,
1082        arg2: __off64_t,
1083        arg3: ::std::os::raw::c_int,
1084    ) -> __off64_t;
1085}
1086extern "C" {
1087    pub fn _IO_free_backup_area(arg1: *mut _IO_FILE);
1088}
1089pub type off_t = __off_t;
1090pub type ssize_t = __ssize_t;
1091pub type fpos_t = _G_fpos_t;
1092extern "C" {
1093    pub static mut stdin: *mut _IO_FILE;
1094}
1095extern "C" {
1096    pub static mut stdout: *mut _IO_FILE;
1097}
1098extern "C" {
1099    pub static mut stderr: *mut _IO_FILE;
1100}
1101extern "C" {
1102    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1103}
1104extern "C" {
1105    pub fn rename(
1106        __old: *const ::std::os::raw::c_char,
1107        __new: *const ::std::os::raw::c_char,
1108    ) -> ::std::os::raw::c_int;
1109}
1110extern "C" {
1111    pub fn renameat(
1112        __oldfd: ::std::os::raw::c_int,
1113        __old: *const ::std::os::raw::c_char,
1114        __newfd: ::std::os::raw::c_int,
1115        __new: *const ::std::os::raw::c_char,
1116    ) -> ::std::os::raw::c_int;
1117}
1118extern "C" {
1119    pub fn tmpfile() -> *mut FILE;
1120}
1121extern "C" {
1122    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1123}
1124extern "C" {
1125    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1126}
1127extern "C" {
1128    pub fn tempnam(
1129        __dir: *const ::std::os::raw::c_char,
1130        __pfx: *const ::std::os::raw::c_char,
1131    ) -> *mut ::std::os::raw::c_char;
1132}
1133extern "C" {
1134    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1135}
1136extern "C" {
1137    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
1138}
1139extern "C" {
1140    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1141}
1142extern "C" {
1143    pub fn fopen(
1144        __filename: *const ::std::os::raw::c_char,
1145        __modes: *const ::std::os::raw::c_char,
1146    ) -> *mut FILE;
1147}
1148extern "C" {
1149    pub fn freopen(
1150        __filename: *const ::std::os::raw::c_char,
1151        __modes: *const ::std::os::raw::c_char,
1152        __stream: *mut FILE,
1153    ) -> *mut FILE;
1154}
1155extern "C" {
1156    pub fn fdopen(
1157        __fd: ::std::os::raw::c_int,
1158        __modes: *const ::std::os::raw::c_char,
1159    ) -> *mut FILE;
1160}
1161extern "C" {
1162    pub fn fmemopen(
1163        __s: *mut ::std::os::raw::c_void,
1164        __len: size_t,
1165        __modes: *const ::std::os::raw::c_char,
1166    ) -> *mut FILE;
1167}
1168extern "C" {
1169    pub fn open_memstream(
1170        __bufloc: *mut *mut ::std::os::raw::c_char,
1171        __sizeloc: *mut size_t,
1172    ) -> *mut FILE;
1173}
1174extern "C" {
1175    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
1176}
1177extern "C" {
1178    pub fn setvbuf(
1179        __stream: *mut FILE,
1180        __buf: *mut ::std::os::raw::c_char,
1181        __modes: ::std::os::raw::c_int,
1182        __n: size_t,
1183    ) -> ::std::os::raw::c_int;
1184}
1185extern "C" {
1186    pub fn setbuffer(
1187        __stream: *mut FILE,
1188        __buf: *mut ::std::os::raw::c_char,
1189        __size: size_t,
1190    );
1191}
1192extern "C" {
1193    pub fn setlinebuf(__stream: *mut FILE);
1194}
1195extern "C" {
1196    pub fn fprintf(
1197        __stream: *mut FILE,
1198        __format: *const ::std::os::raw::c_char,
1199        ...
1200    ) -> ::std::os::raw::c_int;
1201}
1202extern "C" {
1203    pub fn printf(
1204        __format: *const ::std::os::raw::c_char,
1205        ...
1206    ) -> ::std::os::raw::c_int;
1207}
1208extern "C" {
1209    pub fn sprintf(
1210        __s: *mut ::std::os::raw::c_char,
1211        __format: *const ::std::os::raw::c_char,
1212        ...
1213    ) -> ::std::os::raw::c_int;
1214}
1215extern "C" {
1216    pub fn vfprintf(
1217        __s: *mut FILE,
1218        __format: *const ::std::os::raw::c_char,
1219        __arg: *mut __va_list_tag,
1220    ) -> ::std::os::raw::c_int;
1221}
1222extern "C" {
1223    pub fn vprintf(
1224        __format: *const ::std::os::raw::c_char,
1225        __arg: *mut __va_list_tag,
1226    ) -> ::std::os::raw::c_int;
1227}
1228extern "C" {
1229    pub fn vsprintf(
1230        __s: *mut ::std::os::raw::c_char,
1231        __format: *const ::std::os::raw::c_char,
1232        __arg: *mut __va_list_tag,
1233    ) -> ::std::os::raw::c_int;
1234}
1235extern "C" {
1236    pub fn snprintf(
1237        __s: *mut ::std::os::raw::c_char,
1238        __maxlen: ::std::os::raw::c_ulong,
1239        __format: *const ::std::os::raw::c_char,
1240        ...
1241    ) -> ::std::os::raw::c_int;
1242}
1243extern "C" {
1244    pub fn vsnprintf(
1245        __s: *mut ::std::os::raw::c_char,
1246        __maxlen: ::std::os::raw::c_ulong,
1247        __format: *const ::std::os::raw::c_char,
1248        __arg: *mut __va_list_tag,
1249    ) -> ::std::os::raw::c_int;
1250}
1251extern "C" {
1252    pub fn vdprintf(
1253        __fd: ::std::os::raw::c_int,
1254        __fmt: *const ::std::os::raw::c_char,
1255        __arg: *mut __va_list_tag,
1256    ) -> ::std::os::raw::c_int;
1257}
1258extern "C" {
1259    pub fn dprintf(
1260        __fd: ::std::os::raw::c_int,
1261        __fmt: *const ::std::os::raw::c_char,
1262        ...
1263    ) -> ::std::os::raw::c_int;
1264}
1265extern "C" {
1266    pub fn fscanf(
1267        __stream: *mut FILE,
1268        __format: *const ::std::os::raw::c_char,
1269        ...
1270    ) -> ::std::os::raw::c_int;
1271}
1272extern "C" {
1273    pub fn scanf(
1274        __format: *const ::std::os::raw::c_char,
1275        ...
1276    ) -> ::std::os::raw::c_int;
1277}
1278extern "C" {
1279    pub fn sscanf(
1280        __s: *const ::std::os::raw::c_char,
1281        __format: *const ::std::os::raw::c_char,
1282        ...
1283    ) -> ::std::os::raw::c_int;
1284}
1285extern "C" {
1286    #[link_name = "\u{1}__isoc99_fscanf"]
1287    pub fn fscanf1(
1288        __stream: *mut FILE,
1289        __format: *const ::std::os::raw::c_char,
1290        ...
1291    ) -> ::std::os::raw::c_int;
1292}
1293extern "C" {
1294    #[link_name = "\u{1}__isoc99_scanf"]
1295    pub fn scanf1(
1296        __format: *const ::std::os::raw::c_char,
1297        ...
1298    ) -> ::std::os::raw::c_int;
1299}
1300extern "C" {
1301    #[link_name = "\u{1}__isoc99_sscanf"]
1302    pub fn sscanf1(
1303        __s: *const ::std::os::raw::c_char,
1304        __format: *const ::std::os::raw::c_char,
1305        ...
1306    ) -> ::std::os::raw::c_int;
1307}
1308extern "C" {
1309    pub fn vfscanf(
1310        __s: *mut FILE,
1311        __format: *const ::std::os::raw::c_char,
1312        __arg: *mut __va_list_tag,
1313    ) -> ::std::os::raw::c_int;
1314}
1315extern "C" {
1316    pub fn vscanf(
1317        __format: *const ::std::os::raw::c_char,
1318        __arg: *mut __va_list_tag,
1319    ) -> ::std::os::raw::c_int;
1320}
1321extern "C" {
1322    pub fn vsscanf(
1323        __s: *const ::std::os::raw::c_char,
1324        __format: *const ::std::os::raw::c_char,
1325        __arg: *mut __va_list_tag,
1326    ) -> ::std::os::raw::c_int;
1327}
1328extern "C" {
1329    #[link_name = "\u{1}__isoc99_vfscanf"]
1330    pub fn vfscanf1(
1331        __s: *mut FILE,
1332        __format: *const ::std::os::raw::c_char,
1333        __arg: *mut __va_list_tag,
1334    ) -> ::std::os::raw::c_int;
1335}
1336extern "C" {
1337    #[link_name = "\u{1}__isoc99_vscanf"]
1338    pub fn vscanf1(
1339        __format: *const ::std::os::raw::c_char,
1340        __arg: *mut __va_list_tag,
1341    ) -> ::std::os::raw::c_int;
1342}
1343extern "C" {
1344    #[link_name = "\u{1}__isoc99_vsscanf"]
1345    pub fn vsscanf1(
1346        __s: *const ::std::os::raw::c_char,
1347        __format: *const ::std::os::raw::c_char,
1348        __arg: *mut __va_list_tag,
1349    ) -> ::std::os::raw::c_int;
1350}
1351extern "C" {
1352    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1353}
1354extern "C" {
1355    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
1356}
1357extern "C" {
1358    pub fn getchar() -> ::std::os::raw::c_int;
1359}
1360extern "C" {
1361    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1362}
1363extern "C" {
1364    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
1365}
1366extern "C" {
1367    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1368}
1369extern "C" {
1370    pub fn fputc(
1371        __c: ::std::os::raw::c_int,
1372        __stream: *mut FILE,
1373    ) -> ::std::os::raw::c_int;
1374}
1375extern "C" {
1376    pub fn putc(
1377        __c: ::std::os::raw::c_int,
1378        __stream: *mut FILE,
1379    ) -> ::std::os::raw::c_int;
1380}
1381extern "C" {
1382    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1383}
1384extern "C" {
1385    pub fn fputc_unlocked(
1386        __c: ::std::os::raw::c_int,
1387        __stream: *mut FILE,
1388    ) -> ::std::os::raw::c_int;
1389}
1390extern "C" {
1391    pub fn putc_unlocked(
1392        __c: ::std::os::raw::c_int,
1393        __stream: *mut FILE,
1394    ) -> ::std::os::raw::c_int;
1395}
1396extern "C" {
1397    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
1398}
1399extern "C" {
1400    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
1401}
1402extern "C" {
1403    pub fn putw(
1404        __w: ::std::os::raw::c_int,
1405        __stream: *mut FILE,
1406    ) -> ::std::os::raw::c_int;
1407}
1408extern "C" {
1409    pub fn fgets(
1410        __s: *mut ::std::os::raw::c_char,
1411        __n: ::std::os::raw::c_int,
1412        __stream: *mut FILE,
1413    ) -> *mut ::std::os::raw::c_char;
1414}
1415extern "C" {
1416    pub fn __getdelim(
1417        __lineptr: *mut *mut ::std::os::raw::c_char,
1418        __n: *mut size_t,
1419        __delimiter: ::std::os::raw::c_int,
1420        __stream: *mut FILE,
1421    ) -> __ssize_t;
1422}
1423extern "C" {
1424    pub fn getdelim(
1425        __lineptr: *mut *mut ::std::os::raw::c_char,
1426        __n: *mut size_t,
1427        __delimiter: ::std::os::raw::c_int,
1428        __stream: *mut FILE,
1429    ) -> __ssize_t;
1430}
1431extern "C" {
1432    pub fn getline(
1433        __lineptr: *mut *mut ::std::os::raw::c_char,
1434        __n: *mut size_t,
1435        __stream: *mut FILE,
1436    ) -> __ssize_t;
1437}
1438extern "C" {
1439    pub fn fputs(
1440        __s: *const ::std::os::raw::c_char,
1441        __stream: *mut FILE,
1442    ) -> ::std::os::raw::c_int;
1443}
1444extern "C" {
1445    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1446}
1447extern "C" {
1448    pub fn ungetc(
1449        __c: ::std::os::raw::c_int,
1450        __stream: *mut FILE,
1451    ) -> ::std::os::raw::c_int;
1452}
1453extern "C" {
1454    pub fn fread(
1455        __ptr: *mut ::std::os::raw::c_void,
1456        __size: size_t,
1457        __n: size_t,
1458        __stream: *mut FILE,
1459    ) -> size_t;
1460}
1461extern "C" {
1462    pub fn fwrite(
1463        __ptr: *const ::std::os::raw::c_void,
1464        __size: size_t,
1465        __n: size_t,
1466        __s: *mut FILE,
1467    ) -> size_t;
1468}
1469extern "C" {
1470    pub fn fread_unlocked(
1471        __ptr: *mut ::std::os::raw::c_void,
1472        __size: size_t,
1473        __n: size_t,
1474        __stream: *mut FILE,
1475    ) -> size_t;
1476}
1477extern "C" {
1478    pub fn fwrite_unlocked(
1479        __ptr: *const ::std::os::raw::c_void,
1480        __size: size_t,
1481        __n: size_t,
1482        __stream: *mut FILE,
1483    ) -> size_t;
1484}
1485extern "C" {
1486    pub fn fseek(
1487        __stream: *mut FILE,
1488        __off: ::std::os::raw::c_long,
1489        __whence: ::std::os::raw::c_int,
1490    ) -> ::std::os::raw::c_int;
1491}
1492extern "C" {
1493    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
1494}
1495extern "C" {
1496    pub fn rewind(__stream: *mut FILE);
1497}
1498extern "C" {
1499    pub fn fseeko(
1500        __stream: *mut FILE,
1501        __off: __off_t,
1502        __whence: ::std::os::raw::c_int,
1503    ) -> ::std::os::raw::c_int;
1504}
1505extern "C" {
1506    pub fn ftello(__stream: *mut FILE) -> __off_t;
1507}
1508extern "C" {
1509    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
1510}
1511extern "C" {
1512    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t)
1513        -> ::std::os::raw::c_int;
1514}
1515extern "C" {
1516    pub fn clearerr(__stream: *mut FILE);
1517}
1518extern "C" {
1519    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
1520}
1521extern "C" {
1522    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
1523}
1524extern "C" {
1525    pub fn clearerr_unlocked(__stream: *mut FILE);
1526}
1527extern "C" {
1528    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1529}
1530extern "C" {
1531    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1532}
1533extern "C" {
1534    pub fn perror(__s: *const ::std::os::raw::c_char);
1535}
1536extern "C" {
1537    pub static mut sys_nerr: ::std::os::raw::c_int;
1538}
1539extern "C" {
1540    pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
1541}
1542extern "C" {
1543    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
1544}
1545extern "C" {
1546    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
1547}
1548extern "C" {
1549    pub fn popen(
1550        __command: *const ::std::os::raw::c_char,
1551        __modes: *const ::std::os::raw::c_char,
1552    ) -> *mut FILE;
1553}
1554extern "C" {
1555    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
1556}
1557extern "C" {
1558    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
1559}
1560extern "C" {
1561    pub fn flockfile(__stream: *mut FILE);
1562}
1563extern "C" {
1564    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
1565}
1566extern "C" {
1567    pub fn funlockfile(__stream: *mut FILE);
1568}
1569pub type wchar_t = ::std::os::raw::c_int;
1570pub const idtype_t_P_ALL: idtype_t = 0;
1571pub const idtype_t_P_PID: idtype_t = 1;
1572pub const idtype_t_P_PGID: idtype_t = 2;
1573pub type idtype_t = ::std::os::raw::c_uint;
1574pub type _Float32 = f32;
1575pub type _Float64 = f64;
1576pub type _Float32x = f64;
1577pub type _Float64x = u128;
1578#[repr(C)]
1579#[derive(Debug, Copy, Clone)]
1580pub struct div_t {
1581    pub quot: ::std::os::raw::c_int,
1582    pub rem: ::std::os::raw::c_int,
1583}
1584#[test]
1585fn bindgen_test_layout_div_t() {
1586    assert_eq!(
1587        ::std::mem::size_of::<div_t>(),
1588        8usize,
1589        concat!("Size of: ", stringify!(div_t))
1590    );
1591    assert_eq!(
1592        ::std::mem::align_of::<div_t>(),
1593        4usize,
1594        concat!("Alignment of ", stringify!(div_t))
1595    );
1596    assert_eq!(
1597        unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
1598        0usize,
1599        concat!(
1600            "Offset of field: ",
1601            stringify!(div_t),
1602            "::",
1603            stringify!(quot)
1604        )
1605    );
1606    assert_eq!(
1607        unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
1608        4usize,
1609        concat!(
1610            "Offset of field: ",
1611            stringify!(div_t),
1612            "::",
1613            stringify!(rem)
1614        )
1615    );
1616}
1617#[repr(C)]
1618#[derive(Debug, Copy, Clone)]
1619pub struct ldiv_t {
1620    pub quot: ::std::os::raw::c_long,
1621    pub rem: ::std::os::raw::c_long,
1622}
1623#[test]
1624fn bindgen_test_layout_ldiv_t() {
1625    assert_eq!(
1626        ::std::mem::size_of::<ldiv_t>(),
1627        16usize,
1628        concat!("Size of: ", stringify!(ldiv_t))
1629    );
1630    assert_eq!(
1631        ::std::mem::align_of::<ldiv_t>(),
1632        8usize,
1633        concat!("Alignment of ", stringify!(ldiv_t))
1634    );
1635    assert_eq!(
1636        unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
1637        0usize,
1638        concat!(
1639            "Offset of field: ",
1640            stringify!(ldiv_t),
1641            "::",
1642            stringify!(quot)
1643        )
1644    );
1645    assert_eq!(
1646        unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
1647        8usize,
1648        concat!(
1649            "Offset of field: ",
1650            stringify!(ldiv_t),
1651            "::",
1652            stringify!(rem)
1653        )
1654    );
1655}
1656#[repr(C)]
1657#[derive(Debug, Copy, Clone)]
1658pub struct lldiv_t {
1659    pub quot: ::std::os::raw::c_longlong,
1660    pub rem: ::std::os::raw::c_longlong,
1661}
1662#[test]
1663fn bindgen_test_layout_lldiv_t() {
1664    assert_eq!(
1665        ::std::mem::size_of::<lldiv_t>(),
1666        16usize,
1667        concat!("Size of: ", stringify!(lldiv_t))
1668    );
1669    assert_eq!(
1670        ::std::mem::align_of::<lldiv_t>(),
1671        8usize,
1672        concat!("Alignment of ", stringify!(lldiv_t))
1673    );
1674    assert_eq!(
1675        unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
1676        0usize,
1677        concat!(
1678            "Offset of field: ",
1679            stringify!(lldiv_t),
1680            "::",
1681            stringify!(quot)
1682        )
1683    );
1684    assert_eq!(
1685        unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
1686        8usize,
1687        concat!(
1688            "Offset of field: ",
1689            stringify!(lldiv_t),
1690            "::",
1691            stringify!(rem)
1692        )
1693    );
1694}
1695extern "C" {
1696    pub fn __ctype_get_mb_cur_max() -> size_t;
1697}
1698extern "C" {
1699    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
1700}
1701extern "C" {
1702    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
1703}
1704extern "C" {
1705    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
1706}
1707extern "C" {
1708    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
1709}
1710extern "C" {
1711    pub fn strtod(
1712        __nptr: *const ::std::os::raw::c_char,
1713        __endptr: *mut *mut ::std::os::raw::c_char,
1714    ) -> f64;
1715}
1716extern "C" {
1717    pub fn strtof(
1718        __nptr: *const ::std::os::raw::c_char,
1719        __endptr: *mut *mut ::std::os::raw::c_char,
1720    ) -> f32;
1721}
1722extern "C" {
1723    pub fn strtold(
1724        __nptr: *const ::std::os::raw::c_char,
1725        __endptr: *mut *mut ::std::os::raw::c_char,
1726    ) -> u128;
1727}
1728extern "C" {
1729    pub fn strtol(
1730        __nptr: *const ::std::os::raw::c_char,
1731        __endptr: *mut *mut ::std::os::raw::c_char,
1732        __base: ::std::os::raw::c_int,
1733    ) -> ::std::os::raw::c_long;
1734}
1735extern "C" {
1736    pub fn strtoul(
1737        __nptr: *const ::std::os::raw::c_char,
1738        __endptr: *mut *mut ::std::os::raw::c_char,
1739        __base: ::std::os::raw::c_int,
1740    ) -> ::std::os::raw::c_ulong;
1741}
1742extern "C" {
1743    pub fn strtoq(
1744        __nptr: *const ::std::os::raw::c_char,
1745        __endptr: *mut *mut ::std::os::raw::c_char,
1746        __base: ::std::os::raw::c_int,
1747    ) -> ::std::os::raw::c_longlong;
1748}
1749extern "C" {
1750    pub fn strtouq(
1751        __nptr: *const ::std::os::raw::c_char,
1752        __endptr: *mut *mut ::std::os::raw::c_char,
1753        __base: ::std::os::raw::c_int,
1754    ) -> ::std::os::raw::c_ulonglong;
1755}
1756extern "C" {
1757    pub fn strtoll(
1758        __nptr: *const ::std::os::raw::c_char,
1759        __endptr: *mut *mut ::std::os::raw::c_char,
1760        __base: ::std::os::raw::c_int,
1761    ) -> ::std::os::raw::c_longlong;
1762}
1763extern "C" {
1764    pub fn strtoull(
1765        __nptr: *const ::std::os::raw::c_char,
1766        __endptr: *mut *mut ::std::os::raw::c_char,
1767        __base: ::std::os::raw::c_int,
1768    ) -> ::std::os::raw::c_ulonglong;
1769}
1770extern "C" {
1771    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
1772}
1773extern "C" {
1774    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
1775}
1776pub type u_char = __u_char;
1777pub type u_short = __u_short;
1778pub type u_int = __u_int;
1779pub type u_long = __u_long;
1780pub type quad_t = __quad_t;
1781pub type u_quad_t = __u_quad_t;
1782pub type fsid_t = __fsid_t;
1783pub type loff_t = __loff_t;
1784pub type ino_t = __ino_t;
1785pub type dev_t = __dev_t;
1786pub type gid_t = __gid_t;
1787pub type mode_t = __mode_t;
1788pub type nlink_t = __nlink_t;
1789pub type uid_t = __uid_t;
1790pub type pid_t = __pid_t;
1791pub type id_t = __id_t;
1792pub type daddr_t = __daddr_t;
1793pub type caddr_t = __caddr_t;
1794pub type key_t = __key_t;
1795pub type clock_t = __clock_t;
1796pub type clockid_t = __clockid_t;
1797pub type time_t = __time_t;
1798pub type timer_t = __timer_t;
1799pub type ulong = ::std::os::raw::c_ulong;
1800pub type ushort = ::std::os::raw::c_ushort;
1801pub type uint = ::std::os::raw::c_uint;
1802pub type u_int8_t = ::std::os::raw::c_uchar;
1803pub type u_int16_t = ::std::os::raw::c_ushort;
1804pub type u_int32_t = ::std::os::raw::c_uint;
1805pub type u_int64_t = ::std::os::raw::c_ulong;
1806pub type register_t = ::std::os::raw::c_long;
1807#[repr(C)]
1808#[derive(Debug, Copy, Clone)]
1809pub struct __sigset_t {
1810    pub __val: [::std::os::raw::c_ulong; 16usize],
1811}
1812#[test]
1813fn bindgen_test_layout___sigset_t() {
1814    assert_eq!(
1815        ::std::mem::size_of::<__sigset_t>(),
1816        128usize,
1817        concat!("Size of: ", stringify!(__sigset_t))
1818    );
1819    assert_eq!(
1820        ::std::mem::align_of::<__sigset_t>(),
1821        8usize,
1822        concat!("Alignment of ", stringify!(__sigset_t))
1823    );
1824    assert_eq!(
1825        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
1826        0usize,
1827        concat!(
1828            "Offset of field: ",
1829            stringify!(__sigset_t),
1830            "::",
1831            stringify!(__val)
1832        )
1833    );
1834}
1835pub type sigset_t = __sigset_t;
1836#[repr(C)]
1837#[derive(Debug, Copy, Clone)]
1838pub struct timeval {
1839    pub tv_sec: __time_t,
1840    pub tv_usec: __suseconds_t,
1841}
1842#[test]
1843fn bindgen_test_layout_timeval() {
1844    assert_eq!(
1845        ::std::mem::size_of::<timeval>(),
1846        16usize,
1847        concat!("Size of: ", stringify!(timeval))
1848    );
1849    assert_eq!(
1850        ::std::mem::align_of::<timeval>(),
1851        8usize,
1852        concat!("Alignment of ", stringify!(timeval))
1853    );
1854    assert_eq!(
1855        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
1856        0usize,
1857        concat!(
1858            "Offset of field: ",
1859            stringify!(timeval),
1860            "::",
1861            stringify!(tv_sec)
1862        )
1863    );
1864    assert_eq!(
1865        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
1866        8usize,
1867        concat!(
1868            "Offset of field: ",
1869            stringify!(timeval),
1870            "::",
1871            stringify!(tv_usec)
1872        )
1873    );
1874}
1875#[repr(C)]
1876#[derive(Debug, Copy, Clone)]
1877pub struct timespec {
1878    pub tv_sec: __time_t,
1879    pub tv_nsec: __syscall_slong_t,
1880}
1881#[test]
1882fn bindgen_test_layout_timespec() {
1883    assert_eq!(
1884        ::std::mem::size_of::<timespec>(),
1885        16usize,
1886        concat!("Size of: ", stringify!(timespec))
1887    );
1888    assert_eq!(
1889        ::std::mem::align_of::<timespec>(),
1890        8usize,
1891        concat!("Alignment of ", stringify!(timespec))
1892    );
1893    assert_eq!(
1894        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
1895        0usize,
1896        concat!(
1897            "Offset of field: ",
1898            stringify!(timespec),
1899            "::",
1900            stringify!(tv_sec)
1901        )
1902    );
1903    assert_eq!(
1904        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
1905        8usize,
1906        concat!(
1907            "Offset of field: ",
1908            stringify!(timespec),
1909            "::",
1910            stringify!(tv_nsec)
1911        )
1912    );
1913}
1914pub type suseconds_t = __suseconds_t;
1915pub type __fd_mask = ::std::os::raw::c_long;
1916#[repr(C)]
1917#[derive(Debug, Copy, Clone)]
1918pub struct fd_set {
1919    pub __fds_bits: [__fd_mask; 16usize],
1920}
1921#[test]
1922fn bindgen_test_layout_fd_set() {
1923    assert_eq!(
1924        ::std::mem::size_of::<fd_set>(),
1925        128usize,
1926        concat!("Size of: ", stringify!(fd_set))
1927    );
1928    assert_eq!(
1929        ::std::mem::align_of::<fd_set>(),
1930        8usize,
1931        concat!("Alignment of ", stringify!(fd_set))
1932    );
1933    assert_eq!(
1934        unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
1935        0usize,
1936        concat!(
1937            "Offset of field: ",
1938            stringify!(fd_set),
1939            "::",
1940            stringify!(__fds_bits)
1941        )
1942    );
1943}
1944pub type fd_mask = __fd_mask;
1945extern "C" {
1946    pub fn select(
1947        __nfds: ::std::os::raw::c_int,
1948        __readfds: *mut fd_set,
1949        __writefds: *mut fd_set,
1950        __exceptfds: *mut fd_set,
1951        __timeout: *mut timeval,
1952    ) -> ::std::os::raw::c_int;
1953}
1954extern "C" {
1955    pub fn pselect(
1956        __nfds: ::std::os::raw::c_int,
1957        __readfds: *mut fd_set,
1958        __writefds: *mut fd_set,
1959        __exceptfds: *mut fd_set,
1960        __timeout: *const timespec,
1961        __sigmask: *const __sigset_t,
1962    ) -> ::std::os::raw::c_int;
1963}
1964extern "C" {
1965    pub fn gnu_dev_major(__dev: __dev_t) -> ::std::os::raw::c_uint;
1966}
1967extern "C" {
1968    pub fn gnu_dev_minor(__dev: __dev_t) -> ::std::os::raw::c_uint;
1969}
1970extern "C" {
1971    pub fn gnu_dev_makedev(
1972        __major: ::std::os::raw::c_uint,
1973        __minor: ::std::os::raw::c_uint,
1974    ) -> __dev_t;
1975}
1976pub type blksize_t = __blksize_t;
1977pub type blkcnt_t = __blkcnt_t;
1978pub type fsblkcnt_t = __fsblkcnt_t;
1979pub type fsfilcnt_t = __fsfilcnt_t;
1980#[repr(C)]
1981#[derive(Debug, Copy, Clone)]
1982pub struct __pthread_rwlock_arch_t {
1983    pub __readers: ::std::os::raw::c_uint,
1984    pub __writers: ::std::os::raw::c_uint,
1985    pub __wrphase_futex: ::std::os::raw::c_uint,
1986    pub __writers_futex: ::std::os::raw::c_uint,
1987    pub __pad3: ::std::os::raw::c_uint,
1988    pub __pad4: ::std::os::raw::c_uint,
1989    pub __cur_writer: ::std::os::raw::c_int,
1990    pub __shared: ::std::os::raw::c_int,
1991    pub __rwelision: ::std::os::raw::c_schar,
1992    pub __pad1: [::std::os::raw::c_uchar; 7usize],
1993    pub __pad2: ::std::os::raw::c_ulong,
1994    pub __flags: ::std::os::raw::c_uint,
1995}
1996#[test]
1997fn bindgen_test_layout___pthread_rwlock_arch_t() {
1998    assert_eq!(
1999        ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
2000        56usize,
2001        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
2002    );
2003    assert_eq!(
2004        ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
2005        8usize,
2006        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
2007    );
2008    assert_eq!(
2009        unsafe {
2010            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _
2011                as usize
2012        },
2013        0usize,
2014        concat!(
2015            "Offset of field: ",
2016            stringify!(__pthread_rwlock_arch_t),
2017            "::",
2018            stringify!(__readers)
2019        )
2020    );
2021    assert_eq!(
2022        unsafe {
2023            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _
2024                as usize
2025        },
2026        4usize,
2027        concat!(
2028            "Offset of field: ",
2029            stringify!(__pthread_rwlock_arch_t),
2030            "::",
2031            stringify!(__writers)
2032        )
2033    );
2034    assert_eq!(
2035        unsafe {
2036            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex
2037                as *const _ as usize
2038        },
2039        8usize,
2040        concat!(
2041            "Offset of field: ",
2042            stringify!(__pthread_rwlock_arch_t),
2043            "::",
2044            stringify!(__wrphase_futex)
2045        )
2046    );
2047    assert_eq!(
2048        unsafe {
2049            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex
2050                as *const _ as usize
2051        },
2052        12usize,
2053        concat!(
2054            "Offset of field: ",
2055            stringify!(__pthread_rwlock_arch_t),
2056            "::",
2057            stringify!(__writers_futex)
2058        )
2059    );
2060    assert_eq!(
2061        unsafe {
2062            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _
2063                as usize
2064        },
2065        16usize,
2066        concat!(
2067            "Offset of field: ",
2068            stringify!(__pthread_rwlock_arch_t),
2069            "::",
2070            stringify!(__pad3)
2071        )
2072    );
2073    assert_eq!(
2074        unsafe {
2075            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _
2076                as usize
2077        },
2078        20usize,
2079        concat!(
2080            "Offset of field: ",
2081            stringify!(__pthread_rwlock_arch_t),
2082            "::",
2083            stringify!(__pad4)
2084        )
2085    );
2086    assert_eq!(
2087        unsafe {
2088            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer
2089                as *const _ as usize
2090        },
2091        24usize,
2092        concat!(
2093            "Offset of field: ",
2094            stringify!(__pthread_rwlock_arch_t),
2095            "::",
2096            stringify!(__cur_writer)
2097        )
2098    );
2099    assert_eq!(
2100        unsafe {
2101            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _
2102                as usize
2103        },
2104        28usize,
2105        concat!(
2106            "Offset of field: ",
2107            stringify!(__pthread_rwlock_arch_t),
2108            "::",
2109            stringify!(__shared)
2110        )
2111    );
2112    assert_eq!(
2113        unsafe {
2114            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _
2115                as usize
2116        },
2117        32usize,
2118        concat!(
2119            "Offset of field: ",
2120            stringify!(__pthread_rwlock_arch_t),
2121            "::",
2122            stringify!(__rwelision)
2123        )
2124    );
2125    assert_eq!(
2126        unsafe {
2127            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _
2128                as usize
2129        },
2130        33usize,
2131        concat!(
2132            "Offset of field: ",
2133            stringify!(__pthread_rwlock_arch_t),
2134            "::",
2135            stringify!(__pad1)
2136        )
2137    );
2138    assert_eq!(
2139        unsafe {
2140            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _
2141                as usize
2142        },
2143        40usize,
2144        concat!(
2145            "Offset of field: ",
2146            stringify!(__pthread_rwlock_arch_t),
2147            "::",
2148            stringify!(__pad2)
2149        )
2150    );
2151    assert_eq!(
2152        unsafe {
2153            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _
2154                as usize
2155        },
2156        48usize,
2157        concat!(
2158            "Offset of field: ",
2159            stringify!(__pthread_rwlock_arch_t),
2160            "::",
2161            stringify!(__flags)
2162        )
2163    );
2164}
2165#[repr(C)]
2166#[derive(Debug, Copy, Clone)]
2167pub struct __pthread_internal_list {
2168    pub __prev: *mut __pthread_internal_list,
2169    pub __next: *mut __pthread_internal_list,
2170}
2171#[test]
2172fn bindgen_test_layout___pthread_internal_list() {
2173    assert_eq!(
2174        ::std::mem::size_of::<__pthread_internal_list>(),
2175        16usize,
2176        concat!("Size of: ", stringify!(__pthread_internal_list))
2177    );
2178    assert_eq!(
2179        ::std::mem::align_of::<__pthread_internal_list>(),
2180        8usize,
2181        concat!("Alignment of ", stringify!(__pthread_internal_list))
2182    );
2183    assert_eq!(
2184        unsafe {
2185            &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _
2186                as usize
2187        },
2188        0usize,
2189        concat!(
2190            "Offset of field: ",
2191            stringify!(__pthread_internal_list),
2192            "::",
2193            stringify!(__prev)
2194        )
2195    );
2196    assert_eq!(
2197        unsafe {
2198            &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _
2199                as usize
2200        },
2201        8usize,
2202        concat!(
2203            "Offset of field: ",
2204            stringify!(__pthread_internal_list),
2205            "::",
2206            stringify!(__next)
2207        )
2208    );
2209}
2210pub type __pthread_list_t = __pthread_internal_list;
2211#[repr(C)]
2212#[derive(Debug, Copy, Clone)]
2213pub struct __pthread_mutex_s {
2214    pub __lock: ::std::os::raw::c_int,
2215    pub __count: ::std::os::raw::c_uint,
2216    pub __owner: ::std::os::raw::c_int,
2217    pub __nusers: ::std::os::raw::c_uint,
2218    pub __kind: ::std::os::raw::c_int,
2219    pub __spins: ::std::os::raw::c_short,
2220    pub __elision: ::std::os::raw::c_short,
2221    pub __list: __pthread_list_t,
2222}
2223#[test]
2224fn bindgen_test_layout___pthread_mutex_s() {
2225    assert_eq!(
2226        ::std::mem::size_of::<__pthread_mutex_s>(),
2227        40usize,
2228        concat!("Size of: ", stringify!(__pthread_mutex_s))
2229    );
2230    assert_eq!(
2231        ::std::mem::align_of::<__pthread_mutex_s>(),
2232        8usize,
2233        concat!("Alignment of ", stringify!(__pthread_mutex_s))
2234    );
2235    assert_eq!(
2236        unsafe {
2237            &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize
2238        },
2239        0usize,
2240        concat!(
2241            "Offset of field: ",
2242            stringify!(__pthread_mutex_s),
2243            "::",
2244            stringify!(__lock)
2245        )
2246    );
2247    assert_eq!(
2248        unsafe {
2249            &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize
2250        },
2251        4usize,
2252        concat!(
2253            "Offset of field: ",
2254            stringify!(__pthread_mutex_s),
2255            "::",
2256            stringify!(__count)
2257        )
2258    );
2259    assert_eq!(
2260        unsafe {
2261            &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize
2262        },
2263        8usize,
2264        concat!(
2265            "Offset of field: ",
2266            stringify!(__pthread_mutex_s),
2267            "::",
2268            stringify!(__owner)
2269        )
2270    );
2271    assert_eq!(
2272        unsafe {
2273            &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize
2274        },
2275        12usize,
2276        concat!(
2277            "Offset of field: ",
2278            stringify!(__pthread_mutex_s),
2279            "::",
2280            stringify!(__nusers)
2281        )
2282    );
2283    assert_eq!(
2284        unsafe {
2285            &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize
2286        },
2287        16usize,
2288        concat!(
2289            "Offset of field: ",
2290            stringify!(__pthread_mutex_s),
2291            "::",
2292            stringify!(__kind)
2293        )
2294    );
2295    assert_eq!(
2296        unsafe {
2297            &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize
2298        },
2299        20usize,
2300        concat!(
2301            "Offset of field: ",
2302            stringify!(__pthread_mutex_s),
2303            "::",
2304            stringify!(__spins)
2305        )
2306    );
2307    assert_eq!(
2308        unsafe {
2309            &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _
2310                as usize
2311        },
2312        22usize,
2313        concat!(
2314            "Offset of field: ",
2315            stringify!(__pthread_mutex_s),
2316            "::",
2317            stringify!(__elision)
2318        )
2319    );
2320    assert_eq!(
2321        unsafe {
2322            &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize
2323        },
2324        24usize,
2325        concat!(
2326            "Offset of field: ",
2327            stringify!(__pthread_mutex_s),
2328            "::",
2329            stringify!(__list)
2330        )
2331    );
2332}
2333#[repr(C)]
2334#[derive(Copy, Clone)]
2335pub struct __pthread_cond_s {
2336    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
2337    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
2338    pub __g_refs: [::std::os::raw::c_uint; 2usize],
2339    pub __g_size: [::std::os::raw::c_uint; 2usize],
2340    pub __g1_orig_size: ::std::os::raw::c_uint,
2341    pub __wrefs: ::std::os::raw::c_uint,
2342    pub __g_signals: [::std::os::raw::c_uint; 2usize],
2343}
2344#[repr(C)]
2345#[derive(Copy, Clone)]
2346pub union __pthread_cond_s__bindgen_ty_1 {
2347    pub __wseq: ::std::os::raw::c_ulonglong,
2348    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
2349}
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
2353    pub __low: ::std::os::raw::c_uint,
2354    pub __high: ::std::os::raw::c_uint,
2355}
2356#[test]
2357fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
2358    assert_eq!(
2359        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
2360        8usize,
2361        concat!(
2362            "Size of: ",
2363            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
2364        )
2365    );
2366    assert_eq!(
2367        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
2368        4usize,
2369        concat!(
2370            "Alignment of ",
2371            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
2372        )
2373    );
2374    assert_eq!(
2375        unsafe {
2376            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>()))
2377                .__low as *const _ as usize
2378        },
2379        0usize,
2380        concat!(
2381            "Offset of field: ",
2382            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
2383            "::",
2384            stringify!(__low)
2385        )
2386    );
2387    assert_eq!(
2388        unsafe {
2389            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>()))
2390                .__high as *const _ as usize
2391        },
2392        4usize,
2393        concat!(
2394            "Offset of field: ",
2395            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
2396            "::",
2397            stringify!(__high)
2398        )
2399    );
2400}
2401#[test]
2402fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
2403    assert_eq!(
2404        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
2405        8usize,
2406        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
2407    );
2408    assert_eq!(
2409        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
2410        8usize,
2411        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
2412    );
2413    assert_eq!(
2414        unsafe {
2415            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq
2416                as *const _ as usize
2417        },
2418        0usize,
2419        concat!(
2420            "Offset of field: ",
2421            stringify!(__pthread_cond_s__bindgen_ty_1),
2422            "::",
2423            stringify!(__wseq)
2424        )
2425    );
2426    assert_eq!(
2427        unsafe {
2428            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32
2429                as *const _ as usize
2430        },
2431        0usize,
2432        concat!(
2433            "Offset of field: ",
2434            stringify!(__pthread_cond_s__bindgen_ty_1),
2435            "::",
2436            stringify!(__wseq32)
2437        )
2438    );
2439}
2440#[repr(C)]
2441#[derive(Copy, Clone)]
2442pub union __pthread_cond_s__bindgen_ty_2 {
2443    pub __g1_start: ::std::os::raw::c_ulonglong,
2444    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
2445}
2446#[repr(C)]
2447#[derive(Debug, Copy, Clone)]
2448pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
2449    pub __low: ::std::os::raw::c_uint,
2450    pub __high: ::std::os::raw::c_uint,
2451}
2452#[test]
2453fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
2454    assert_eq!(
2455        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
2456        8usize,
2457        concat!(
2458            "Size of: ",
2459            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
2460        )
2461    );
2462    assert_eq!(
2463        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
2464        4usize,
2465        concat!(
2466            "Alignment of ",
2467            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
2468        )
2469    );
2470    assert_eq!(
2471        unsafe {
2472            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>()))
2473                .__low as *const _ as usize
2474        },
2475        0usize,
2476        concat!(
2477            "Offset of field: ",
2478            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
2479            "::",
2480            stringify!(__low)
2481        )
2482    );
2483    assert_eq!(
2484        unsafe {
2485            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>()))
2486                .__high as *const _ as usize
2487        },
2488        4usize,
2489        concat!(
2490            "Offset of field: ",
2491            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
2492            "::",
2493            stringify!(__high)
2494        )
2495    );
2496}
2497#[test]
2498fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
2499    assert_eq!(
2500        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
2501        8usize,
2502        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
2503    );
2504    assert_eq!(
2505        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
2506        8usize,
2507        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
2508    );
2509    assert_eq!(
2510        unsafe {
2511            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start
2512                as *const _ as usize
2513        },
2514        0usize,
2515        concat!(
2516            "Offset of field: ",
2517            stringify!(__pthread_cond_s__bindgen_ty_2),
2518            "::",
2519            stringify!(__g1_start)
2520        )
2521    );
2522    assert_eq!(
2523        unsafe {
2524            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32
2525                as *const _ as usize
2526        },
2527        0usize,
2528        concat!(
2529            "Offset of field: ",
2530            stringify!(__pthread_cond_s__bindgen_ty_2),
2531            "::",
2532            stringify!(__g1_start32)
2533        )
2534    );
2535}
2536#[test]
2537fn bindgen_test_layout___pthread_cond_s() {
2538    assert_eq!(
2539        ::std::mem::size_of::<__pthread_cond_s>(),
2540        48usize,
2541        concat!("Size of: ", stringify!(__pthread_cond_s))
2542    );
2543    assert_eq!(
2544        ::std::mem::align_of::<__pthread_cond_s>(),
2545        8usize,
2546        concat!("Alignment of ", stringify!(__pthread_cond_s))
2547    );
2548    assert_eq!(
2549        unsafe {
2550            &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize
2551        },
2552        16usize,
2553        concat!(
2554            "Offset of field: ",
2555            stringify!(__pthread_cond_s),
2556            "::",
2557            stringify!(__g_refs)
2558        )
2559    );
2560    assert_eq!(
2561        unsafe {
2562            &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize
2563        },
2564        24usize,
2565        concat!(
2566            "Offset of field: ",
2567            stringify!(__pthread_cond_s),
2568            "::",
2569            stringify!(__g_size)
2570        )
2571    );
2572    assert_eq!(
2573        unsafe {
2574            &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _
2575                as usize
2576        },
2577        32usize,
2578        concat!(
2579            "Offset of field: ",
2580            stringify!(__pthread_cond_s),
2581            "::",
2582            stringify!(__g1_orig_size)
2583        )
2584    );
2585    assert_eq!(
2586        unsafe {
2587            &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize
2588        },
2589        36usize,
2590        concat!(
2591            "Offset of field: ",
2592            stringify!(__pthread_cond_s),
2593            "::",
2594            stringify!(__wrefs)
2595        )
2596    );
2597    assert_eq!(
2598        unsafe {
2599            &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _
2600                as usize
2601        },
2602        40usize,
2603        concat!(
2604            "Offset of field: ",
2605            stringify!(__pthread_cond_s),
2606            "::",
2607            stringify!(__g_signals)
2608        )
2609    );
2610}
2611pub type pthread_t = ::std::os::raw::c_ulong;
2612#[repr(C)]
2613#[derive(Copy, Clone)]
2614pub union pthread_mutexattr_t {
2615    pub __size: [::std::os::raw::c_char; 4usize],
2616    pub __align: ::std::os::raw::c_int,
2617}
2618#[test]
2619fn bindgen_test_layout_pthread_mutexattr_t() {
2620    assert_eq!(
2621        ::std::mem::size_of::<pthread_mutexattr_t>(),
2622        4usize,
2623        concat!("Size of: ", stringify!(pthread_mutexattr_t))
2624    );
2625    assert_eq!(
2626        ::std::mem::align_of::<pthread_mutexattr_t>(),
2627        4usize,
2628        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
2629    );
2630    assert_eq!(
2631        unsafe {
2632            &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize
2633        },
2634        0usize,
2635        concat!(
2636            "Offset of field: ",
2637            stringify!(pthread_mutexattr_t),
2638            "::",
2639            stringify!(__size)
2640        )
2641    );
2642    assert_eq!(
2643        unsafe {
2644            &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _
2645                as usize
2646        },
2647        0usize,
2648        concat!(
2649            "Offset of field: ",
2650            stringify!(pthread_mutexattr_t),
2651            "::",
2652            stringify!(__align)
2653        )
2654    );
2655}
2656#[repr(C)]
2657#[derive(Copy, Clone)]
2658pub union pthread_condattr_t {
2659    pub __size: [::std::os::raw::c_char; 4usize],
2660    pub __align: ::std::os::raw::c_int,
2661}
2662#[test]
2663fn bindgen_test_layout_pthread_condattr_t() {
2664    assert_eq!(
2665        ::std::mem::size_of::<pthread_condattr_t>(),
2666        4usize,
2667        concat!("Size of: ", stringify!(pthread_condattr_t))
2668    );
2669    assert_eq!(
2670        ::std::mem::align_of::<pthread_condattr_t>(),
2671        4usize,
2672        concat!("Alignment of ", stringify!(pthread_condattr_t))
2673    );
2674    assert_eq!(
2675        unsafe {
2676            &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize
2677        },
2678        0usize,
2679        concat!(
2680            "Offset of field: ",
2681            stringify!(pthread_condattr_t),
2682            "::",
2683            stringify!(__size)
2684        )
2685    );
2686    assert_eq!(
2687        unsafe {
2688            &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize
2689        },
2690        0usize,
2691        concat!(
2692            "Offset of field: ",
2693            stringify!(pthread_condattr_t),
2694            "::",
2695            stringify!(__align)
2696        )
2697    );
2698}
2699pub type pthread_key_t = ::std::os::raw::c_uint;
2700pub type pthread_once_t = ::std::os::raw::c_int;
2701#[repr(C)]
2702#[derive(Copy, Clone)]
2703pub union pthread_attr_t {
2704    pub __size: [::std::os::raw::c_char; 56usize],
2705    pub __align: ::std::os::raw::c_long,
2706}
2707#[test]
2708fn bindgen_test_layout_pthread_attr_t() {
2709    assert_eq!(
2710        ::std::mem::size_of::<pthread_attr_t>(),
2711        56usize,
2712        concat!("Size of: ", stringify!(pthread_attr_t))
2713    );
2714    assert_eq!(
2715        ::std::mem::align_of::<pthread_attr_t>(),
2716        8usize,
2717        concat!("Alignment of ", stringify!(pthread_attr_t))
2718    );
2719    assert_eq!(
2720        unsafe {
2721            &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize
2722        },
2723        0usize,
2724        concat!(
2725            "Offset of field: ",
2726            stringify!(pthread_attr_t),
2727            "::",
2728            stringify!(__size)
2729        )
2730    );
2731    assert_eq!(
2732        unsafe {
2733            &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize
2734        },
2735        0usize,
2736        concat!(
2737            "Offset of field: ",
2738            stringify!(pthread_attr_t),
2739            "::",
2740            stringify!(__align)
2741        )
2742    );
2743}
2744#[repr(C)]
2745#[derive(Copy, Clone)]
2746pub union pthread_mutex_t {
2747    pub __data: __pthread_mutex_s,
2748    pub __size: [::std::os::raw::c_char; 40usize],
2749    pub __align: ::std::os::raw::c_long,
2750}
2751#[test]
2752fn bindgen_test_layout_pthread_mutex_t() {
2753    assert_eq!(
2754        ::std::mem::size_of::<pthread_mutex_t>(),
2755        40usize,
2756        concat!("Size of: ", stringify!(pthread_mutex_t))
2757    );
2758    assert_eq!(
2759        ::std::mem::align_of::<pthread_mutex_t>(),
2760        8usize,
2761        concat!("Alignment of ", stringify!(pthread_mutex_t))
2762    );
2763    assert_eq!(
2764        unsafe {
2765            &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize
2766        },
2767        0usize,
2768        concat!(
2769            "Offset of field: ",
2770            stringify!(pthread_mutex_t),
2771            "::",
2772            stringify!(__data)
2773        )
2774    );
2775    assert_eq!(
2776        unsafe {
2777            &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize
2778        },
2779        0usize,
2780        concat!(
2781            "Offset of field: ",
2782            stringify!(pthread_mutex_t),
2783            "::",
2784            stringify!(__size)
2785        )
2786    );
2787    assert_eq!(
2788        unsafe {
2789            &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize
2790        },
2791        0usize,
2792        concat!(
2793            "Offset of field: ",
2794            stringify!(pthread_mutex_t),
2795            "::",
2796            stringify!(__align)
2797        )
2798    );
2799}
2800#[repr(C)]
2801#[derive(Copy, Clone)]
2802pub union pthread_cond_t {
2803    pub __data: __pthread_cond_s,
2804    pub __size: [::std::os::raw::c_char; 48usize],
2805    pub __align: ::std::os::raw::c_longlong,
2806}
2807#[test]
2808fn bindgen_test_layout_pthread_cond_t() {
2809    assert_eq!(
2810        ::std::mem::size_of::<pthread_cond_t>(),
2811        48usize,
2812        concat!("Size of: ", stringify!(pthread_cond_t))
2813    );
2814    assert_eq!(
2815        ::std::mem::align_of::<pthread_cond_t>(),
2816        8usize,
2817        concat!("Alignment of ", stringify!(pthread_cond_t))
2818    );
2819    assert_eq!(
2820        unsafe {
2821            &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize
2822        },
2823        0usize,
2824        concat!(
2825            "Offset of field: ",
2826            stringify!(pthread_cond_t),
2827            "::",
2828            stringify!(__data)
2829        )
2830    );
2831    assert_eq!(
2832        unsafe {
2833            &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize
2834        },
2835        0usize,
2836        concat!(
2837            "Offset of field: ",
2838            stringify!(pthread_cond_t),
2839            "::",
2840            stringify!(__size)
2841        )
2842    );
2843    assert_eq!(
2844        unsafe {
2845            &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize
2846        },
2847        0usize,
2848        concat!(
2849            "Offset of field: ",
2850            stringify!(pthread_cond_t),
2851            "::",
2852            stringify!(__align)
2853        )
2854    );
2855}
2856#[repr(C)]
2857#[derive(Copy, Clone)]
2858pub union pthread_rwlock_t {
2859    pub __data: __pthread_rwlock_arch_t,
2860    pub __size: [::std::os::raw::c_char; 56usize],
2861    pub __align: ::std::os::raw::c_long,
2862}
2863#[test]
2864fn bindgen_test_layout_pthread_rwlock_t() {
2865    assert_eq!(
2866        ::std::mem::size_of::<pthread_rwlock_t>(),
2867        56usize,
2868        concat!("Size of: ", stringify!(pthread_rwlock_t))
2869    );
2870    assert_eq!(
2871        ::std::mem::align_of::<pthread_rwlock_t>(),
2872        8usize,
2873        concat!("Alignment of ", stringify!(pthread_rwlock_t))
2874    );
2875    assert_eq!(
2876        unsafe {
2877            &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize
2878        },
2879        0usize,
2880        concat!(
2881            "Offset of field: ",
2882            stringify!(pthread_rwlock_t),
2883            "::",
2884            stringify!(__data)
2885        )
2886    );
2887    assert_eq!(
2888        unsafe {
2889            &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize
2890        },
2891        0usize,
2892        concat!(
2893            "Offset of field: ",
2894            stringify!(pthread_rwlock_t),
2895            "::",
2896            stringify!(__size)
2897        )
2898    );
2899    assert_eq!(
2900        unsafe {
2901            &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize
2902        },
2903        0usize,
2904        concat!(
2905            "Offset of field: ",
2906            stringify!(pthread_rwlock_t),
2907            "::",
2908            stringify!(__align)
2909        )
2910    );
2911}
2912#[repr(C)]
2913#[derive(Copy, Clone)]
2914pub union pthread_rwlockattr_t {
2915    pub __size: [::std::os::raw::c_char; 8usize],
2916    pub __align: ::std::os::raw::c_long,
2917}
2918#[test]
2919fn bindgen_test_layout_pthread_rwlockattr_t() {
2920    assert_eq!(
2921        ::std::mem::size_of::<pthread_rwlockattr_t>(),
2922        8usize,
2923        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
2924    );
2925    assert_eq!(
2926        ::std::mem::align_of::<pthread_rwlockattr_t>(),
2927        8usize,
2928        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
2929    );
2930    assert_eq!(
2931        unsafe {
2932            &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _
2933                as usize
2934        },
2935        0usize,
2936        concat!(
2937            "Offset of field: ",
2938            stringify!(pthread_rwlockattr_t),
2939            "::",
2940            stringify!(__size)
2941        )
2942    );
2943    assert_eq!(
2944        unsafe {
2945            &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _
2946                as usize
2947        },
2948        0usize,
2949        concat!(
2950            "Offset of field: ",
2951            stringify!(pthread_rwlockattr_t),
2952            "::",
2953            stringify!(__align)
2954        )
2955    );
2956}
2957pub type pthread_spinlock_t = ::std::os::raw::c_int;
2958#[repr(C)]
2959#[derive(Copy, Clone)]
2960pub union pthread_barrier_t {
2961    pub __size: [::std::os::raw::c_char; 32usize],
2962    pub __align: ::std::os::raw::c_long,
2963}
2964#[test]
2965fn bindgen_test_layout_pthread_barrier_t() {
2966    assert_eq!(
2967        ::std::mem::size_of::<pthread_barrier_t>(),
2968        32usize,
2969        concat!("Size of: ", stringify!(pthread_barrier_t))
2970    );
2971    assert_eq!(
2972        ::std::mem::align_of::<pthread_barrier_t>(),
2973        8usize,
2974        concat!("Alignment of ", stringify!(pthread_barrier_t))
2975    );
2976    assert_eq!(
2977        unsafe {
2978            &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize
2979        },
2980        0usize,
2981        concat!(
2982            "Offset of field: ",
2983            stringify!(pthread_barrier_t),
2984            "::",
2985            stringify!(__size)
2986        )
2987    );
2988    assert_eq!(
2989        unsafe {
2990            &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize
2991        },
2992        0usize,
2993        concat!(
2994            "Offset of field: ",
2995            stringify!(pthread_barrier_t),
2996            "::",
2997            stringify!(__align)
2998        )
2999    );
3000}
3001#[repr(C)]
3002#[derive(Copy, Clone)]
3003pub union pthread_barrierattr_t {
3004    pub __size: [::std::os::raw::c_char; 4usize],
3005    pub __align: ::std::os::raw::c_int,
3006}
3007#[test]
3008fn bindgen_test_layout_pthread_barrierattr_t() {
3009    assert_eq!(
3010        ::std::mem::size_of::<pthread_barrierattr_t>(),
3011        4usize,
3012        concat!("Size of: ", stringify!(pthread_barrierattr_t))
3013    );
3014    assert_eq!(
3015        ::std::mem::align_of::<pthread_barrierattr_t>(),
3016        4usize,
3017        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
3018    );
3019    assert_eq!(
3020        unsafe {
3021            &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _
3022                as usize
3023        },
3024        0usize,
3025        concat!(
3026            "Offset of field: ",
3027            stringify!(pthread_barrierattr_t),
3028            "::",
3029            stringify!(__size)
3030        )
3031    );
3032    assert_eq!(
3033        unsafe {
3034            &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _
3035                as usize
3036        },
3037        0usize,
3038        concat!(
3039            "Offset of field: ",
3040            stringify!(pthread_barrierattr_t),
3041            "::",
3042            stringify!(__align)
3043        )
3044    );
3045}
3046extern "C" {
3047    pub fn random() -> ::std::os::raw::c_long;
3048}
3049extern "C" {
3050    pub fn srandom(__seed: ::std::os::raw::c_uint);
3051}
3052extern "C" {
3053    pub fn initstate(
3054        __seed: ::std::os::raw::c_uint,
3055        __statebuf: *mut ::std::os::raw::c_char,
3056        __statelen: size_t,
3057    ) -> *mut ::std::os::raw::c_char;
3058}
3059extern "C" {
3060    pub fn setstate(
3061        __statebuf: *mut ::std::os::raw::c_char,
3062    ) -> *mut ::std::os::raw::c_char;
3063}
3064#[repr(C)]
3065#[derive(Debug, Copy, Clone)]
3066pub struct random_data {
3067    pub fptr: *mut i32,
3068    pub rptr: *mut i32,
3069    pub state: *mut i32,
3070    pub rand_type: ::std::os::raw::c_int,
3071    pub rand_deg: ::std::os::raw::c_int,
3072    pub rand_sep: ::std::os::raw::c_int,
3073    pub end_ptr: *mut i32,
3074}
3075#[test]
3076fn bindgen_test_layout_random_data() {
3077    assert_eq!(
3078        ::std::mem::size_of::<random_data>(),
3079        48usize,
3080        concat!("Size of: ", stringify!(random_data))
3081    );
3082    assert_eq!(
3083        ::std::mem::align_of::<random_data>(),
3084        8usize,
3085        concat!("Alignment of ", stringify!(random_data))
3086    );
3087    assert_eq!(
3088        unsafe { &(*(::std::ptr::null::<random_data>())).fptr as *const _ as usize },
3089        0usize,
3090        concat!(
3091            "Offset of field: ",
3092            stringify!(random_data),
3093            "::",
3094            stringify!(fptr)
3095        )
3096    );
3097    assert_eq!(
3098        unsafe { &(*(::std::ptr::null::<random_data>())).rptr as *const _ as usize },
3099        8usize,
3100        concat!(
3101            "Offset of field: ",
3102            stringify!(random_data),
3103            "::",
3104            stringify!(rptr)
3105        )
3106    );
3107    assert_eq!(
3108        unsafe { &(*(::std::ptr::null::<random_data>())).state as *const _ as usize },
3109        16usize,
3110        concat!(
3111            "Offset of field: ",
3112            stringify!(random_data),
3113            "::",
3114            stringify!(state)
3115        )
3116    );
3117    assert_eq!(
3118        unsafe {
3119            &(*(::std::ptr::null::<random_data>())).rand_type as *const _ as usize
3120        },
3121        24usize,
3122        concat!(
3123            "Offset of field: ",
3124            stringify!(random_data),
3125            "::",
3126            stringify!(rand_type)
3127        )
3128    );
3129    assert_eq!(
3130        unsafe {
3131            &(*(::std::ptr::null::<random_data>())).rand_deg as *const _ as usize
3132        },
3133        28usize,
3134        concat!(
3135            "Offset of field: ",
3136            stringify!(random_data),
3137            "::",
3138            stringify!(rand_deg)
3139        )
3140    );
3141    assert_eq!(
3142        unsafe {
3143            &(*(::std::ptr::null::<random_data>())).rand_sep as *const _ as usize
3144        },
3145        32usize,
3146        concat!(
3147            "Offset of field: ",
3148            stringify!(random_data),
3149            "::",
3150            stringify!(rand_sep)
3151        )
3152    );
3153    assert_eq!(
3154        unsafe {
3155            &(*(::std::ptr::null::<random_data>())).end_ptr as *const _ as usize
3156        },
3157        40usize,
3158        concat!(
3159            "Offset of field: ",
3160            stringify!(random_data),
3161            "::",
3162            stringify!(end_ptr)
3163        )
3164    );
3165}
3166extern "C" {
3167    pub fn random_r(
3168        __buf: *mut random_data,
3169        __result: *mut i32,
3170    ) -> ::std::os::raw::c_int;
3171}
3172extern "C" {
3173    pub fn srandom_r(
3174        __seed: ::std::os::raw::c_uint,
3175        __buf: *mut random_data,
3176    ) -> ::std::os::raw::c_int;
3177}
3178extern "C" {
3179    pub fn initstate_r(
3180        __seed: ::std::os::raw::c_uint,
3181        __statebuf: *mut ::std::os::raw::c_char,
3182        __statelen: size_t,
3183        __buf: *mut random_data,
3184    ) -> ::std::os::raw::c_int;
3185}
3186extern "C" {
3187    pub fn setstate_r(
3188        __statebuf: *mut ::std::os::raw::c_char,
3189        __buf: *mut random_data,
3190    ) -> ::std::os::raw::c_int;
3191}
3192extern "C" {
3193    pub fn rand() -> ::std::os::raw::c_int;
3194}
3195extern "C" {
3196    pub fn srand(__seed: ::std::os::raw::c_uint);
3197}
3198extern "C" {
3199    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3200}
3201extern "C" {
3202    pub fn drand48() -> f64;
3203}
3204extern "C" {
3205    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
3206}
3207extern "C" {
3208    pub fn lrand48() -> ::std::os::raw::c_long;
3209}
3210extern "C" {
3211    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3212}
3213extern "C" {
3214    pub fn mrand48() -> ::std::os::raw::c_long;
3215}
3216extern "C" {
3217    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3218}
3219extern "C" {
3220    pub fn srand48(__seedval: ::std::os::raw::c_long);
3221}
3222extern "C" {
3223    pub fn seed48(
3224        __seed16v: *mut ::std::os::raw::c_ushort,
3225    ) -> *mut ::std::os::raw::c_ushort;
3226}
3227extern "C" {
3228    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
3229}
3230#[repr(C)]
3231#[derive(Debug, Copy, Clone)]
3232pub struct drand48_data {
3233    pub __x: [::std::os::raw::c_ushort; 3usize],
3234    pub __old_x: [::std::os::raw::c_ushort; 3usize],
3235    pub __c: ::std::os::raw::c_ushort,
3236    pub __init: ::std::os::raw::c_ushort,
3237    pub __a: ::std::os::raw::c_ulonglong,
3238}
3239#[test]
3240fn bindgen_test_layout_drand48_data() {
3241    assert_eq!(
3242        ::std::mem::size_of::<drand48_data>(),
3243        24usize,
3244        concat!("Size of: ", stringify!(drand48_data))
3245    );
3246    assert_eq!(
3247        ::std::mem::align_of::<drand48_data>(),
3248        8usize,
3249        concat!("Alignment of ", stringify!(drand48_data))
3250    );
3251    assert_eq!(
3252        unsafe { &(*(::std::ptr::null::<drand48_data>())).__x as *const _ as usize },
3253        0usize,
3254        concat!(
3255            "Offset of field: ",
3256            stringify!(drand48_data),
3257            "::",
3258            stringify!(__x)
3259        )
3260    );
3261    assert_eq!(
3262        unsafe {
3263            &(*(::std::ptr::null::<drand48_data>())).__old_x as *const _ as usize
3264        },
3265        6usize,
3266        concat!(
3267            "Offset of field: ",
3268            stringify!(drand48_data),
3269            "::",
3270            stringify!(__old_x)
3271        )
3272    );
3273    assert_eq!(
3274        unsafe { &(*(::std::ptr::null::<drand48_data>())).__c as *const _ as usize },
3275        12usize,
3276        concat!(
3277            "Offset of field: ",
3278            stringify!(drand48_data),
3279            "::",
3280            stringify!(__c)
3281        )
3282    );
3283    assert_eq!(
3284        unsafe {
3285            &(*(::std::ptr::null::<drand48_data>())).__init as *const _ as usize
3286        },
3287        14usize,
3288        concat!(
3289            "Offset of field: ",
3290            stringify!(drand48_data),
3291            "::",
3292            stringify!(__init)
3293        )
3294    );
3295    assert_eq!(
3296        unsafe { &(*(::std::ptr::null::<drand48_data>())).__a as *const _ as usize },
3297        16usize,
3298        concat!(
3299            "Offset of field: ",
3300            stringify!(drand48_data),
3301            "::",
3302            stringify!(__a)
3303        )
3304    );
3305}
3306extern "C" {
3307    pub fn drand48_r(
3308        __buffer: *mut drand48_data,
3309        __result: *mut f64,
3310    ) -> ::std::os::raw::c_int;
3311}
3312extern "C" {
3313    pub fn erand48_r(
3314        __xsubi: *mut ::std::os::raw::c_ushort,
3315        __buffer: *mut drand48_data,
3316        __result: *mut f64,
3317    ) -> ::std::os::raw::c_int;
3318}
3319extern "C" {
3320    pub fn lrand48_r(
3321        __buffer: *mut drand48_data,
3322        __result: *mut ::std::os::raw::c_long,
3323    ) -> ::std::os::raw::c_int;
3324}
3325extern "C" {
3326    pub fn nrand48_r(
3327        __xsubi: *mut ::std::os::raw::c_ushort,
3328        __buffer: *mut drand48_data,
3329        __result: *mut ::std::os::raw::c_long,
3330    ) -> ::std::os::raw::c_int;
3331}
3332extern "C" {
3333    pub fn mrand48_r(
3334        __buffer: *mut drand48_data,
3335        __result: *mut ::std::os::raw::c_long,
3336    ) -> ::std::os::raw::c_int;
3337}
3338extern "C" {
3339    pub fn jrand48_r(
3340        __xsubi: *mut ::std::os::raw::c_ushort,
3341        __buffer: *mut drand48_data,
3342        __result: *mut ::std::os::raw::c_long,
3343    ) -> ::std::os::raw::c_int;
3344}
3345extern "C" {
3346    pub fn srand48_r(
3347        __seedval: ::std::os::raw::c_long,
3348        __buffer: *mut drand48_data,
3349    ) -> ::std::os::raw::c_int;
3350}
3351extern "C" {
3352    pub fn seed48_r(
3353        __seed16v: *mut ::std::os::raw::c_ushort,
3354        __buffer: *mut drand48_data,
3355    ) -> ::std::os::raw::c_int;
3356}
3357extern "C" {
3358    pub fn lcong48_r(
3359        __param: *mut ::std::os::raw::c_ushort,
3360        __buffer: *mut drand48_data,
3361    ) -> ::std::os::raw::c_int;
3362}
3363extern "C" {
3364    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3365}
3366extern "C" {
3367    pub fn calloc(
3368        __nmemb: ::std::os::raw::c_ulong,
3369        __size: ::std::os::raw::c_ulong,
3370    ) -> *mut ::std::os::raw::c_void;
3371}
3372extern "C" {
3373    pub fn realloc(
3374        __ptr: *mut ::std::os::raw::c_void,
3375        __size: ::std::os::raw::c_ulong,
3376    ) -> *mut ::std::os::raw::c_void;
3377}
3378extern "C" {
3379    pub fn free(__ptr: *mut ::std::os::raw::c_void);
3380}
3381extern "C" {
3382    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3383}
3384extern "C" {
3385    pub fn valloc(__size: size_t) -> *mut ::std::os::raw::c_void;
3386}
3387extern "C" {
3388    pub fn posix_memalign(
3389        __memptr: *mut *mut ::std::os::raw::c_void,
3390        __alignment: size_t,
3391        __size: size_t,
3392    ) -> ::std::os::raw::c_int;
3393}
3394extern "C" {
3395    pub fn aligned_alloc(
3396        __alignment: size_t,
3397        __size: size_t,
3398    ) -> *mut ::std::os::raw::c_void;
3399}
3400extern "C" {
3401    pub fn abort();
3402}
3403extern "C" {
3404    pub fn atexit(
3405        __func: ::std::option::Option<unsafe extern "C" fn()>,
3406    ) -> ::std::os::raw::c_int;
3407}
3408extern "C" {
3409    pub fn at_quick_exit(
3410        __func: ::std::option::Option<unsafe extern "C" fn()>,
3411    ) -> ::std::os::raw::c_int;
3412}
3413extern "C" {
3414    pub fn on_exit(
3415        __func: ::std::option::Option<
3416            unsafe extern "C" fn(
3417                __status: ::std::os::raw::c_int,
3418                __arg: *mut ::std::os::raw::c_void,
3419            ),
3420        >,
3421        __arg: *mut ::std::os::raw::c_void,
3422    ) -> ::std::os::raw::c_int;
3423}
3424extern "C" {
3425    pub fn exit(__status: ::std::os::raw::c_int);
3426}
3427extern "C" {
3428    pub fn quick_exit(__status: ::std::os::raw::c_int);
3429}
3430extern "C" {
3431    pub fn _Exit(__status: ::std::os::raw::c_int);
3432}
3433extern "C" {
3434    pub fn getenv(
3435        __name: *const ::std::os::raw::c_char,
3436    ) -> *mut ::std::os::raw::c_char;
3437}
3438extern "C" {
3439    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3440}
3441extern "C" {
3442    pub fn setenv(
3443        __name: *const ::std::os::raw::c_char,
3444        __value: *const ::std::os::raw::c_char,
3445        __replace: ::std::os::raw::c_int,
3446    ) -> ::std::os::raw::c_int;
3447}
3448extern "C" {
3449    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3450}
3451extern "C" {
3452    pub fn clearenv() -> ::std::os::raw::c_int;
3453}
3454extern "C" {
3455    pub fn mktemp(
3456        __template: *mut ::std::os::raw::c_char,
3457    ) -> *mut ::std::os::raw::c_char;
3458}
3459extern "C" {
3460    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3461}
3462extern "C" {
3463    pub fn mkstemps(
3464        __template: *mut ::std::os::raw::c_char,
3465        __suffixlen: ::std::os::raw::c_int,
3466    ) -> ::std::os::raw::c_int;
3467}
3468extern "C" {
3469    pub fn mkdtemp(
3470        __template: *mut ::std::os::raw::c_char,
3471    ) -> *mut ::std::os::raw::c_char;
3472}
3473extern "C" {
3474    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3475}
3476extern "C" {
3477    pub fn realpath(
3478        __name: *const ::std::os::raw::c_char,
3479        __resolved: *mut ::std::os::raw::c_char,
3480    ) -> *mut ::std::os::raw::c_char;
3481}
3482pub type __compar_fn_t = ::std::option::Option<
3483    unsafe extern "C" fn(
3484        arg1: *const ::std::os::raw::c_void,
3485        arg2: *const ::std::os::raw::c_void,
3486    ) -> ::std::os::raw::c_int,
3487>;
3488extern "C" {
3489    pub fn bsearch(
3490        __key: *const ::std::os::raw::c_void,
3491        __base: *const ::std::os::raw::c_void,
3492        __nmemb: size_t,
3493        __size: size_t,
3494        __compar: __compar_fn_t,
3495    ) -> *mut ::std::os::raw::c_void;
3496}
3497extern "C" {
3498    pub fn qsort(
3499        __base: *mut ::std::os::raw::c_void,
3500        __nmemb: size_t,
3501        __size: size_t,
3502        __compar: __compar_fn_t,
3503    );
3504}
3505extern "C" {
3506    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3507}
3508extern "C" {
3509    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3510}
3511extern "C" {
3512    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3513}
3514extern "C" {
3515    pub fn div(
3516        __numer: ::std::os::raw::c_int,
3517        __denom: ::std::os::raw::c_int,
3518    ) -> div_t;
3519}
3520extern "C" {
3521    pub fn ldiv(
3522        __numer: ::std::os::raw::c_long,
3523        __denom: ::std::os::raw::c_long,
3524    ) -> ldiv_t;
3525}
3526extern "C" {
3527    pub fn lldiv(
3528        __numer: ::std::os::raw::c_longlong,
3529        __denom: ::std::os::raw::c_longlong,
3530    ) -> lldiv_t;
3531}
3532extern "C" {
3533    pub fn ecvt(
3534        __value: f64,
3535        __ndigit: ::std::os::raw::c_int,
3536        __decpt: *mut ::std::os::raw::c_int,
3537        __sign: *mut ::std::os::raw::c_int,
3538    ) -> *mut ::std::os::raw::c_char;
3539}
3540extern "C" {
3541    pub fn fcvt(
3542        __value: f64,
3543        __ndigit: ::std::os::raw::c_int,
3544        __decpt: *mut ::std::os::raw::c_int,
3545        __sign: *mut ::std::os::raw::c_int,
3546    ) -> *mut ::std::os::raw::c_char;
3547}
3548extern "C" {
3549    pub fn gcvt(
3550        __value: f64,
3551        __ndigit: ::std::os::raw::c_int,
3552        __buf: *mut ::std::os::raw::c_char,
3553    ) -> *mut ::std::os::raw::c_char;
3554}
3555extern "C" {
3556    pub fn qecvt(
3557        __value: u128,
3558        __ndigit: ::std::os::raw::c_int,
3559        __decpt: *mut ::std::os::raw::c_int,
3560        __sign: *mut ::std::os::raw::c_int,
3561    ) -> *mut ::std::os::raw::c_char;
3562}
3563extern "C" {
3564    pub fn qfcvt(
3565        __value: u128,
3566        __ndigit: ::std::os::raw::c_int,
3567        __decpt: *mut ::std::os::raw::c_int,
3568        __sign: *mut ::std::os::raw::c_int,
3569    ) -> *mut ::std::os::raw::c_char;
3570}
3571extern "C" {
3572    pub fn qgcvt(
3573        __value: u128,
3574        __ndigit: ::std::os::raw::c_int,
3575        __buf: *mut ::std::os::raw::c_char,
3576    ) -> *mut ::std::os::raw::c_char;
3577}
3578extern "C" {
3579    pub fn ecvt_r(
3580        __value: f64,
3581        __ndigit: ::std::os::raw::c_int,
3582        __decpt: *mut ::std::os::raw::c_int,
3583        __sign: *mut ::std::os::raw::c_int,
3584        __buf: *mut ::std::os::raw::c_char,
3585        __len: size_t,
3586    ) -> ::std::os::raw::c_int;
3587}
3588extern "C" {
3589    pub fn fcvt_r(
3590        __value: f64,
3591        __ndigit: ::std::os::raw::c_int,
3592        __decpt: *mut ::std::os::raw::c_int,
3593        __sign: *mut ::std::os::raw::c_int,
3594        __buf: *mut ::std::os::raw::c_char,
3595        __len: size_t,
3596    ) -> ::std::os::raw::c_int;
3597}
3598extern "C" {
3599    pub fn qecvt_r(
3600        __value: u128,
3601        __ndigit: ::std::os::raw::c_int,
3602        __decpt: *mut ::std::os::raw::c_int,
3603        __sign: *mut ::std::os::raw::c_int,
3604        __buf: *mut ::std::os::raw::c_char,
3605        __len: size_t,
3606    ) -> ::std::os::raw::c_int;
3607}
3608extern "C" {
3609    pub fn qfcvt_r(
3610        __value: u128,
3611        __ndigit: ::std::os::raw::c_int,
3612        __decpt: *mut ::std::os::raw::c_int,
3613        __sign: *mut ::std::os::raw::c_int,
3614        __buf: *mut ::std::os::raw::c_char,
3615        __len: size_t,
3616    ) -> ::std::os::raw::c_int;
3617}
3618extern "C" {
3619    pub fn mblen(
3620        __s: *const ::std::os::raw::c_char,
3621        __n: size_t,
3622    ) -> ::std::os::raw::c_int;
3623}
3624extern "C" {
3625    pub fn mbtowc(
3626        __pwc: *mut wchar_t,
3627        __s: *const ::std::os::raw::c_char,
3628        __n: size_t,
3629    ) -> ::std::os::raw::c_int;
3630}
3631extern "C" {
3632    pub fn wctomb(
3633        __s: *mut ::std::os::raw::c_char,
3634        __wchar: wchar_t,
3635    ) -> ::std::os::raw::c_int;
3636}
3637extern "C" {
3638    pub fn mbstowcs(
3639        __pwcs: *mut wchar_t,
3640        __s: *const ::std::os::raw::c_char,
3641        __n: size_t,
3642    ) -> size_t;
3643}
3644extern "C" {
3645    pub fn wcstombs(
3646        __s: *mut ::std::os::raw::c_char,
3647        __pwcs: *const wchar_t,
3648        __n: size_t,
3649    ) -> size_t;
3650}
3651extern "C" {
3652    pub fn rpmatch(__response: *const ::std::os::raw::c_char)
3653        -> ::std::os::raw::c_int;
3654}
3655extern "C" {
3656    pub fn getsubopt(
3657        __optionp: *mut *mut ::std::os::raw::c_char,
3658        __tokens: *const *mut ::std::os::raw::c_char,
3659        __valuep: *mut *mut ::std::os::raw::c_char,
3660    ) -> ::std::os::raw::c_int;
3661}
3662extern "C" {
3663    pub fn getloadavg(
3664        __loadavg: *mut f64,
3665        __nelem: ::std::os::raw::c_int,
3666    ) -> ::std::os::raw::c_int;
3667}
3668pub type int_least8_t = ::std::os::raw::c_schar;
3669pub type int_least16_t = ::std::os::raw::c_short;
3670pub type int_least32_t = ::std::os::raw::c_int;
3671pub type int_least64_t = ::std::os::raw::c_long;
3672pub type uint_least8_t = ::std::os::raw::c_uchar;
3673pub type uint_least16_t = ::std::os::raw::c_ushort;
3674pub type uint_least32_t = ::std::os::raw::c_uint;
3675pub type uint_least64_t = ::std::os::raw::c_ulong;
3676pub type int_fast8_t = ::std::os::raw::c_schar;
3677pub type int_fast16_t = ::std::os::raw::c_long;
3678pub type int_fast32_t = ::std::os::raw::c_long;
3679pub type int_fast64_t = ::std::os::raw::c_long;
3680pub type uint_fast8_t = ::std::os::raw::c_uchar;
3681pub type uint_fast16_t = ::std::os::raw::c_ulong;
3682pub type uint_fast32_t = ::std::os::raw::c_ulong;
3683pub type uint_fast64_t = ::std::os::raw::c_ulong;
3684pub type intmax_t = __intmax_t;
3685pub type uintmax_t = __uintmax_t;
3686pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_END: libpostal_token_type_t = 0;
3687pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_WORD: libpostal_token_type_t = 1;
3688pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_ABBREVIATION:
3689    libpostal_token_type_t = 2;
3690pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_CHAR:
3691    libpostal_token_type_t = 3;
3692pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_HANGUL_SYLLABLE:
3693    libpostal_token_type_t = 4;
3694pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_ACRONYM: libpostal_token_type_t =
3695    5;
3696pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_PHRASE: libpostal_token_type_t =
3697    10;
3698pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_EMAIL: libpostal_token_type_t =
3699    20;
3700pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_URL: libpostal_token_type_t = 21;
3701pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_US_PHONE:
3702    libpostal_token_type_t = 22;
3703pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_INTL_PHONE:
3704    libpostal_token_type_t = 23;
3705pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_NUMERIC: libpostal_token_type_t =
3706    50;
3707pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_ORDINAL: libpostal_token_type_t =
3708    51;
3709pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_ROMAN_NUMERAL:
3710    libpostal_token_type_t = 52;
3711pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_IDEOGRAPHIC_NUMBER:
3712    libpostal_token_type_t = 53;
3713pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_PERIOD: libpostal_token_type_t =
3714    100;
3715pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_EXCLAMATION:
3716    libpostal_token_type_t = 101;
3717pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_QUESTION_MARK:
3718    libpostal_token_type_t = 102;
3719pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_COMMA: libpostal_token_type_t =
3720    103;
3721pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_COLON: libpostal_token_type_t =
3722    104;
3723pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_SEMICOLON:
3724    libpostal_token_type_t = 105;
3725pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_PLUS: libpostal_token_type_t =
3726    106;
3727pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_AMPERSAND:
3728    libpostal_token_type_t = 107;
3729pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_AT_SIGN: libpostal_token_type_t =
3730    108;
3731pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_POUND: libpostal_token_type_t =
3732    109;
3733pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_ELLIPSIS:
3734    libpostal_token_type_t = 110;
3735pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_DASH: libpostal_token_type_t =
3736    111;
3737pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_BREAKING_DASH:
3738    libpostal_token_type_t = 112;
3739pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_HYPHEN: libpostal_token_type_t =
3740    113;
3741pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_PUNCT_OPEN:
3742    libpostal_token_type_t = 114;
3743pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_PUNCT_CLOSE:
3744    libpostal_token_type_t = 115;
3745pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_DOUBLE_QUOTE:
3746    libpostal_token_type_t = 119;
3747pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_SINGLE_QUOTE:
3748    libpostal_token_type_t = 120;
3749pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_OPEN_QUOTE:
3750    libpostal_token_type_t = 121;
3751pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_CLOSE_QUOTE:
3752    libpostal_token_type_t = 122;
3753pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_SLASH: libpostal_token_type_t =
3754    124;
3755pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_BACKSLASH:
3756    libpostal_token_type_t = 125;
3757pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_GREATER_THAN:
3758    libpostal_token_type_t = 126;
3759pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_LESS_THAN:
3760    libpostal_token_type_t = 127;
3761pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_OTHER: libpostal_token_type_t =
3762    200;
3763pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_WHITESPACE:
3764    libpostal_token_type_t = 300;
3765pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_NEWLINE: libpostal_token_type_t =
3766    301;
3767pub const libpostal_token_type_t_LIBPOSTAL_TOKEN_TYPE_INVALID_CHAR:
3768    libpostal_token_type_t = 500;
3769pub type libpostal_token_type_t = ::std::os::raw::c_uint;
3770#[repr(C)]
3771#[derive(Debug, Copy, Clone)]
3772pub struct libpostal_normalize_options {
3773    pub languages: *mut *mut ::std::os::raw::c_char,
3774    pub num_languages: size_t,
3775    pub address_components: u16,
3776    pub latin_ascii: bool,
3777    pub transliterate: bool,
3778    pub strip_accents: bool,
3779    pub decompose: bool,
3780    pub lowercase: bool,
3781    pub trim_string: bool,
3782    pub drop_parentheticals: bool,
3783    pub replace_numeric_hyphens: bool,
3784    pub delete_numeric_hyphens: bool,
3785    pub split_alpha_from_numeric: bool,
3786    pub replace_word_hyphens: bool,
3787    pub delete_word_hyphens: bool,
3788    pub delete_final_periods: bool,
3789    pub delete_acronym_periods: bool,
3790    pub drop_english_possessives: bool,
3791    pub delete_apostrophes: bool,
3792    pub expand_numex: bool,
3793    pub roman_numerals: bool,
3794}
3795#[test]
3796fn bindgen_test_layout_libpostal_normalize_options() {
3797    assert_eq!(
3798        ::std::mem::size_of::<libpostal_normalize_options>(),
3799        40usize,
3800        concat!("Size of: ", stringify!(libpostal_normalize_options))
3801    );
3802    assert_eq!(
3803        ::std::mem::align_of::<libpostal_normalize_options>(),
3804        8usize,
3805        concat!("Alignment of ", stringify!(libpostal_normalize_options))
3806    );
3807    assert_eq!(
3808        unsafe {
3809            &(*(::std::ptr::null::<libpostal_normalize_options>())).languages
3810                as *const _ as usize
3811        },
3812        0usize,
3813        concat!(
3814            "Offset of field: ",
3815            stringify!(libpostal_normalize_options),
3816            "::",
3817            stringify!(languages)
3818        )
3819    );
3820    assert_eq!(
3821        unsafe {
3822            &(*(::std::ptr::null::<libpostal_normalize_options>())).num_languages
3823                as *const _ as usize
3824        },
3825        8usize,
3826        concat!(
3827            "Offset of field: ",
3828            stringify!(libpostal_normalize_options),
3829            "::",
3830            stringify!(num_languages)
3831        )
3832    );
3833    assert_eq!(
3834        unsafe {
3835            &(*(::std::ptr::null::<libpostal_normalize_options>())).address_components
3836                as *const _ as usize
3837        },
3838        16usize,
3839        concat!(
3840            "Offset of field: ",
3841            stringify!(libpostal_normalize_options),
3842            "::",
3843            stringify!(address_components)
3844        )
3845    );
3846    assert_eq!(
3847        unsafe {
3848            &(*(::std::ptr::null::<libpostal_normalize_options>())).latin_ascii
3849                as *const _ as usize
3850        },
3851        18usize,
3852        concat!(
3853            "Offset of field: ",
3854            stringify!(libpostal_normalize_options),
3855            "::",
3856            stringify!(latin_ascii)
3857        )
3858    );
3859    assert_eq!(
3860        unsafe {
3861            &(*(::std::ptr::null::<libpostal_normalize_options>())).transliterate
3862                as *const _ as usize
3863        },
3864        19usize,
3865        concat!(
3866            "Offset of field: ",
3867            stringify!(libpostal_normalize_options),
3868            "::",
3869            stringify!(transliterate)
3870        )
3871    );
3872    assert_eq!(
3873        unsafe {
3874            &(*(::std::ptr::null::<libpostal_normalize_options>())).strip_accents
3875                as *const _ as usize
3876        },
3877        20usize,
3878        concat!(
3879            "Offset of field: ",
3880            stringify!(libpostal_normalize_options),
3881            "::",
3882            stringify!(strip_accents)
3883        )
3884    );
3885    assert_eq!(
3886        unsafe {
3887            &(*(::std::ptr::null::<libpostal_normalize_options>())).decompose
3888                as *const _ as usize
3889        },
3890        21usize,
3891        concat!(
3892            "Offset of field: ",
3893            stringify!(libpostal_normalize_options),
3894            "::",
3895            stringify!(decompose)
3896        )
3897    );
3898    assert_eq!(
3899        unsafe {
3900            &(*(::std::ptr::null::<libpostal_normalize_options>())).lowercase
3901                as *const _ as usize
3902        },
3903        22usize,
3904        concat!(
3905            "Offset of field: ",
3906            stringify!(libpostal_normalize_options),
3907            "::",
3908            stringify!(lowercase)
3909        )
3910    );
3911    assert_eq!(
3912        unsafe {
3913            &(*(::std::ptr::null::<libpostal_normalize_options>())).trim_string
3914                as *const _ as usize
3915        },
3916        23usize,
3917        concat!(
3918            "Offset of field: ",
3919            stringify!(libpostal_normalize_options),
3920            "::",
3921            stringify!(trim_string)
3922        )
3923    );
3924    assert_eq!(
3925        unsafe {
3926            &(*(::std::ptr::null::<libpostal_normalize_options>())).drop_parentheticals
3927                as *const _ as usize
3928        },
3929        24usize,
3930        concat!(
3931            "Offset of field: ",
3932            stringify!(libpostal_normalize_options),
3933            "::",
3934            stringify!(drop_parentheticals)
3935        )
3936    );
3937    assert_eq!(
3938        unsafe {
3939            &(*(::std::ptr::null::<libpostal_normalize_options>()))
3940                .replace_numeric_hyphens as *const _ as usize
3941        },
3942        25usize,
3943        concat!(
3944            "Offset of field: ",
3945            stringify!(libpostal_normalize_options),
3946            "::",
3947            stringify!(replace_numeric_hyphens)
3948        )
3949    );
3950    assert_eq!(
3951        unsafe {
3952            &(*(::std::ptr::null::<libpostal_normalize_options>()))
3953                .delete_numeric_hyphens as *const _ as usize
3954        },
3955        26usize,
3956        concat!(
3957            "Offset of field: ",
3958            stringify!(libpostal_normalize_options),
3959            "::",
3960            stringify!(delete_numeric_hyphens)
3961        )
3962    );
3963    assert_eq!(
3964        unsafe {
3965            &(*(::std::ptr::null::<libpostal_normalize_options>()))
3966                .split_alpha_from_numeric as *const _ as usize
3967        },
3968        27usize,
3969        concat!(
3970            "Offset of field: ",
3971            stringify!(libpostal_normalize_options),
3972            "::",
3973            stringify!(split_alpha_from_numeric)
3974        )
3975    );
3976    assert_eq!(
3977        unsafe {
3978            &(*(::std::ptr::null::<libpostal_normalize_options>()))
3979                .replace_word_hyphens as *const _ as usize
3980        },
3981        28usize,
3982        concat!(
3983            "Offset of field: ",
3984            stringify!(libpostal_normalize_options),
3985            "::",
3986            stringify!(replace_word_hyphens)
3987        )
3988    );
3989    assert_eq!(
3990        unsafe {
3991            &(*(::std::ptr::null::<libpostal_normalize_options>())).delete_word_hyphens
3992                as *const _ as usize
3993        },
3994        29usize,
3995        concat!(
3996            "Offset of field: ",
3997            stringify!(libpostal_normalize_options),
3998            "::",
3999            stringify!(delete_word_hyphens)
4000        )
4001    );
4002    assert_eq!(
4003        unsafe {
4004            &(*(::std::ptr::null::<libpostal_normalize_options>()))
4005                .delete_final_periods as *const _ as usize
4006        },
4007        30usize,
4008        concat!(
4009            "Offset of field: ",
4010            stringify!(libpostal_normalize_options),
4011            "::",
4012            stringify!(delete_final_periods)
4013        )
4014    );
4015    assert_eq!(
4016        unsafe {
4017            &(*(::std::ptr::null::<libpostal_normalize_options>()))
4018                .delete_acronym_periods as *const _ as usize
4019        },
4020        31usize,
4021        concat!(
4022            "Offset of field: ",
4023            stringify!(libpostal_normalize_options),
4024            "::",
4025            stringify!(delete_acronym_periods)
4026        )
4027    );
4028    assert_eq!(
4029        unsafe {
4030            &(*(::std::ptr::null::<libpostal_normalize_options>()))
4031                .drop_english_possessives as *const _ as usize
4032        },
4033        32usize,
4034        concat!(
4035            "Offset of field: ",
4036            stringify!(libpostal_normalize_options),
4037            "::",
4038            stringify!(drop_english_possessives)
4039        )
4040    );
4041    assert_eq!(
4042        unsafe {
4043            &(*(::std::ptr::null::<libpostal_normalize_options>())).delete_apostrophes
4044                as *const _ as usize
4045        },
4046        33usize,
4047        concat!(
4048            "Offset of field: ",
4049            stringify!(libpostal_normalize_options),
4050            "::",
4051            stringify!(delete_apostrophes)
4052        )
4053    );
4054    assert_eq!(
4055        unsafe {
4056            &(*(::std::ptr::null::<libpostal_normalize_options>())).expand_numex
4057                as *const _ as usize
4058        },
4059        34usize,
4060        concat!(
4061            "Offset of field: ",
4062            stringify!(libpostal_normalize_options),
4063            "::",
4064            stringify!(expand_numex)
4065        )
4066    );
4067    assert_eq!(
4068        unsafe {
4069            &(*(::std::ptr::null::<libpostal_normalize_options>())).roman_numerals
4070                as *const _ as usize
4071        },
4072        35usize,
4073        concat!(
4074            "Offset of field: ",
4075            stringify!(libpostal_normalize_options),
4076            "::",
4077            stringify!(roman_numerals)
4078        )
4079    );
4080}
4081pub type libpostal_normalize_options_t = libpostal_normalize_options;
4082extern "C" {
4083    pub fn libpostal_get_default_options() -> libpostal_normalize_options_t;
4084}
4085extern "C" {
4086    pub fn libpostal_expand_address(
4087        input: *mut ::std::os::raw::c_char,
4088        options: libpostal_normalize_options_t,
4089        n: *mut size_t,
4090    ) -> *mut *mut ::std::os::raw::c_char;
4091}
4092extern "C" {
4093    pub fn libpostal_expand_address_root(
4094        input: *mut ::std::os::raw::c_char,
4095        options: libpostal_normalize_options_t,
4096        n: *mut size_t,
4097    ) -> *mut *mut ::std::os::raw::c_char;
4098}
4099extern "C" {
4100    pub fn libpostal_expansion_array_destroy(
4101        expansions: *mut *mut ::std::os::raw::c_char,
4102        n: size_t,
4103    );
4104}
4105#[repr(C)]
4106#[derive(Debug, Copy, Clone)]
4107pub struct libpostal_address_parser_response {
4108    pub num_components: size_t,
4109    pub components: *mut *mut ::std::os::raw::c_char,
4110    pub labels: *mut *mut ::std::os::raw::c_char,
4111}
4112#[test]
4113fn bindgen_test_layout_libpostal_address_parser_response() {
4114    assert_eq!(
4115        ::std::mem::size_of::<libpostal_address_parser_response>(),
4116        24usize,
4117        concat!("Size of: ", stringify!(libpostal_address_parser_response))
4118    );
4119    assert_eq!(
4120        ::std::mem::align_of::<libpostal_address_parser_response>(),
4121        8usize,
4122        concat!(
4123            "Alignment of ",
4124            stringify!(libpostal_address_parser_response)
4125        )
4126    );
4127    assert_eq!(
4128        unsafe {
4129            &(*(::std::ptr::null::<libpostal_address_parser_response>()))
4130                .num_components as *const _ as usize
4131        },
4132        0usize,
4133        concat!(
4134            "Offset of field: ",
4135            stringify!(libpostal_address_parser_response),
4136            "::",
4137            stringify!(num_components)
4138        )
4139    );
4140    assert_eq!(
4141        unsafe {
4142            &(*(::std::ptr::null::<libpostal_address_parser_response>())).components
4143                as *const _ as usize
4144        },
4145        8usize,
4146        concat!(
4147            "Offset of field: ",
4148            stringify!(libpostal_address_parser_response),
4149            "::",
4150            stringify!(components)
4151        )
4152    );
4153    assert_eq!(
4154        unsafe {
4155            &(*(::std::ptr::null::<libpostal_address_parser_response>())).labels
4156                as *const _ as usize
4157        },
4158        16usize,
4159        concat!(
4160            "Offset of field: ",
4161            stringify!(libpostal_address_parser_response),
4162            "::",
4163            stringify!(labels)
4164        )
4165    );
4166}
4167pub type libpostal_address_parser_response_t = libpostal_address_parser_response;
4168pub type libpostal_parsed_address_components_t = libpostal_address_parser_response_t;
4169#[repr(C)]
4170#[derive(Debug, Copy, Clone)]
4171pub struct libpostal_address_parser_options {
4172    pub language: *mut ::std::os::raw::c_char,
4173    pub country: *mut ::std::os::raw::c_char,
4174}
4175#[test]
4176fn bindgen_test_layout_libpostal_address_parser_options() {
4177    assert_eq!(
4178        ::std::mem::size_of::<libpostal_address_parser_options>(),
4179        16usize,
4180        concat!("Size of: ", stringify!(libpostal_address_parser_options))
4181    );
4182    assert_eq!(
4183        ::std::mem::align_of::<libpostal_address_parser_options>(),
4184        8usize,
4185        concat!(
4186            "Alignment of ",
4187            stringify!(libpostal_address_parser_options)
4188        )
4189    );
4190    assert_eq!(
4191        unsafe {
4192            &(*(::std::ptr::null::<libpostal_address_parser_options>())).language
4193                as *const _ as usize
4194        },
4195        0usize,
4196        concat!(
4197            "Offset of field: ",
4198            stringify!(libpostal_address_parser_options),
4199            "::",
4200            stringify!(language)
4201        )
4202    );
4203    assert_eq!(
4204        unsafe {
4205            &(*(::std::ptr::null::<libpostal_address_parser_options>())).country
4206                as *const _ as usize
4207        },
4208        8usize,
4209        concat!(
4210            "Offset of field: ",
4211            stringify!(libpostal_address_parser_options),
4212            "::",
4213            stringify!(country)
4214        )
4215    );
4216}
4217pub type libpostal_address_parser_options_t = libpostal_address_parser_options;
4218extern "C" {
4219    pub fn libpostal_address_parser_response_destroy(
4220        self_: *mut libpostal_address_parser_response_t,
4221    );
4222}
4223extern "C" {
4224    pub fn libpostal_get_address_parser_default_options(
4225    ) -> libpostal_address_parser_options_t;
4226}
4227extern "C" {
4228    pub fn libpostal_parse_address(
4229        address: *mut ::std::os::raw::c_char,
4230        options: libpostal_address_parser_options_t,
4231    ) -> *mut libpostal_address_parser_response_t;
4232}
4233extern "C" {
4234    pub fn libpostal_parser_print_features(print_features: bool) -> bool;
4235}
4236#[repr(C)]
4237#[derive(Debug, Copy, Clone)]
4238pub struct libpostal_language_classifier_response {
4239    pub num_languages: size_t,
4240    pub languages: *mut *mut ::std::os::raw::c_char,
4241    pub probs: *mut f64,
4242}
4243#[test]
4244fn bindgen_test_layout_libpostal_language_classifier_response() {
4245    assert_eq!(
4246        ::std::mem::size_of::<libpostal_language_classifier_response>(),
4247        24usize,
4248        concat!(
4249            "Size of: ",
4250            stringify!(libpostal_language_classifier_response)
4251        )
4252    );
4253    assert_eq!(
4254        ::std::mem::align_of::<libpostal_language_classifier_response>(),
4255        8usize,
4256        concat!(
4257            "Alignment of ",
4258            stringify!(libpostal_language_classifier_response)
4259        )
4260    );
4261    assert_eq!(
4262        unsafe {
4263            &(*(::std::ptr::null::<libpostal_language_classifier_response>()))
4264                .num_languages as *const _ as usize
4265        },
4266        0usize,
4267        concat!(
4268            "Offset of field: ",
4269            stringify!(libpostal_language_classifier_response),
4270            "::",
4271            stringify!(num_languages)
4272        )
4273    );
4274    assert_eq!(
4275        unsafe {
4276            &(*(::std::ptr::null::<libpostal_language_classifier_response>()))
4277                .languages as *const _ as usize
4278        },
4279        8usize,
4280        concat!(
4281            "Offset of field: ",
4282            stringify!(libpostal_language_classifier_response),
4283            "::",
4284            stringify!(languages)
4285        )
4286    );
4287    assert_eq!(
4288        unsafe {
4289            &(*(::std::ptr::null::<libpostal_language_classifier_response>())).probs
4290                as *const _ as usize
4291        },
4292        16usize,
4293        concat!(
4294            "Offset of field: ",
4295            stringify!(libpostal_language_classifier_response),
4296            "::",
4297            stringify!(probs)
4298        )
4299    );
4300}
4301pub type libpostal_language_classifier_response_t =
4302    libpostal_language_classifier_response;
4303extern "C" {
4304    pub fn libpostal_classify_language(
4305        address: *mut ::std::os::raw::c_char,
4306    ) -> *mut libpostal_language_classifier_response_t;
4307}
4308extern "C" {
4309    pub fn libpostal_language_classifier_response_destroy(
4310        self_: *mut libpostal_language_classifier_response_t,
4311    );
4312}
4313#[repr(C)]
4314#[derive(Debug, Copy, Clone)]
4315pub struct libpostal_near_dupe_hash_options {
4316    pub with_name: bool,
4317    pub with_address: bool,
4318    pub with_unit: bool,
4319    pub with_city_or_equivalent: bool,
4320    pub with_small_containing_boundaries: bool,
4321    pub with_postal_code: bool,
4322    pub with_latlon: bool,
4323    pub latitude: f64,
4324    pub longitude: f64,
4325    pub geohash_precision: u32,
4326    pub name_and_address_keys: bool,
4327    pub name_only_keys: bool,
4328    pub address_only_keys: bool,
4329}
4330#[test]
4331fn bindgen_test_layout_libpostal_near_dupe_hash_options() {
4332    assert_eq!(
4333        ::std::mem::size_of::<libpostal_near_dupe_hash_options>(),
4334        32usize,
4335        concat!("Size of: ", stringify!(libpostal_near_dupe_hash_options))
4336    );
4337    assert_eq!(
4338        ::std::mem::align_of::<libpostal_near_dupe_hash_options>(),
4339        8usize,
4340        concat!(
4341            "Alignment of ",
4342            stringify!(libpostal_near_dupe_hash_options)
4343        )
4344    );
4345    assert_eq!(
4346        unsafe {
4347            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).with_name
4348                as *const _ as usize
4349        },
4350        0usize,
4351        concat!(
4352            "Offset of field: ",
4353            stringify!(libpostal_near_dupe_hash_options),
4354            "::",
4355            stringify!(with_name)
4356        )
4357    );
4358    assert_eq!(
4359        unsafe {
4360            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).with_address
4361                as *const _ as usize
4362        },
4363        1usize,
4364        concat!(
4365            "Offset of field: ",
4366            stringify!(libpostal_near_dupe_hash_options),
4367            "::",
4368            stringify!(with_address)
4369        )
4370    );
4371    assert_eq!(
4372        unsafe {
4373            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).with_unit
4374                as *const _ as usize
4375        },
4376        2usize,
4377        concat!(
4378            "Offset of field: ",
4379            stringify!(libpostal_near_dupe_hash_options),
4380            "::",
4381            stringify!(with_unit)
4382        )
4383    );
4384    assert_eq!(
4385        unsafe {
4386            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4387                .with_city_or_equivalent as *const _ as usize
4388        },
4389        3usize,
4390        concat!(
4391            "Offset of field: ",
4392            stringify!(libpostal_near_dupe_hash_options),
4393            "::",
4394            stringify!(with_city_or_equivalent)
4395        )
4396    );
4397    assert_eq!(
4398        unsafe {
4399            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4400                .with_small_containing_boundaries as *const _ as usize
4401        },
4402        4usize,
4403        concat!(
4404            "Offset of field: ",
4405            stringify!(libpostal_near_dupe_hash_options),
4406            "::",
4407            stringify!(with_small_containing_boundaries)
4408        )
4409    );
4410    assert_eq!(
4411        unsafe {
4412            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4413                .with_postal_code as *const _ as usize
4414        },
4415        5usize,
4416        concat!(
4417            "Offset of field: ",
4418            stringify!(libpostal_near_dupe_hash_options),
4419            "::",
4420            stringify!(with_postal_code)
4421        )
4422    );
4423    assert_eq!(
4424        unsafe {
4425            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).with_latlon
4426                as *const _ as usize
4427        },
4428        6usize,
4429        concat!(
4430            "Offset of field: ",
4431            stringify!(libpostal_near_dupe_hash_options),
4432            "::",
4433            stringify!(with_latlon)
4434        )
4435    );
4436    assert_eq!(
4437        unsafe {
4438            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).latitude
4439                as *const _ as usize
4440        },
4441        8usize,
4442        concat!(
4443            "Offset of field: ",
4444            stringify!(libpostal_near_dupe_hash_options),
4445            "::",
4446            stringify!(latitude)
4447        )
4448    );
4449    assert_eq!(
4450        unsafe {
4451            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).longitude
4452                as *const _ as usize
4453        },
4454        16usize,
4455        concat!(
4456            "Offset of field: ",
4457            stringify!(libpostal_near_dupe_hash_options),
4458            "::",
4459            stringify!(longitude)
4460        )
4461    );
4462    assert_eq!(
4463        unsafe {
4464            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4465                .geohash_precision as *const _ as usize
4466        },
4467        24usize,
4468        concat!(
4469            "Offset of field: ",
4470            stringify!(libpostal_near_dupe_hash_options),
4471            "::",
4472            stringify!(geohash_precision)
4473        )
4474    );
4475    assert_eq!(
4476        unsafe {
4477            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4478                .name_and_address_keys as *const _ as usize
4479        },
4480        28usize,
4481        concat!(
4482            "Offset of field: ",
4483            stringify!(libpostal_near_dupe_hash_options),
4484            "::",
4485            stringify!(name_and_address_keys)
4486        )
4487    );
4488    assert_eq!(
4489        unsafe {
4490            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>())).name_only_keys
4491                as *const _ as usize
4492        },
4493        29usize,
4494        concat!(
4495            "Offset of field: ",
4496            stringify!(libpostal_near_dupe_hash_options),
4497            "::",
4498            stringify!(name_only_keys)
4499        )
4500    );
4501    assert_eq!(
4502        unsafe {
4503            &(*(::std::ptr::null::<libpostal_near_dupe_hash_options>()))
4504                .address_only_keys as *const _ as usize
4505        },
4506        30usize,
4507        concat!(
4508            "Offset of field: ",
4509            stringify!(libpostal_near_dupe_hash_options),
4510            "::",
4511            stringify!(address_only_keys)
4512        )
4513    );
4514}
4515pub type libpostal_near_dupe_hash_options_t = libpostal_near_dupe_hash_options;
4516extern "C" {
4517    pub fn libpostal_get_near_dupe_hash_default_options(
4518    ) -> libpostal_near_dupe_hash_options_t;
4519}
4520extern "C" {
4521    pub fn libpostal_near_dupe_hashes(
4522        num_components: size_t,
4523        labels: *mut *mut ::std::os::raw::c_char,
4524        values: *mut *mut ::std::os::raw::c_char,
4525        options: libpostal_near_dupe_hash_options_t,
4526        num_hashes: *mut size_t,
4527    ) -> *mut *mut ::std::os::raw::c_char;
4528}
4529extern "C" {
4530    pub fn libpostal_near_dupe_hashes_languages(
4531        num_components: size_t,
4532        labels: *mut *mut ::std::os::raw::c_char,
4533        values: *mut *mut ::std::os::raw::c_char,
4534        options: libpostal_near_dupe_hash_options_t,
4535        num_languages: size_t,
4536        languages: *mut *mut ::std::os::raw::c_char,
4537        num_hashes: *mut size_t,
4538    ) -> *mut *mut ::std::os::raw::c_char;
4539}
4540extern "C" {
4541    pub fn libpostal_place_languages(
4542        num_components: size_t,
4543        labels: *mut *mut ::std::os::raw::c_char,
4544        values: *mut *mut ::std::os::raw::c_char,
4545        num_languages: *mut size_t,
4546    ) -> *mut *mut ::std::os::raw::c_char;
4547}
4548pub const libpostal_duplicate_status_t_LIBPOSTAL_NULL_DUPLICATE_STATUS:
4549    libpostal_duplicate_status_t = -1;
4550pub const libpostal_duplicate_status_t_LIBPOSTAL_NON_DUPLICATE:
4551    libpostal_duplicate_status_t = 0;
4552pub const libpostal_duplicate_status_t_LIBPOSTAL_POSSIBLE_DUPLICATE_NEEDS_REVIEW:
4553    libpostal_duplicate_status_t = 3;
4554pub const libpostal_duplicate_status_t_LIBPOSTAL_LIKELY_DUPLICATE:
4555    libpostal_duplicate_status_t = 6;
4556pub const libpostal_duplicate_status_t_LIBPOSTAL_EXACT_DUPLICATE:
4557    libpostal_duplicate_status_t = 9;
4558pub type libpostal_duplicate_status_t = ::std::os::raw::c_int;
4559#[repr(C)]
4560#[derive(Debug, Copy, Clone)]
4561pub struct libpostal_duplicate_options {
4562    pub num_languages: size_t,
4563    pub languages: *mut *mut ::std::os::raw::c_char,
4564}
4565#[test]
4566fn bindgen_test_layout_libpostal_duplicate_options() {
4567    assert_eq!(
4568        ::std::mem::size_of::<libpostal_duplicate_options>(),
4569        16usize,
4570        concat!("Size of: ", stringify!(libpostal_duplicate_options))
4571    );
4572    assert_eq!(
4573        ::std::mem::align_of::<libpostal_duplicate_options>(),
4574        8usize,
4575        concat!("Alignment of ", stringify!(libpostal_duplicate_options))
4576    );
4577    assert_eq!(
4578        unsafe {
4579            &(*(::std::ptr::null::<libpostal_duplicate_options>())).num_languages
4580                as *const _ as usize
4581        },
4582        0usize,
4583        concat!(
4584            "Offset of field: ",
4585            stringify!(libpostal_duplicate_options),
4586            "::",
4587            stringify!(num_languages)
4588        )
4589    );
4590    assert_eq!(
4591        unsafe {
4592            &(*(::std::ptr::null::<libpostal_duplicate_options>())).languages
4593                as *const _ as usize
4594        },
4595        8usize,
4596        concat!(
4597            "Offset of field: ",
4598            stringify!(libpostal_duplicate_options),
4599            "::",
4600            stringify!(languages)
4601        )
4602    );
4603}
4604pub type libpostal_duplicate_options_t = libpostal_duplicate_options;
4605extern "C" {
4606    pub fn libpostal_get_default_duplicate_options() -> libpostal_duplicate_options_t;
4607}
4608extern "C" {
4609    pub fn libpostal_get_duplicate_options_with_languages(
4610        num_languages: size_t,
4611        languages: *mut *mut ::std::os::raw::c_char,
4612    ) -> libpostal_duplicate_options_t;
4613}
4614extern "C" {
4615    pub fn libpostal_is_name_duplicate(
4616        value1: *mut ::std::os::raw::c_char,
4617        value2: *mut ::std::os::raw::c_char,
4618        options: libpostal_duplicate_options_t,
4619    ) -> libpostal_duplicate_status_t;
4620}
4621extern "C" {
4622    pub fn libpostal_is_street_duplicate(
4623        value1: *mut ::std::os::raw::c_char,
4624        value2: *mut ::std::os::raw::c_char,
4625        options: libpostal_duplicate_options_t,
4626    ) -> libpostal_duplicate_status_t;
4627}
4628extern "C" {
4629    pub fn libpostal_is_house_number_duplicate(
4630        value1: *mut ::std::os::raw::c_char,
4631        value2: *mut ::std::os::raw::c_char,
4632        options: libpostal_duplicate_options_t,
4633    ) -> libpostal_duplicate_status_t;
4634}
4635extern "C" {
4636    pub fn libpostal_is_po_box_duplicate(
4637        value1: *mut ::std::os::raw::c_char,
4638        value2: *mut ::std::os::raw::c_char,
4639        options: libpostal_duplicate_options_t,
4640    ) -> libpostal_duplicate_status_t;
4641}
4642extern "C" {
4643    pub fn libpostal_is_unit_duplicate(
4644        value1: *mut ::std::os::raw::c_char,
4645        value2: *mut ::std::os::raw::c_char,
4646        options: libpostal_duplicate_options_t,
4647    ) -> libpostal_duplicate_status_t;
4648}
4649extern "C" {
4650    pub fn libpostal_is_floor_duplicate(
4651        value1: *mut ::std::os::raw::c_char,
4652        value2: *mut ::std::os::raw::c_char,
4653        options: libpostal_duplicate_options_t,
4654    ) -> libpostal_duplicate_status_t;
4655}
4656extern "C" {
4657    pub fn libpostal_is_postal_code_duplicate(
4658        value1: *mut ::std::os::raw::c_char,
4659        value2: *mut ::std::os::raw::c_char,
4660        options: libpostal_duplicate_options_t,
4661    ) -> libpostal_duplicate_status_t;
4662}
4663extern "C" {
4664    pub fn libpostal_is_toponym_duplicate(
4665        num_components1: size_t,
4666        labels1: *mut *mut ::std::os::raw::c_char,
4667        values1: *mut *mut ::std::os::raw::c_char,
4668        num_components2: size_t,
4669        labels2: *mut *mut ::std::os::raw::c_char,
4670        values2: *mut *mut ::std::os::raw::c_char,
4671        options: libpostal_duplicate_options_t,
4672    ) -> libpostal_duplicate_status_t;
4673}
4674#[repr(C)]
4675#[derive(Debug, Copy, Clone)]
4676pub struct libpostal_fuzzy_duplicate_options {
4677    pub num_languages: size_t,
4678    pub languages: *mut *mut ::std::os::raw::c_char,
4679    pub needs_review_threshold: f64,
4680    pub likely_dupe_threshold: f64,
4681}
4682#[test]
4683fn bindgen_test_layout_libpostal_fuzzy_duplicate_options() {
4684    assert_eq!(
4685        ::std::mem::size_of::<libpostal_fuzzy_duplicate_options>(),
4686        32usize,
4687        concat!("Size of: ", stringify!(libpostal_fuzzy_duplicate_options))
4688    );
4689    assert_eq!(
4690        ::std::mem::align_of::<libpostal_fuzzy_duplicate_options>(),
4691        8usize,
4692        concat!(
4693            "Alignment of ",
4694            stringify!(libpostal_fuzzy_duplicate_options)
4695        )
4696    );
4697    assert_eq!(
4698        unsafe {
4699            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_options>())).num_languages
4700                as *const _ as usize
4701        },
4702        0usize,
4703        concat!(
4704            "Offset of field: ",
4705            stringify!(libpostal_fuzzy_duplicate_options),
4706            "::",
4707            stringify!(num_languages)
4708        )
4709    );
4710    assert_eq!(
4711        unsafe {
4712            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_options>())).languages
4713                as *const _ as usize
4714        },
4715        8usize,
4716        concat!(
4717            "Offset of field: ",
4718            stringify!(libpostal_fuzzy_duplicate_options),
4719            "::",
4720            stringify!(languages)
4721        )
4722    );
4723    assert_eq!(
4724        unsafe {
4725            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_options>()))
4726                .needs_review_threshold as *const _ as usize
4727        },
4728        16usize,
4729        concat!(
4730            "Offset of field: ",
4731            stringify!(libpostal_fuzzy_duplicate_options),
4732            "::",
4733            stringify!(needs_review_threshold)
4734        )
4735    );
4736    assert_eq!(
4737        unsafe {
4738            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_options>()))
4739                .likely_dupe_threshold as *const _ as usize
4740        },
4741        24usize,
4742        concat!(
4743            "Offset of field: ",
4744            stringify!(libpostal_fuzzy_duplicate_options),
4745            "::",
4746            stringify!(likely_dupe_threshold)
4747        )
4748    );
4749}
4750pub type libpostal_fuzzy_duplicate_options_t = libpostal_fuzzy_duplicate_options;
4751#[repr(C)]
4752#[derive(Debug, Copy, Clone)]
4753pub struct libpostal_fuzzy_duplicate_status {
4754    pub status: libpostal_duplicate_status_t,
4755    pub similarity: f64,
4756}
4757#[test]
4758fn bindgen_test_layout_libpostal_fuzzy_duplicate_status() {
4759    assert_eq!(
4760        ::std::mem::size_of::<libpostal_fuzzy_duplicate_status>(),
4761        16usize,
4762        concat!("Size of: ", stringify!(libpostal_fuzzy_duplicate_status))
4763    );
4764    assert_eq!(
4765        ::std::mem::align_of::<libpostal_fuzzy_duplicate_status>(),
4766        8usize,
4767        concat!(
4768            "Alignment of ",
4769            stringify!(libpostal_fuzzy_duplicate_status)
4770        )
4771    );
4772    assert_eq!(
4773        unsafe {
4774            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_status>())).status
4775                as *const _ as usize
4776        },
4777        0usize,
4778        concat!(
4779            "Offset of field: ",
4780            stringify!(libpostal_fuzzy_duplicate_status),
4781            "::",
4782            stringify!(status)
4783        )
4784    );
4785    assert_eq!(
4786        unsafe {
4787            &(*(::std::ptr::null::<libpostal_fuzzy_duplicate_status>())).similarity
4788                as *const _ as usize
4789        },
4790        8usize,
4791        concat!(
4792            "Offset of field: ",
4793            stringify!(libpostal_fuzzy_duplicate_status),
4794            "::",
4795            stringify!(similarity)
4796        )
4797    );
4798}
4799pub type libpostal_fuzzy_duplicate_status_t = libpostal_fuzzy_duplicate_status;
4800extern "C" {
4801    pub fn libpostal_get_default_fuzzy_duplicate_options(
4802    ) -> libpostal_fuzzy_duplicate_options_t;
4803}
4804extern "C" {
4805    pub fn libpostal_get_default_fuzzy_duplicate_options_with_languages(
4806        num_languages: size_t,
4807        languages: *mut *mut ::std::os::raw::c_char,
4808    ) -> libpostal_fuzzy_duplicate_options_t;
4809}
4810extern "C" {
4811    pub fn libpostal_is_name_duplicate_fuzzy(
4812        num_tokens1: size_t,
4813        tokens1: *mut *mut ::std::os::raw::c_char,
4814        token_scores1: *mut f64,
4815        num_tokens2: size_t,
4816        tokens2: *mut *mut ::std::os::raw::c_char,
4817        token_scores2: *mut f64,
4818        options: libpostal_fuzzy_duplicate_options_t,
4819    ) -> libpostal_fuzzy_duplicate_status_t;
4820}
4821extern "C" {
4822    pub fn libpostal_is_street_duplicate_fuzzy(
4823        num_tokens1: size_t,
4824        tokens1: *mut *mut ::std::os::raw::c_char,
4825        token_scores1: *mut f64,
4826        num_tokens2: size_t,
4827        tokens2: *mut *mut ::std::os::raw::c_char,
4828        token_scores2: *mut f64,
4829        options: libpostal_fuzzy_duplicate_options_t,
4830    ) -> libpostal_fuzzy_duplicate_status_t;
4831}
4832extern "C" {
4833    pub fn libpostal_setup() -> bool;
4834}
4835extern "C" {
4836    pub fn libpostal_setup_datadir(datadir: *mut ::std::os::raw::c_char) -> bool;
4837}
4838extern "C" {
4839    pub fn libpostal_teardown();
4840}
4841extern "C" {
4842    pub fn libpostal_setup_parser() -> bool;
4843}
4844extern "C" {
4845    pub fn libpostal_setup_parser_datadir(
4846        datadir: *mut ::std::os::raw::c_char,
4847    ) -> bool;
4848}
4849extern "C" {
4850    pub fn libpostal_teardown_parser();
4851}
4852extern "C" {
4853    pub fn libpostal_setup_language_classifier() -> bool;
4854}
4855extern "C" {
4856    pub fn libpostal_setup_language_classifier_datadir(
4857        datadir: *mut ::std::os::raw::c_char,
4858    ) -> bool;
4859}
4860extern "C" {
4861    pub fn libpostal_teardown_language_classifier();
4862}
4863#[repr(C)]
4864#[derive(Debug, Copy, Clone)]
4865pub struct libpostal_token {
4866    pub offset: size_t,
4867    pub len: size_t,
4868    pub type_: u16,
4869}
4870#[test]
4871fn bindgen_test_layout_libpostal_token() {
4872    assert_eq!(
4873        ::std::mem::size_of::<libpostal_token>(),
4874        24usize,
4875        concat!("Size of: ", stringify!(libpostal_token))
4876    );
4877    assert_eq!(
4878        ::std::mem::align_of::<libpostal_token>(),
4879        8usize,
4880        concat!("Alignment of ", stringify!(libpostal_token))
4881    );
4882    assert_eq!(
4883        unsafe {
4884            &(*(::std::ptr::null::<libpostal_token>())).offset as *const _ as usize
4885        },
4886        0usize,
4887        concat!(
4888            "Offset of field: ",
4889            stringify!(libpostal_token),
4890            "::",
4891            stringify!(offset)
4892        )
4893    );
4894    assert_eq!(
4895        unsafe {
4896            &(*(::std::ptr::null::<libpostal_token>())).len as *const _ as usize
4897        },
4898        8usize,
4899        concat!(
4900            "Offset of field: ",
4901            stringify!(libpostal_token),
4902            "::",
4903            stringify!(len)
4904        )
4905    );
4906    assert_eq!(
4907        unsafe {
4908            &(*(::std::ptr::null::<libpostal_token>())).type_ as *const _ as usize
4909        },
4910        16usize,
4911        concat!(
4912            "Offset of field: ",
4913            stringify!(libpostal_token),
4914            "::",
4915            stringify!(type_)
4916        )
4917    );
4918}
4919pub type libpostal_token_t = libpostal_token;
4920extern "C" {
4921    pub fn libpostal_tokenize(
4922        input: *mut ::std::os::raw::c_char,
4923        whitespace: bool,
4924        n: *mut size_t,
4925    ) -> *mut libpostal_token_t;
4926}
4927extern "C" {
4928    pub fn libpostal_normalize_string_languages(
4929        input: *mut ::std::os::raw::c_char,
4930        options: u64,
4931        num_languages: size_t,
4932        languages: *mut *mut ::std::os::raw::c_char,
4933    ) -> *mut ::std::os::raw::c_char;
4934}
4935extern "C" {
4936    pub fn libpostal_normalize_string(
4937        input: *mut ::std::os::raw::c_char,
4938        options: u64,
4939    ) -> *mut ::std::os::raw::c_char;
4940}
4941#[repr(C)]
4942#[derive(Debug, Copy, Clone)]
4943pub struct libpostal_normalized_token {
4944    pub str_: *mut ::std::os::raw::c_char,
4945    pub token: libpostal_token_t,
4946}
4947#[test]
4948fn bindgen_test_layout_libpostal_normalized_token() {
4949    assert_eq!(
4950        ::std::mem::size_of::<libpostal_normalized_token>(),
4951        32usize,
4952        concat!("Size of: ", stringify!(libpostal_normalized_token))
4953    );
4954    assert_eq!(
4955        ::std::mem::align_of::<libpostal_normalized_token>(),
4956        8usize,
4957        concat!("Alignment of ", stringify!(libpostal_normalized_token))
4958    );
4959    assert_eq!(
4960        unsafe {
4961            &(*(::std::ptr::null::<libpostal_normalized_token>())).str_ as *const _
4962                as usize
4963        },
4964        0usize,
4965        concat!(
4966            "Offset of field: ",
4967            stringify!(libpostal_normalized_token),
4968            "::",
4969            stringify!(str_)
4970        )
4971    );
4972    assert_eq!(
4973        unsafe {
4974            &(*(::std::ptr::null::<libpostal_normalized_token>())).token as *const _
4975                as usize
4976        },
4977        8usize,
4978        concat!(
4979            "Offset of field: ",
4980            stringify!(libpostal_normalized_token),
4981            "::",
4982            stringify!(token)
4983        )
4984    );
4985}
4986pub type libpostal_normalized_token_t = libpostal_normalized_token;
4987extern "C" {
4988    pub fn libpostal_normalized_tokens(
4989        input: *mut ::std::os::raw::c_char,
4990        string_options: u64,
4991        token_options: u64,
4992        whitespace: bool,
4993        n: *mut size_t,
4994    ) -> *mut libpostal_normalized_token_t;
4995}
4996extern "C" {
4997    pub fn libpostal_normalized_tokens_languages(
4998        input: *mut ::std::os::raw::c_char,
4999        string_options: u64,
5000        token_options: u64,
5001        whitespace: bool,
5002        num_languages: size_t,
5003        languages: *mut *mut ::std::os::raw::c_char,
5004        n: *mut size_t,
5005    ) -> *mut libpostal_normalized_token_t;
5006}
5007pub type __builtin_va_list = [__va_list_tag; 1usize];
5008#[repr(C)]
5009#[derive(Debug, Copy, Clone)]
5010pub struct __va_list_tag {
5011    pub gp_offset: ::std::os::raw::c_uint,
5012    pub fp_offset: ::std::os::raw::c_uint,
5013    pub overflow_arg_area: *mut ::std::os::raw::c_void,
5014    pub reg_save_area: *mut ::std::os::raw::c_void,
5015}
5016#[test]
5017fn bindgen_test_layout___va_list_tag() {
5018    assert_eq!(
5019        ::std::mem::size_of::<__va_list_tag>(),
5020        24usize,
5021        concat!("Size of: ", stringify!(__va_list_tag))
5022    );
5023    assert_eq!(
5024        ::std::mem::align_of::<__va_list_tag>(),
5025        8usize,
5026        concat!("Alignment of ", stringify!(__va_list_tag))
5027    );
5028    assert_eq!(
5029        unsafe {
5030            &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize
5031        },
5032        0usize,
5033        concat!(
5034            "Offset of field: ",
5035            stringify!(__va_list_tag),
5036            "::",
5037            stringify!(gp_offset)
5038        )
5039    );
5040    assert_eq!(
5041        unsafe {
5042            &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize
5043        },
5044        4usize,
5045        concat!(
5046            "Offset of field: ",
5047            stringify!(__va_list_tag),
5048            "::",
5049            stringify!(fp_offset)
5050        )
5051    );
5052    assert_eq!(
5053        unsafe {
5054            &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _
5055                as usize
5056        },
5057        8usize,
5058        concat!(
5059            "Offset of field: ",
5060            stringify!(__va_list_tag),
5061            "::",
5062            stringify!(overflow_arg_area)
5063        )
5064    );
5065    assert_eq!(
5066        unsafe {
5067            &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _
5068                as usize
5069        },
5070        16usize,
5071        concat!(
5072            "Offset of field: ",
5073            stringify!(__va_list_tag),
5074            "::",
5075            stringify!(reg_save_area)
5076        )
5077    );
5078}