epan_sys/opt/rustwide/workdir/
bindings.rs

1/* automatically generated by rust-bindgen 0.66.1 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    pub fn get_bit(&self, index: usize) -> bool {
20        debug_assert!(index / 8 < self.storage.as_ref().len());
21        let byte_index = index / 8;
22        let byte = self.storage.as_ref()[byte_index];
23        let bit_index = if cfg!(target_endian = "big") {
24            7 - (index % 8)
25        } else {
26            index % 8
27        };
28        let mask = 1 << bit_index;
29        byte & mask == mask
30    }
31    #[inline]
32    pub fn set_bit(&mut self, index: usize, val: bool) {
33        debug_assert!(index / 8 < self.storage.as_ref().len());
34        let byte_index = index / 8;
35        let byte = &mut self.storage.as_mut()[byte_index];
36        let bit_index = if cfg!(target_endian = "big") {
37            7 - (index % 8)
38        } else {
39            index % 8
40        };
41        let mask = 1 << bit_index;
42        if val {
43            *byte |= mask;
44        } else {
45            *byte &= !mask;
46        }
47    }
48    #[inline]
49    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50        debug_assert!(bit_width <= 64);
51        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53        let mut val = 0;
54        for i in 0..(bit_width as usize) {
55            if self.get_bit(i + bit_offset) {
56                let index = if cfg!(target_endian = "big") {
57                    bit_width as usize - 1 - i
58                } else {
59                    i
60                };
61                val |= 1 << index;
62            }
63        }
64        val
65    }
66    #[inline]
67    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68        debug_assert!(bit_width <= 64);
69        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71        for i in 0..(bit_width as usize) {
72            let mask = 1 << i;
73            let val_bit_is_set = val & mask == mask;
74            let index = if cfg!(target_endian = "big") {
75                bit_width as usize - 1 - i
76            } else {
77                i
78            };
79            self.set_bit(index + bit_offset, val_bit_is_set);
80        }
81    }
82}
83pub const _INTTYPES_H: u32 = 1;
84pub const _FEATURES_H: u32 = 1;
85pub const _DEFAULT_SOURCE: u32 = 1;
86pub const __GLIBC_USE_ISOC2X: u32 = 0;
87pub const __USE_ISOC11: u32 = 1;
88pub const __USE_ISOC99: u32 = 1;
89pub const __USE_ISOC95: u32 = 1;
90pub const __USE_POSIX_IMPLICITLY: u32 = 1;
91pub const _POSIX_SOURCE: u32 = 1;
92pub const _POSIX_C_SOURCE: u32 = 200809;
93pub const __USE_POSIX: u32 = 1;
94pub const __USE_POSIX2: u32 = 1;
95pub const __USE_POSIX199309: u32 = 1;
96pub const __USE_POSIX199506: u32 = 1;
97pub const __USE_XOPEN2K: u32 = 1;
98pub const __USE_XOPEN2K8: u32 = 1;
99pub const _ATFILE_SOURCE: u32 = 1;
100pub const __WORDSIZE: u32 = 64;
101pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
102pub const __SYSCALL_WORDSIZE: u32 = 64;
103pub const __TIMESIZE: u32 = 64;
104pub const __USE_MISC: u32 = 1;
105pub const __USE_ATFILE: u32 = 1;
106pub const __USE_FORTIFY_LEVEL: u32 = 0;
107pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
108pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
109pub const _STDC_PREDEF_H: u32 = 1;
110pub const __STDC_IEC_559__: u32 = 1;
111pub const __STDC_IEC_60559_BFP__: u32 = 201404;
112pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
113pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
114pub const __STDC_ISO_10646__: u32 = 201706;
115pub const __GNU_LIBRARY__: u32 = 6;
116pub const __GLIBC__: u32 = 2;
117pub const __GLIBC_MINOR__: u32 = 37;
118pub const _SYS_CDEFS_H: u32 = 1;
119pub const __glibc_c99_flexarr_available: u32 = 1;
120pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
121pub const __HAVE_GENERIC_SELECTION: u32 = 1;
122pub const _STDINT_H: u32 = 1;
123pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
124pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
125pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
126pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
127pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
128pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
129pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
130pub const _BITS_TYPES_H: u32 = 1;
131pub const _BITS_TYPESIZES_H: u32 = 1;
132pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
133pub const __INO_T_MATCHES_INO64_T: u32 = 1;
134pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
135pub const __STATFS_MATCHES_STATFS64: u32 = 1;
136pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
137pub const __FD_SETSIZE: u32 = 1024;
138pub const _BITS_TIME64_H: u32 = 1;
139pub const _BITS_WCHAR_H: u32 = 1;
140pub const _BITS_STDINT_INTN_H: u32 = 1;
141pub const _BITS_STDINT_UINTN_H: u32 = 1;
142pub const INT8_MIN: i32 = -128;
143pub const INT16_MIN: i32 = -32768;
144pub const INT32_MIN: i32 = -2147483648;
145pub const INT8_MAX: u32 = 127;
146pub const INT16_MAX: u32 = 32767;
147pub const INT32_MAX: u32 = 2147483647;
148pub const UINT8_MAX: u32 = 255;
149pub const UINT16_MAX: u32 = 65535;
150pub const UINT32_MAX: u32 = 4294967295;
151pub const INT_LEAST8_MIN: i32 = -128;
152pub const INT_LEAST16_MIN: i32 = -32768;
153pub const INT_LEAST32_MIN: i32 = -2147483648;
154pub const INT_LEAST8_MAX: u32 = 127;
155pub const INT_LEAST16_MAX: u32 = 32767;
156pub const INT_LEAST32_MAX: u32 = 2147483647;
157pub const UINT_LEAST8_MAX: u32 = 255;
158pub const UINT_LEAST16_MAX: u32 = 65535;
159pub const UINT_LEAST32_MAX: u32 = 4294967295;
160pub const INT_FAST8_MIN: i32 = -128;
161pub const INT_FAST16_MIN: i64 = -9223372036854775808;
162pub const INT_FAST32_MIN: i64 = -9223372036854775808;
163pub const INT_FAST8_MAX: u32 = 127;
164pub const INT_FAST16_MAX: u64 = 9223372036854775807;
165pub const INT_FAST32_MAX: u64 = 9223372036854775807;
166pub const UINT_FAST8_MAX: u32 = 255;
167pub const UINT_FAST16_MAX: i32 = -1;
168pub const UINT_FAST32_MAX: i32 = -1;
169pub const INTPTR_MIN: i64 = -9223372036854775808;
170pub const INTPTR_MAX: u64 = 9223372036854775807;
171pub const UINTPTR_MAX: i32 = -1;
172pub const PTRDIFF_MIN: i64 = -9223372036854775808;
173pub const PTRDIFF_MAX: u64 = 9223372036854775807;
174pub const SIG_ATOMIC_MIN: i32 = -2147483648;
175pub const SIG_ATOMIC_MAX: u32 = 2147483647;
176pub const SIZE_MAX: i32 = -1;
177pub const WINT_MIN: u32 = 0;
178pub const WINT_MAX: u32 = 4294967295;
179pub const ____gwchar_t_defined: u32 = 1;
180pub const __PRI64_PREFIX: &[u8; 2] = b"l\0";
181pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0";
182pub const PRId8: &[u8; 2] = b"d\0";
183pub const PRId16: &[u8; 2] = b"d\0";
184pub const PRId32: &[u8; 2] = b"d\0";
185pub const PRId64: &[u8; 3] = b"ld\0";
186pub const PRIdLEAST8: &[u8; 2] = b"d\0";
187pub const PRIdLEAST16: &[u8; 2] = b"d\0";
188pub const PRIdLEAST32: &[u8; 2] = b"d\0";
189pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
190pub const PRIdFAST8: &[u8; 2] = b"d\0";
191pub const PRIdFAST16: &[u8; 3] = b"ld\0";
192pub const PRIdFAST32: &[u8; 3] = b"ld\0";
193pub const PRIdFAST64: &[u8; 3] = b"ld\0";
194pub const PRIi8: &[u8; 2] = b"i\0";
195pub const PRIi16: &[u8; 2] = b"i\0";
196pub const PRIi32: &[u8; 2] = b"i\0";
197pub const PRIi64: &[u8; 3] = b"li\0";
198pub const PRIiLEAST8: &[u8; 2] = b"i\0";
199pub const PRIiLEAST16: &[u8; 2] = b"i\0";
200pub const PRIiLEAST32: &[u8; 2] = b"i\0";
201pub const PRIiLEAST64: &[u8; 3] = b"li\0";
202pub const PRIiFAST8: &[u8; 2] = b"i\0";
203pub const PRIiFAST16: &[u8; 3] = b"li\0";
204pub const PRIiFAST32: &[u8; 3] = b"li\0";
205pub const PRIiFAST64: &[u8; 3] = b"li\0";
206pub const PRIo8: &[u8; 2] = b"o\0";
207pub const PRIo16: &[u8; 2] = b"o\0";
208pub const PRIo32: &[u8; 2] = b"o\0";
209pub const PRIo64: &[u8; 3] = b"lo\0";
210pub const PRIoLEAST8: &[u8; 2] = b"o\0";
211pub const PRIoLEAST16: &[u8; 2] = b"o\0";
212pub const PRIoLEAST32: &[u8; 2] = b"o\0";
213pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
214pub const PRIoFAST8: &[u8; 2] = b"o\0";
215pub const PRIoFAST16: &[u8; 3] = b"lo\0";
216pub const PRIoFAST32: &[u8; 3] = b"lo\0";
217pub const PRIoFAST64: &[u8; 3] = b"lo\0";
218pub const PRIu8: &[u8; 2] = b"u\0";
219pub const PRIu16: &[u8; 2] = b"u\0";
220pub const PRIu32: &[u8; 2] = b"u\0";
221pub const PRIu64: &[u8; 3] = b"lu\0";
222pub const PRIuLEAST8: &[u8; 2] = b"u\0";
223pub const PRIuLEAST16: &[u8; 2] = b"u\0";
224pub const PRIuLEAST32: &[u8; 2] = b"u\0";
225pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
226pub const PRIuFAST8: &[u8; 2] = b"u\0";
227pub const PRIuFAST16: &[u8; 3] = b"lu\0";
228pub const PRIuFAST32: &[u8; 3] = b"lu\0";
229pub const PRIuFAST64: &[u8; 3] = b"lu\0";
230pub const PRIx8: &[u8; 2] = b"x\0";
231pub const PRIx16: &[u8; 2] = b"x\0";
232pub const PRIx32: &[u8; 2] = b"x\0";
233pub const PRIx64: &[u8; 3] = b"lx\0";
234pub const PRIxLEAST8: &[u8; 2] = b"x\0";
235pub const PRIxLEAST16: &[u8; 2] = b"x\0";
236pub const PRIxLEAST32: &[u8; 2] = b"x\0";
237pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
238pub const PRIxFAST8: &[u8; 2] = b"x\0";
239pub const PRIxFAST16: &[u8; 3] = b"lx\0";
240pub const PRIxFAST32: &[u8; 3] = b"lx\0";
241pub const PRIxFAST64: &[u8; 3] = b"lx\0";
242pub const PRIX8: &[u8; 2] = b"X\0";
243pub const PRIX16: &[u8; 2] = b"X\0";
244pub const PRIX32: &[u8; 2] = b"X\0";
245pub const PRIX64: &[u8; 3] = b"lX\0";
246pub const PRIXLEAST8: &[u8; 2] = b"X\0";
247pub const PRIXLEAST16: &[u8; 2] = b"X\0";
248pub const PRIXLEAST32: &[u8; 2] = b"X\0";
249pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
250pub const PRIXFAST8: &[u8; 2] = b"X\0";
251pub const PRIXFAST16: &[u8; 3] = b"lX\0";
252pub const PRIXFAST32: &[u8; 3] = b"lX\0";
253pub const PRIXFAST64: &[u8; 3] = b"lX\0";
254pub const PRIdMAX: &[u8; 3] = b"ld\0";
255pub const PRIiMAX: &[u8; 3] = b"li\0";
256pub const PRIoMAX: &[u8; 3] = b"lo\0";
257pub const PRIuMAX: &[u8; 3] = b"lu\0";
258pub const PRIxMAX: &[u8; 3] = b"lx\0";
259pub const PRIXMAX: &[u8; 3] = b"lX\0";
260pub const PRIdPTR: &[u8; 3] = b"ld\0";
261pub const PRIiPTR: &[u8; 3] = b"li\0";
262pub const PRIoPTR: &[u8; 3] = b"lo\0";
263pub const PRIuPTR: &[u8; 3] = b"lu\0";
264pub const PRIxPTR: &[u8; 3] = b"lx\0";
265pub const PRIXPTR: &[u8; 3] = b"lX\0";
266pub const SCNd8: &[u8; 4] = b"hhd\0";
267pub const SCNd16: &[u8; 3] = b"hd\0";
268pub const SCNd32: &[u8; 2] = b"d\0";
269pub const SCNd64: &[u8; 3] = b"ld\0";
270pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
271pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
272pub const SCNdLEAST32: &[u8; 2] = b"d\0";
273pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
274pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
275pub const SCNdFAST16: &[u8; 3] = b"ld\0";
276pub const SCNdFAST32: &[u8; 3] = b"ld\0";
277pub const SCNdFAST64: &[u8; 3] = b"ld\0";
278pub const SCNi8: &[u8; 4] = b"hhi\0";
279pub const SCNi16: &[u8; 3] = b"hi\0";
280pub const SCNi32: &[u8; 2] = b"i\0";
281pub const SCNi64: &[u8; 3] = b"li\0";
282pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
283pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
284pub const SCNiLEAST32: &[u8; 2] = b"i\0";
285pub const SCNiLEAST64: &[u8; 3] = b"li\0";
286pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
287pub const SCNiFAST16: &[u8; 3] = b"li\0";
288pub const SCNiFAST32: &[u8; 3] = b"li\0";
289pub const SCNiFAST64: &[u8; 3] = b"li\0";
290pub const SCNu8: &[u8; 4] = b"hhu\0";
291pub const SCNu16: &[u8; 3] = b"hu\0";
292pub const SCNu32: &[u8; 2] = b"u\0";
293pub const SCNu64: &[u8; 3] = b"lu\0";
294pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
295pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
296pub const SCNuLEAST32: &[u8; 2] = b"u\0";
297pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
298pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
299pub const SCNuFAST16: &[u8; 3] = b"lu\0";
300pub const SCNuFAST32: &[u8; 3] = b"lu\0";
301pub const SCNuFAST64: &[u8; 3] = b"lu\0";
302pub const SCNo8: &[u8; 4] = b"hho\0";
303pub const SCNo16: &[u8; 3] = b"ho\0";
304pub const SCNo32: &[u8; 2] = b"o\0";
305pub const SCNo64: &[u8; 3] = b"lo\0";
306pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
307pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
308pub const SCNoLEAST32: &[u8; 2] = b"o\0";
309pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
310pub const SCNoFAST8: &[u8; 4] = b"hho\0";
311pub const SCNoFAST16: &[u8; 3] = b"lo\0";
312pub const SCNoFAST32: &[u8; 3] = b"lo\0";
313pub const SCNoFAST64: &[u8; 3] = b"lo\0";
314pub const SCNx8: &[u8; 4] = b"hhx\0";
315pub const SCNx16: &[u8; 3] = b"hx\0";
316pub const SCNx32: &[u8; 2] = b"x\0";
317pub const SCNx64: &[u8; 3] = b"lx\0";
318pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
319pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
320pub const SCNxLEAST32: &[u8; 2] = b"x\0";
321pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
322pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
323pub const SCNxFAST16: &[u8; 3] = b"lx\0";
324pub const SCNxFAST32: &[u8; 3] = b"lx\0";
325pub const SCNxFAST64: &[u8; 3] = b"lx\0";
326pub const SCNdMAX: &[u8; 3] = b"ld\0";
327pub const SCNiMAX: &[u8; 3] = b"li\0";
328pub const SCNoMAX: &[u8; 3] = b"lo\0";
329pub const SCNuMAX: &[u8; 3] = b"lu\0";
330pub const SCNxMAX: &[u8; 3] = b"lx\0";
331pub const SCNdPTR: &[u8; 3] = b"ld\0";
332pub const SCNiPTR: &[u8; 3] = b"li\0";
333pub const SCNoPTR: &[u8; 3] = b"lo\0";
334pub const SCNuPTR: &[u8; 3] = b"lu\0";
335pub const SCNxPTR: &[u8; 3] = b"lx\0";
336pub const __bool_true_false_are_defined: u32 = 1;
337pub const true_: u32 = 1;
338pub const false_: u32 = 0;
339pub const _STRING_H: u32 = 1;
340pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
341pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
342pub const _STRINGS_H: u32 = 1;
343pub const G_ANALYZER_ANALYZING: u32 = 0;
344pub const FALSE: u32 = 0;
345pub const G_HAVE_GNUC_VISIBILITY: u32 = 1;
346pub const _LIBC_LIMITS_H_: u32 = 1;
347pub const MB_LEN_MAX: u32 = 16;
348pub const _BITS_POSIX1_LIM_H: u32 = 1;
349pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
350pub const _POSIX_AIO_MAX: u32 = 1;
351pub const _POSIX_ARG_MAX: u32 = 4096;
352pub const _POSIX_CHILD_MAX: u32 = 25;
353pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
354pub const _POSIX_HOST_NAME_MAX: u32 = 255;
355pub const _POSIX_LINK_MAX: u32 = 8;
356pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
357pub const _POSIX_MAX_CANON: u32 = 255;
358pub const _POSIX_MAX_INPUT: u32 = 255;
359pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
360pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
361pub const _POSIX_NAME_MAX: u32 = 14;
362pub const _POSIX_NGROUPS_MAX: u32 = 8;
363pub const _POSIX_OPEN_MAX: u32 = 20;
364pub const _POSIX_PATH_MAX: u32 = 256;
365pub const _POSIX_PIPE_BUF: u32 = 512;
366pub const _POSIX_RE_DUP_MAX: u32 = 255;
367pub const _POSIX_RTSIG_MAX: u32 = 8;
368pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
369pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
370pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
371pub const _POSIX_SSIZE_MAX: u32 = 32767;
372pub const _POSIX_STREAM_MAX: u32 = 8;
373pub const _POSIX_SYMLINK_MAX: u32 = 255;
374pub const _POSIX_SYMLOOP_MAX: u32 = 8;
375pub const _POSIX_TIMER_MAX: u32 = 32;
376pub const _POSIX_TTY_NAME_MAX: u32 = 9;
377pub const _POSIX_TZNAME_MAX: u32 = 6;
378pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
379pub const NR_OPEN: u32 = 1024;
380pub const NGROUPS_MAX: u32 = 65536;
381pub const ARG_MAX: u32 = 131072;
382pub const LINK_MAX: u32 = 127;
383pub const MAX_CANON: u32 = 255;
384pub const MAX_INPUT: u32 = 255;
385pub const NAME_MAX: u32 = 255;
386pub const PATH_MAX: u32 = 4096;
387pub const PIPE_BUF: u32 = 4096;
388pub const XATTR_NAME_MAX: u32 = 255;
389pub const XATTR_SIZE_MAX: u32 = 65536;
390pub const XATTR_LIST_MAX: u32 = 65536;
391pub const RTSIG_MAX: u32 = 32;
392pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
393pub const PTHREAD_KEYS_MAX: u32 = 1024;
394pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
395pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
396pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
397pub const AIO_PRIO_DELTA_MAX: u32 = 20;
398pub const PTHREAD_STACK_MIN: u32 = 16384;
399pub const DELAYTIMER_MAX: u32 = 2147483647;
400pub const TTY_NAME_MAX: u32 = 32;
401pub const LOGIN_NAME_MAX: u32 = 256;
402pub const HOST_NAME_MAX: u32 = 64;
403pub const MQ_PRIO_MAX: u32 = 32768;
404pub const SEM_VALUE_MAX: u32 = 2147483647;
405pub const _BITS_POSIX2_LIM_H: u32 = 1;
406pub const _POSIX2_BC_BASE_MAX: u32 = 99;
407pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
408pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
409pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
410pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
411pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
412pub const _POSIX2_LINE_MAX: u32 = 2048;
413pub const _POSIX2_RE_DUP_MAX: u32 = 255;
414pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
415pub const BC_BASE_MAX: u32 = 99;
416pub const BC_DIM_MAX: u32 = 2048;
417pub const BC_SCALE_MAX: u32 = 99;
418pub const BC_STRING_MAX: u32 = 1000;
419pub const COLL_WEIGHTS_MAX: u32 = 255;
420pub const EXPR_NEST_MAX: u32 = 32;
421pub const LINE_MAX: u32 = 2048;
422pub const CHARCLASS_NAME_MAX: u32 = 2048;
423pub const RE_DUP_MAX: u32 = 32767;
424pub const G_GINT16_MODIFIER: &[u8; 2] = b"h\0";
425pub const G_GINT16_FORMAT: &[u8; 3] = b"hi\0";
426pub const G_GUINT16_FORMAT: &[u8; 3] = b"hu\0";
427pub const G_GINT32_MODIFIER: &[u8; 1] = b"\0";
428pub const G_GINT32_FORMAT: &[u8; 2] = b"i\0";
429pub const G_GUINT32_FORMAT: &[u8; 2] = b"u\0";
430pub const G_HAVE_GINT64: u32 = 1;
431pub const G_GINT64_MODIFIER: &[u8; 2] = b"l\0";
432pub const G_GINT64_FORMAT: &[u8; 3] = b"li\0";
433pub const G_GUINT64_FORMAT: &[u8; 3] = b"lu\0";
434pub const GLIB_SIZEOF_VOID_P: u32 = 8;
435pub const GLIB_SIZEOF_LONG: u32 = 8;
436pub const GLIB_SIZEOF_SIZE_T: u32 = 8;
437pub const GLIB_SIZEOF_SSIZE_T: u32 = 8;
438pub const G_GSIZE_MODIFIER: &[u8; 2] = b"l\0";
439pub const G_GSSIZE_MODIFIER: &[u8; 2] = b"l\0";
440pub const G_GSIZE_FORMAT: &[u8; 3] = b"lu\0";
441pub const G_GSSIZE_FORMAT: &[u8; 3] = b"li\0";
442pub const G_GOFFSET_MODIFIER: &[u8; 2] = b"l\0";
443pub const G_GOFFSET_FORMAT: &[u8; 3] = b"li\0";
444pub const G_POLLFD_FORMAT: &[u8; 3] = b"%d\0";
445pub const G_GINTPTR_MODIFIER: &[u8; 2] = b"l\0";
446pub const G_GINTPTR_FORMAT: &[u8; 3] = b"li\0";
447pub const G_GUINTPTR_FORMAT: &[u8; 3] = b"lu\0";
448pub const GLIB_MAJOR_VERSION: u32 = 2;
449pub const GLIB_MINOR_VERSION: u32 = 76;
450pub const GLIB_MICRO_VERSION: u32 = 4;
451pub const G_VA_COPY_AS_ARRAY: u32 = 1;
452pub const G_HAVE_ISO_VARARGS: u32 = 1;
453pub const G_HAVE_GROWING_STACK: u32 = 0;
454pub const G_HAVE_GNUC_VARARGS: u32 = 1;
455pub const G_MODULE_SUFFIX: &[u8; 3] = b"so\0";
456pub const G_PID_FORMAT: &[u8; 2] = b"i\0";
457pub const GLIB_SYSDEF_AF_UNIX: u32 = 1;
458pub const GLIB_SYSDEF_AF_INET: u32 = 2;
459pub const GLIB_SYSDEF_AF_INET6: u32 = 10;
460pub const GLIB_SYSDEF_MSG_OOB: u32 = 1;
461pub const GLIB_SYSDEF_MSG_PEEK: u32 = 2;
462pub const GLIB_SYSDEF_MSG_DONTROUTE: u32 = 4;
463pub const G_DIR_SEPARATOR: u8 = 47u8;
464pub const G_DIR_SEPARATOR_S: &[u8; 2] = b"/\0";
465pub const G_SEARCHPATH_SEPARATOR: u8 = 58u8;
466pub const G_SEARCHPATH_SEPARATOR_S: &[u8; 2] = b":\0";
467pub const _TIME_H: u32 = 1;
468pub const _BITS_TIME_H: u32 = 1;
469pub const CLOCK_REALTIME: u32 = 0;
470pub const CLOCK_MONOTONIC: u32 = 1;
471pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
472pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
473pub const CLOCK_MONOTONIC_RAW: u32 = 4;
474pub const CLOCK_REALTIME_COARSE: u32 = 5;
475pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
476pub const CLOCK_BOOTTIME: u32 = 7;
477pub const CLOCK_REALTIME_ALARM: u32 = 8;
478pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
479pub const CLOCK_TAI: u32 = 11;
480pub const TIMER_ABSTIME: u32 = 1;
481pub const __clock_t_defined: u32 = 1;
482pub const __time_t_defined: u32 = 1;
483pub const __struct_tm_defined: u32 = 1;
484pub const _STRUCT_TIMESPEC: u32 = 1;
485pub const _BITS_ENDIAN_H: u32 = 1;
486pub const __LITTLE_ENDIAN: u32 = 1234;
487pub const __BIG_ENDIAN: u32 = 4321;
488pub const __PDP_ENDIAN: u32 = 3412;
489pub const _BITS_ENDIANNESS_H: u32 = 1;
490pub const __BYTE_ORDER: u32 = 1234;
491pub const __FLOAT_WORD_ORDER: u32 = 1234;
492pub const __clockid_t_defined: u32 = 1;
493pub const __timer_t_defined: u32 = 1;
494pub const __itimerspec_defined: u32 = 1;
495pub const TIME_UTC: u32 = 1;
496pub const G_E: f64 = 2.718281828459045;
497pub const G_LN2: f64 = 0.6931471805599453;
498pub const G_LN10: f64 = 2.302585092994046;
499pub const G_PI: f64 = 3.141592653589793;
500pub const G_PI_2: f64 = 1.5707963267948966;
501pub const G_PI_4: f64 = 0.7853981633974483;
502pub const G_SQRT2: f64 = 1.4142135623730951;
503pub const G_LITTLE_ENDIAN: u32 = 1234;
504pub const G_BIG_ENDIAN: u32 = 4321;
505pub const G_PDP_ENDIAN: u32 = 3412;
506pub const G_IEEE754_FLOAT_BIAS: u32 = 127;
507pub const G_IEEE754_DOUBLE_BIAS: u32 = 1023;
508pub const G_LOG_2_BASE_10: f64 = 0.3010299956639812;
509pub const __GNUC_VA_LIST: u32 = 1;
510pub const _STDLIB_H: u32 = 1;
511pub const WNOHANG: u32 = 1;
512pub const WUNTRACED: u32 = 2;
513pub const WSTOPPED: u32 = 2;
514pub const WEXITED: u32 = 4;
515pub const WCONTINUED: u32 = 8;
516pub const WNOWAIT: u32 = 16777216;
517pub const __WNOTHREAD: u32 = 536870912;
518pub const __WALL: u32 = 1073741824;
519pub const __WCLONE: u32 = 2147483648;
520pub const __W_CONTINUED: u32 = 65535;
521pub const __WCOREFLAG: u32 = 128;
522pub const __HAVE_FLOAT128: u32 = 0;
523pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
524pub const __HAVE_FLOAT64X: u32 = 1;
525pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
526pub const __HAVE_FLOAT16: u32 = 0;
527pub const __HAVE_FLOAT32: u32 = 1;
528pub const __HAVE_FLOAT64: u32 = 1;
529pub const __HAVE_FLOAT32X: u32 = 1;
530pub const __HAVE_FLOAT128X: u32 = 0;
531pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
532pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
533pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
534pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
535pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
536pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
537pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
538pub const __ldiv_t_defined: u32 = 1;
539pub const __lldiv_t_defined: u32 = 1;
540pub const RAND_MAX: u32 = 2147483647;
541pub const EXIT_FAILURE: u32 = 1;
542pub const EXIT_SUCCESS: u32 = 0;
543pub const _SYS_TYPES_H: u32 = 1;
544pub const __BIT_TYPES_DEFINED__: u32 = 1;
545pub const _ENDIAN_H: u32 = 1;
546pub const LITTLE_ENDIAN: u32 = 1234;
547pub const BIG_ENDIAN: u32 = 4321;
548pub const PDP_ENDIAN: u32 = 3412;
549pub const BYTE_ORDER: u32 = 1234;
550pub const _BITS_BYTESWAP_H: u32 = 1;
551pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
552pub const _SYS_SELECT_H: u32 = 1;
553pub const __sigset_t_defined: u32 = 1;
554pub const __timeval_defined: u32 = 1;
555pub const FD_SETSIZE: u32 = 1024;
556pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
557pub const _THREAD_SHARED_TYPES_H: u32 = 1;
558pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
559pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
560pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
561pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
562pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
563pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
564pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
565pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
566pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
567pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
568pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1;
569pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
570pub const __have_pthread_attr_t: u32 = 1;
571pub const _ALLOCA_H: u32 = 1;
572pub const _BITS_SIGNUM_GENERIC_H: u32 = 1;
573pub const SIGINT: u32 = 2;
574pub const SIGILL: u32 = 4;
575pub const SIGABRT: u32 = 6;
576pub const SIGFPE: u32 = 8;
577pub const SIGSEGV: u32 = 11;
578pub const SIGTERM: u32 = 15;
579pub const SIGHUP: u32 = 1;
580pub const SIGQUIT: u32 = 3;
581pub const SIGTRAP: u32 = 5;
582pub const SIGKILL: u32 = 9;
583pub const SIGPIPE: u32 = 13;
584pub const SIGALRM: u32 = 14;
585pub const SIGIOT: u32 = 6;
586pub const _BITS_SIGNUM_ARCH_H: u32 = 1;
587pub const SIGSTKFLT: u32 = 16;
588pub const SIGPWR: u32 = 30;
589pub const SIGBUS: u32 = 7;
590pub const SIGSYS: u32 = 31;
591pub const SIGURG: u32 = 23;
592pub const SIGSTOP: u32 = 19;
593pub const SIGTSTP: u32 = 20;
594pub const SIGCONT: u32 = 18;
595pub const SIGCHLD: u32 = 17;
596pub const SIGTTIN: u32 = 21;
597pub const SIGTTOU: u32 = 22;
598pub const SIGPOLL: u32 = 29;
599pub const SIGXFSZ: u32 = 25;
600pub const SIGXCPU: u32 = 24;
601pub const SIGVTALRM: u32 = 26;
602pub const SIGPROF: u32 = 27;
603pub const SIGUSR1: u32 = 10;
604pub const SIGUSR2: u32 = 12;
605pub const SIGWINCH: u32 = 28;
606pub const SIGIO: u32 = 29;
607pub const SIGCLD: u32 = 17;
608pub const __SIGRTMIN: u32 = 32;
609pub const __SIGRTMAX: u32 = 64;
610pub const _NSIG: u32 = 65;
611pub const __sig_atomic_t_defined: u32 = 1;
612pub const __siginfo_t_defined: u32 = 1;
613pub const __SI_MAX_SIZE: u32 = 128;
614pub const _BITS_SIGINFO_ARCH_H: u32 = 1;
615pub const __SI_ERRNO_THEN_CODE: u32 = 1;
616pub const __SI_HAVE_SIGSYS: u32 = 1;
617pub const _BITS_SIGINFO_CONSTS_H: u32 = 1;
618pub const __SI_ASYNCIO_AFTER_SIGIO: u32 = 1;
619pub const __sigevent_t_defined: u32 = 1;
620pub const __SIGEV_MAX_SIZE: u32 = 64;
621pub const _BITS_SIGEVENT_CONSTS_H: u32 = 1;
622pub const NSIG: u32 = 65;
623pub const _BITS_SIGACTION_H: u32 = 1;
624pub const SA_NOCLDSTOP: u32 = 1;
625pub const SA_NOCLDWAIT: u32 = 2;
626pub const SA_SIGINFO: u32 = 4;
627pub const SA_ONSTACK: u32 = 134217728;
628pub const SA_RESTART: u32 = 268435456;
629pub const SA_NODEFER: u32 = 1073741824;
630pub const SA_RESETHAND: u32 = 2147483648;
631pub const SA_INTERRUPT: u32 = 536870912;
632pub const SA_NOMASK: u32 = 1073741824;
633pub const SA_ONESHOT: u32 = 2147483648;
634pub const SA_STACK: u32 = 134217728;
635pub const SIG_BLOCK: u32 = 0;
636pub const SIG_UNBLOCK: u32 = 1;
637pub const SIG_SETMASK: u32 = 2;
638pub const _BITS_SIGCONTEXT_H: u32 = 1;
639pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
640pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
641pub const __stack_t_defined: u32 = 1;
642pub const _SYS_UCONTEXT_H: u32 = 1;
643pub const __NGREG: u32 = 23;
644pub const NGREG: u32 = 23;
645pub const _BITS_SIGSTACK_H: u32 = 1;
646pub const MINSIGSTKSZ: u32 = 2048;
647pub const SIGSTKSZ: u32 = 8192;
648pub const _BITS_SS_FLAGS_H: u32 = 1;
649pub const __sigstack_defined: u32 = 1;
650pub const _BITS_SIGTHREAD_H: u32 = 1;
651pub const G_DATALIST_FLAGS_MASK: u32 = 3;
652pub const G_DATE_BAD_JULIAN: u32 = 0;
653pub const G_DATE_BAD_DAY: u32 = 0;
654pub const G_DATE_BAD_YEAR: u32 = 0;
655pub const _DIRENT_H: u32 = 1;
656pub const _DIRENT_MATCHES_DIRENT64: u32 = 1;
657pub const MAXNAMLEN: u32 = 255;
658pub const G_MEM_ALIGN: u32 = 8;
659pub const G_HOOK_FLAG_USER_SHIFT: u32 = 4;
660pub const G_PRIORITY_HIGH: i32 = -100;
661pub const G_PRIORITY_DEFAULT: u32 = 0;
662pub const G_PRIORITY_HIGH_IDLE: u32 = 100;
663pub const G_PRIORITY_DEFAULT_IDLE: u32 = 200;
664pub const G_PRIORITY_LOW: u32 = 300;
665pub const G_SOURCE_REMOVE: u32 = 0;
666pub const G_UNICHAR_MAX_DECOMPOSITION_LENGTH: u32 = 18;
667pub const G_STR_DELIMITERS: &[u8; 8] = b"_-|> <.\0";
668pub const G_ASCII_DTOSTR_BUF_SIZE: u32 = 39;
669pub const G_KEY_FILE_DESKTOP_GROUP: &[u8; 14] = b"Desktop Entry\0";
670pub const G_KEY_FILE_DESKTOP_KEY_TYPE: &[u8; 5] = b"Type\0";
671pub const G_KEY_FILE_DESKTOP_KEY_VERSION: &[u8; 8] = b"Version\0";
672pub const G_KEY_FILE_DESKTOP_KEY_NAME: &[u8; 5] = b"Name\0";
673pub const G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME: &[u8; 12] = b"GenericName\0";
674pub const G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY: &[u8; 10] = b"NoDisplay\0";
675pub const G_KEY_FILE_DESKTOP_KEY_COMMENT: &[u8; 8] = b"Comment\0";
676pub const G_KEY_FILE_DESKTOP_KEY_ICON: &[u8; 5] = b"Icon\0";
677pub const G_KEY_FILE_DESKTOP_KEY_HIDDEN: &[u8; 7] = b"Hidden\0";
678pub const G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN: &[u8; 11] = b"OnlyShowIn\0";
679pub const G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN: &[u8; 10] = b"NotShowIn\0";
680pub const G_KEY_FILE_DESKTOP_KEY_TRY_EXEC: &[u8; 8] = b"TryExec\0";
681pub const G_KEY_FILE_DESKTOP_KEY_EXEC: &[u8; 5] = b"Exec\0";
682pub const G_KEY_FILE_DESKTOP_KEY_PATH: &[u8; 5] = b"Path\0";
683pub const G_KEY_FILE_DESKTOP_KEY_TERMINAL: &[u8; 9] = b"Terminal\0";
684pub const G_KEY_FILE_DESKTOP_KEY_MIME_TYPE: &[u8; 9] = b"MimeType\0";
685pub const G_KEY_FILE_DESKTOP_KEY_CATEGORIES: &[u8; 11] = b"Categories\0";
686pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY: &[u8; 14] = b"StartupNotify\0";
687pub const G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS: &[u8; 15] = b"StartupWMClass\0";
688pub const G_KEY_FILE_DESKTOP_KEY_URL: &[u8; 4] = b"URL\0";
689pub const G_KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE: &[u8; 16] = b"DBusActivatable\0";
690pub const G_KEY_FILE_DESKTOP_KEY_ACTIONS: &[u8; 8] = b"Actions\0";
691pub const G_KEY_FILE_DESKTOP_TYPE_APPLICATION: &[u8; 12] = b"Application\0";
692pub const G_KEY_FILE_DESKTOP_TYPE_LINK: &[u8; 5] = b"Link\0";
693pub const G_KEY_FILE_DESKTOP_TYPE_DIRECTORY: &[u8; 10] = b"Directory\0";
694pub const G_LOG_LEVEL_USER_SHIFT: u32 = 8;
695pub const G_OPTION_REMAINING: &[u8; 1] = b"\0";
696pub const G_CSET_A_2_Z: &[u8; 27] = b"ABCDEFGHIJKLMNOPQRSTUVWXYZ\0";
697pub const G_CSET_a_2_z: &[u8; 27] = b"abcdefghijklmnopqrstuvwxyz\0";
698pub const G_CSET_DIGITS: &[u8; 11] = b"0123456789\0";
699pub const G_CSET_LATINC : & [u8 ; 31] = b"\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD8\xD9\xDA\xDB\xDC\xDD\xDE\0" ;
700pub const G_CSET_LATINS : & [u8 ; 33] = b"\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\0" ;
701pub const _ERRNO_H: u32 = 1;
702pub const _BITS_ERRNO_H: u32 = 1;
703pub const EPERM: u32 = 1;
704pub const ENOENT: u32 = 2;
705pub const ESRCH: u32 = 3;
706pub const EINTR: u32 = 4;
707pub const EIO: u32 = 5;
708pub const ENXIO: u32 = 6;
709pub const E2BIG: u32 = 7;
710pub const ENOEXEC: u32 = 8;
711pub const EBADF: u32 = 9;
712pub const ECHILD: u32 = 10;
713pub const EAGAIN: u32 = 11;
714pub const ENOMEM: u32 = 12;
715pub const EACCES: u32 = 13;
716pub const EFAULT: u32 = 14;
717pub const ENOTBLK: u32 = 15;
718pub const EBUSY: u32 = 16;
719pub const EEXIST: u32 = 17;
720pub const EXDEV: u32 = 18;
721pub const ENODEV: u32 = 19;
722pub const ENOTDIR: u32 = 20;
723pub const EISDIR: u32 = 21;
724pub const EINVAL: u32 = 22;
725pub const ENFILE: u32 = 23;
726pub const EMFILE: u32 = 24;
727pub const ENOTTY: u32 = 25;
728pub const ETXTBSY: u32 = 26;
729pub const EFBIG: u32 = 27;
730pub const ENOSPC: u32 = 28;
731pub const ESPIPE: u32 = 29;
732pub const EROFS: u32 = 30;
733pub const EMLINK: u32 = 31;
734pub const EPIPE: u32 = 32;
735pub const EDOM: u32 = 33;
736pub const ERANGE: u32 = 34;
737pub const EDEADLK: u32 = 35;
738pub const ENAMETOOLONG: u32 = 36;
739pub const ENOLCK: u32 = 37;
740pub const ENOSYS: u32 = 38;
741pub const ENOTEMPTY: u32 = 39;
742pub const ELOOP: u32 = 40;
743pub const EWOULDBLOCK: u32 = 11;
744pub const ENOMSG: u32 = 42;
745pub const EIDRM: u32 = 43;
746pub const ECHRNG: u32 = 44;
747pub const EL2NSYNC: u32 = 45;
748pub const EL3HLT: u32 = 46;
749pub const EL3RST: u32 = 47;
750pub const ELNRNG: u32 = 48;
751pub const EUNATCH: u32 = 49;
752pub const ENOCSI: u32 = 50;
753pub const EL2HLT: u32 = 51;
754pub const EBADE: u32 = 52;
755pub const EBADR: u32 = 53;
756pub const EXFULL: u32 = 54;
757pub const ENOANO: u32 = 55;
758pub const EBADRQC: u32 = 56;
759pub const EBADSLT: u32 = 57;
760pub const EDEADLOCK: u32 = 35;
761pub const EBFONT: u32 = 59;
762pub const ENOSTR: u32 = 60;
763pub const ENODATA: u32 = 61;
764pub const ETIME: u32 = 62;
765pub const ENOSR: u32 = 63;
766pub const ENONET: u32 = 64;
767pub const ENOPKG: u32 = 65;
768pub const EREMOTE: u32 = 66;
769pub const ENOLINK: u32 = 67;
770pub const EADV: u32 = 68;
771pub const ESRMNT: u32 = 69;
772pub const ECOMM: u32 = 70;
773pub const EPROTO: u32 = 71;
774pub const EMULTIHOP: u32 = 72;
775pub const EDOTDOT: u32 = 73;
776pub const EBADMSG: u32 = 74;
777pub const EOVERFLOW: u32 = 75;
778pub const ENOTUNIQ: u32 = 76;
779pub const EBADFD: u32 = 77;
780pub const EREMCHG: u32 = 78;
781pub const ELIBACC: u32 = 79;
782pub const ELIBBAD: u32 = 80;
783pub const ELIBSCN: u32 = 81;
784pub const ELIBMAX: u32 = 82;
785pub const ELIBEXEC: u32 = 83;
786pub const EILSEQ: u32 = 84;
787pub const ERESTART: u32 = 85;
788pub const ESTRPIPE: u32 = 86;
789pub const EUSERS: u32 = 87;
790pub const ENOTSOCK: u32 = 88;
791pub const EDESTADDRREQ: u32 = 89;
792pub const EMSGSIZE: u32 = 90;
793pub const EPROTOTYPE: u32 = 91;
794pub const ENOPROTOOPT: u32 = 92;
795pub const EPROTONOSUPPORT: u32 = 93;
796pub const ESOCKTNOSUPPORT: u32 = 94;
797pub const EOPNOTSUPP: u32 = 95;
798pub const EPFNOSUPPORT: u32 = 96;
799pub const EAFNOSUPPORT: u32 = 97;
800pub const EADDRINUSE: u32 = 98;
801pub const EADDRNOTAVAIL: u32 = 99;
802pub const ENETDOWN: u32 = 100;
803pub const ENETUNREACH: u32 = 101;
804pub const ENETRESET: u32 = 102;
805pub const ECONNABORTED: u32 = 103;
806pub const ECONNRESET: u32 = 104;
807pub const ENOBUFS: u32 = 105;
808pub const EISCONN: u32 = 106;
809pub const ENOTCONN: u32 = 107;
810pub const ESHUTDOWN: u32 = 108;
811pub const ETOOMANYREFS: u32 = 109;
812pub const ETIMEDOUT: u32 = 110;
813pub const ECONNREFUSED: u32 = 111;
814pub const EHOSTDOWN: u32 = 112;
815pub const EHOSTUNREACH: u32 = 113;
816pub const EALREADY: u32 = 114;
817pub const EINPROGRESS: u32 = 115;
818pub const ESTALE: u32 = 116;
819pub const EUCLEAN: u32 = 117;
820pub const ENOTNAM: u32 = 118;
821pub const ENAVAIL: u32 = 119;
822pub const EISNAM: u32 = 120;
823pub const EREMOTEIO: u32 = 121;
824pub const EDQUOT: u32 = 122;
825pub const ENOMEDIUM: u32 = 123;
826pub const EMEDIUMTYPE: u32 = 124;
827pub const ECANCELED: u32 = 125;
828pub const ENOKEY: u32 = 126;
829pub const EKEYEXPIRED: u32 = 127;
830pub const EKEYREVOKED: u32 = 128;
831pub const EKEYREJECTED: u32 = 129;
832pub const EOWNERDEAD: u32 = 130;
833pub const ENOTRECOVERABLE: u32 = 131;
834pub const ERFKILL: u32 = 132;
835pub const EHWPOISON: u32 = 133;
836pub const ENOTSUP: u32 = 95;
837pub const G_TEST_OPTION_ISOLATE_DIRS: &[u8; 13] = b"isolate_dirs\0";
838pub const G_USEC_PER_SEC: u32 = 1000000;
839pub const G_URI_RESERVED_CHARS_GENERIC_DELIMITERS: &[u8; 8] = b":/?#[]@\0";
840pub const G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS: &[u8; 12] = b"!$&'()*+,;=\0";
841pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT: &[u8; 14] = b"!$&'()*+,;=:@\0";
842pub const G_URI_RESERVED_CHARS_ALLOWED_IN_PATH: &[u8; 15] = b"!$&'()*+,;=:@/\0";
843pub const G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO: &[u8; 13] = b"!$&'()*+,;=:\0";
844pub const G_ALLOC_ONLY: u32 = 1;
845pub const G_ALLOC_AND_FREE: u32 = 2;
846pub const G_ALLOCATOR_LIST: u32 = 1;
847pub const G_ALLOCATOR_SLIST: u32 = 2;
848pub const G_ALLOCATOR_NODE: u32 = 3;
849pub const _PTHREAD_H: u32 = 1;
850pub const _SCHED_H: u32 = 1;
851pub const _BITS_SCHED_H: u32 = 1;
852pub const SCHED_OTHER: u32 = 0;
853pub const SCHED_FIFO: u32 = 1;
854pub const SCHED_RR: u32 = 2;
855pub const _BITS_TYPES_STRUCT_SCHED_PARAM: u32 = 1;
856pub const _BITS_CPU_SET_H: u32 = 1;
857pub const __CPU_SETSIZE: u32 = 1024;
858pub const _BITS_SETJMP_H: u32 = 1;
859pub const __jmp_buf_tag_defined: u32 = 1;
860pub const PTHREAD_ONCE_INIT: u32 = 0;
861pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
862pub const WIRESHARK_VERSION_MAJOR: u32 = 4;
863pub const WIRESHARK_VERSION_MINOR: u32 = 0;
864pub const WIRESHARK_VERSION_MICRO: u32 = 7;
865pub const _STDIO_H: u32 = 1;
866pub const _____fpos_t_defined: u32 = 1;
867pub const ____mbstate_t_defined: u32 = 1;
868pub const _____fpos64_t_defined: u32 = 1;
869pub const ____FILE_defined: u32 = 1;
870pub const __FILE_defined: u32 = 1;
871pub const __struct_FILE_defined: u32 = 1;
872pub const _IO_EOF_SEEN: u32 = 16;
873pub const _IO_ERR_SEEN: u32 = 32;
874pub const _IO_USER_LOCK: u32 = 32768;
875pub const _IOFBF: u32 = 0;
876pub const _IOLBF: u32 = 1;
877pub const _IONBF: u32 = 2;
878pub const BUFSIZ: u32 = 8192;
879pub const EOF: i32 = -1;
880pub const SEEK_SET: u32 = 0;
881pub const SEEK_CUR: u32 = 1;
882pub const SEEK_END: u32 = 2;
883pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
884pub const _BITS_STDIO_LIM_H: u32 = 1;
885pub const L_tmpnam: u32 = 20;
886pub const TMP_MAX: u32 = 238328;
887pub const FILENAME_MAX: u32 = 4096;
888pub const L_ctermid: u32 = 9;
889pub const FOPEN_MAX: u32 = 16;
890pub const LOG_DOMAIN_MAIN: &[u8; 5] = b"Main\0";
891pub const LOG_DOMAIN_CAPTURE: &[u8; 8] = b"Capture\0";
892pub const LOG_DOMAIN_CAPCHILD: &[u8; 9] = b"Capchild\0";
893pub const LOG_DOMAIN_WIRETAP: &[u8; 8] = b"Wiretap\0";
894pub const LOG_DOMAIN_EPAN: &[u8; 5] = b"Epan\0";
895pub const LOG_DOMAIN_DFILTER: &[u8; 8] = b"DFilter\0";
896pub const LOG_DOMAIN_WSUTIL: &[u8; 7] = b"WSUtil\0";
897pub const LOG_DOMAIN_QTUI: &[u8; 4] = b"GUI\0";
898pub const LOG_DOMAIN_UAT: &[u8; 4] = b"UAT\0";
899pub const LOG_DOMAIN_EXTCAP: &[u8; 7] = b"Extcap\0";
900pub const _LOG_DOMAIN: &[u8; 1] = b"\0";
901pub const _LOG_DEBUG_ENABLED: u32 = 1;
902pub const LOG_ARGS_NOEXIT: i32 = -1;
903pub const _ASSERT_ENABLED: u32 = 1;
904pub const WMEM_TREE_STRING_NOCASE: u32 = 1;
905pub const IPv6_ADDR_SIZE: u32 = 16;
906pub const IPv6_HDR_SIZE: u32 = 40;
907pub const IPv6_FRAGMENT_HDR_SIZE: u32 = 8;
908pub const IP6F_OFF_MASK: u32 = 65528;
909pub const IP6F_RESERVED_MASK: u32 = 6;
910pub const IP6F_MORE_FRAG: u32 = 1;
911pub const OPT_EOFOPT: u32 = 0;
912pub const OPT_COMMENT: u32 = 1;
913pub const OPT_CUSTOM_STR_COPY: u32 = 2988;
914pub const OPT_CUSTOM_BIN_COPY: u32 = 2989;
915pub const OPT_CUSTOM_STR_NO_COPY: u32 = 19372;
916pub const OPT_CUSTOM_BIN_NO_COPY: u32 = 19373;
917pub const OPT_SHB_HARDWARE: u32 = 2;
918pub const OPT_SHB_OS: u32 = 3;
919pub const OPT_SHB_USERAPPL: u32 = 4;
920pub const OPT_IDB_NAME: u32 = 2;
921pub const OPT_IDB_DESCRIPTION: u32 = 3;
922pub const OPT_IDB_IP4ADDR: u32 = 4;
923pub const OPT_IDB_IP6ADDR: u32 = 5;
924pub const OPT_IDB_MACADDR: u32 = 6;
925pub const OPT_IDB_EUIADDR: u32 = 7;
926pub const OPT_IDB_SPEED: u32 = 8;
927pub const OPT_IDB_TSRESOL: u32 = 9;
928pub const OPT_IDB_TZONE: u32 = 10;
929pub const OPT_IDB_FILTER: u32 = 11;
930pub const OPT_IDB_OS: u32 = 12;
931pub const OPT_IDB_FCSLEN: u32 = 13;
932pub const OPT_IDB_TSOFFSET: u32 = 14;
933pub const OPT_IDB_HARDWARE: u32 = 15;
934pub const OPT_PKT_FLAGS: u32 = 2;
935pub const OPT_PKT_HASH: u32 = 3;
936pub const OPT_PKT_DROPCOUNT: u32 = 4;
937pub const OPT_PKT_PACKETID: u32 = 5;
938pub const OPT_PKT_QUEUE: u32 = 6;
939pub const OPT_PKT_VERDICT: u32 = 7;
940pub const OPT_NS_DNSNAME: u32 = 2;
941pub const OPT_NS_DNSIP4ADDR: u32 = 3;
942pub const OPT_NS_DNSIP6ADDR: u32 = 4;
943pub const OPT_ISB_STARTTIME: u32 = 2;
944pub const OPT_ISB_ENDTIME: u32 = 3;
945pub const OPT_ISB_IFRECV: u32 = 4;
946pub const OPT_ISB_IFDROP: u32 = 5;
947pub const OPT_ISB_FILTERACCEPT: u32 = 6;
948pub const OPT_ISB_OSDROP: u32 = 7;
949pub const OPT_ISB_USRDELIV: u32 = 8;
950pub const PEN_NFLX: u32 = 10949;
951pub const PEN_VCTR: u32 = 46254;
952pub const NFLX_OPT_TYPE_VERSION: u32 = 1;
953pub const NFLX_OPT_TYPE_TCPINFO: u32 = 2;
954pub const NFLX_OPT_TYPE_DUMPINFO: u32 = 4;
955pub const NFLX_OPT_TYPE_DUMPTIME: u32 = 5;
956pub const NFLX_OPT_TYPE_STACKNAME: u32 = 6;
957pub const NFLX_TLB_FLAG_RXBUF: u32 = 1;
958pub const NFLX_TLB_FLAG_TXBUF: u32 = 2;
959pub const NFLX_TLB_FLAG_HDR: u32 = 4;
960pub const NFLX_TLB_FLAG_VERBOSE: u32 = 8;
961pub const NFLX_TLB_FLAG_STACKINFO: u32 = 16;
962pub const NFLX_TLB_TF_REQ_SCALE: u32 = 32;
963pub const NFLX_TLB_TF_RCVD_SCALE: u32 = 64;
964pub const NFLX_TLB_TCPS_ESTABLISHED: u32 = 4;
965pub const GUID_LEN: u32 = 16;
966pub const WS_INET_ADDRSTRLEN: u32 = 16;
967pub const WS_INET6_ADDRSTRLEN: u32 = 46;
968pub const WTAP_ENCAP_PER_PACKET: i32 = -1;
969pub const WTAP_ENCAP_UNKNOWN: u32 = 0;
970pub const WTAP_ENCAP_ETHERNET: u32 = 1;
971pub const WTAP_ENCAP_TOKEN_RING: u32 = 2;
972pub const WTAP_ENCAP_SLIP: u32 = 3;
973pub const WTAP_ENCAP_PPP: u32 = 4;
974pub const WTAP_ENCAP_FDDI: u32 = 5;
975pub const WTAP_ENCAP_FDDI_BITSWAPPED: u32 = 6;
976pub const WTAP_ENCAP_RAW_IP: u32 = 7;
977pub const WTAP_ENCAP_ARCNET: u32 = 8;
978pub const WTAP_ENCAP_ARCNET_LINUX: u32 = 9;
979pub const WTAP_ENCAP_ATM_RFC1483: u32 = 10;
980pub const WTAP_ENCAP_LINUX_ATM_CLIP: u32 = 11;
981pub const WTAP_ENCAP_LAPB: u32 = 12;
982pub const WTAP_ENCAP_ATM_PDUS: u32 = 13;
983pub const WTAP_ENCAP_ATM_PDUS_UNTRUNCATED: u32 = 14;
984pub const WTAP_ENCAP_NULL: u32 = 15;
985pub const WTAP_ENCAP_ASCEND: u32 = 16;
986pub const WTAP_ENCAP_ISDN: u32 = 17;
987pub const WTAP_ENCAP_IP_OVER_FC: u32 = 18;
988pub const WTAP_ENCAP_PPP_WITH_PHDR: u32 = 19;
989pub const WTAP_ENCAP_IEEE_802_11: u32 = 20;
990pub const WTAP_ENCAP_IEEE_802_11_PRISM: u32 = 21;
991pub const WTAP_ENCAP_IEEE_802_11_WITH_RADIO: u32 = 22;
992pub const WTAP_ENCAP_IEEE_802_11_RADIOTAP: u32 = 23;
993pub const WTAP_ENCAP_IEEE_802_11_AVS: u32 = 24;
994pub const WTAP_ENCAP_SLL: u32 = 25;
995pub const WTAP_ENCAP_FRELAY: u32 = 26;
996pub const WTAP_ENCAP_FRELAY_WITH_PHDR: u32 = 27;
997pub const WTAP_ENCAP_CHDLC: u32 = 28;
998pub const WTAP_ENCAP_CISCO_IOS: u32 = 29;
999pub const WTAP_ENCAP_LOCALTALK: u32 = 30;
1000pub const WTAP_ENCAP_OLD_PFLOG: u32 = 31;
1001pub const WTAP_ENCAP_HHDLC: u32 = 32;
1002pub const WTAP_ENCAP_DOCSIS: u32 = 33;
1003pub const WTAP_ENCAP_COSINE: u32 = 34;
1004pub const WTAP_ENCAP_WFLEET_HDLC: u32 = 35;
1005pub const WTAP_ENCAP_SDLC: u32 = 36;
1006pub const WTAP_ENCAP_TZSP: u32 = 37;
1007pub const WTAP_ENCAP_ENC: u32 = 38;
1008pub const WTAP_ENCAP_PFLOG: u32 = 39;
1009pub const WTAP_ENCAP_CHDLC_WITH_PHDR: u32 = 40;
1010pub const WTAP_ENCAP_BLUETOOTH_H4: u32 = 41;
1011pub const WTAP_ENCAP_MTP2: u32 = 42;
1012pub const WTAP_ENCAP_MTP3: u32 = 43;
1013pub const WTAP_ENCAP_IRDA: u32 = 44;
1014pub const WTAP_ENCAP_USER0: u32 = 45;
1015pub const WTAP_ENCAP_USER1: u32 = 46;
1016pub const WTAP_ENCAP_USER2: u32 = 47;
1017pub const WTAP_ENCAP_USER3: u32 = 48;
1018pub const WTAP_ENCAP_USER4: u32 = 49;
1019pub const WTAP_ENCAP_USER5: u32 = 50;
1020pub const WTAP_ENCAP_USER6: u32 = 51;
1021pub const WTAP_ENCAP_USER7: u32 = 52;
1022pub const WTAP_ENCAP_USER8: u32 = 53;
1023pub const WTAP_ENCAP_USER9: u32 = 54;
1024pub const WTAP_ENCAP_USER10: u32 = 55;
1025pub const WTAP_ENCAP_USER11: u32 = 56;
1026pub const WTAP_ENCAP_USER12: u32 = 57;
1027pub const WTAP_ENCAP_USER13: u32 = 58;
1028pub const WTAP_ENCAP_USER14: u32 = 59;
1029pub const WTAP_ENCAP_USER15: u32 = 60;
1030pub const WTAP_ENCAP_SYMANTEC: u32 = 61;
1031pub const WTAP_ENCAP_APPLE_IP_OVER_IEEE1394: u32 = 62;
1032pub const WTAP_ENCAP_BACNET_MS_TP: u32 = 63;
1033pub const WTAP_ENCAP_NETTL_RAW_ICMP: u32 = 64;
1034pub const WTAP_ENCAP_NETTL_RAW_ICMPV6: u32 = 65;
1035pub const WTAP_ENCAP_GPRS_LLC: u32 = 66;
1036pub const WTAP_ENCAP_JUNIPER_ATM1: u32 = 67;
1037pub const WTAP_ENCAP_JUNIPER_ATM2: u32 = 68;
1038pub const WTAP_ENCAP_REDBACK: u32 = 69;
1039pub const WTAP_ENCAP_NETTL_RAW_IP: u32 = 70;
1040pub const WTAP_ENCAP_NETTL_ETHERNET: u32 = 71;
1041pub const WTAP_ENCAP_NETTL_TOKEN_RING: u32 = 72;
1042pub const WTAP_ENCAP_NETTL_FDDI: u32 = 73;
1043pub const WTAP_ENCAP_NETTL_UNKNOWN: u32 = 74;
1044pub const WTAP_ENCAP_MTP2_WITH_PHDR: u32 = 75;
1045pub const WTAP_ENCAP_JUNIPER_PPPOE: u32 = 76;
1046pub const WTAP_ENCAP_GCOM_TIE1: u32 = 77;
1047pub const WTAP_ENCAP_GCOM_SERIAL: u32 = 78;
1048pub const WTAP_ENCAP_NETTL_X25: u32 = 79;
1049pub const WTAP_ENCAP_K12: u32 = 80;
1050pub const WTAP_ENCAP_JUNIPER_MLPPP: u32 = 81;
1051pub const WTAP_ENCAP_JUNIPER_MLFR: u32 = 82;
1052pub const WTAP_ENCAP_JUNIPER_ETHER: u32 = 83;
1053pub const WTAP_ENCAP_JUNIPER_PPP: u32 = 84;
1054pub const WTAP_ENCAP_JUNIPER_FRELAY: u32 = 85;
1055pub const WTAP_ENCAP_JUNIPER_CHDLC: u32 = 86;
1056pub const WTAP_ENCAP_JUNIPER_GGSN: u32 = 87;
1057pub const WTAP_ENCAP_LINUX_LAPD: u32 = 88;
1058pub const WTAP_ENCAP_CATAPULT_DCT2000: u32 = 89;
1059pub const WTAP_ENCAP_BER: u32 = 90;
1060pub const WTAP_ENCAP_JUNIPER_VP: u32 = 91;
1061pub const WTAP_ENCAP_USB_FREEBSD: u32 = 92;
1062pub const WTAP_ENCAP_IEEE802_16_MAC_CPS: u32 = 93;
1063pub const WTAP_ENCAP_NETTL_RAW_TELNET: u32 = 94;
1064pub const WTAP_ENCAP_USB_LINUX: u32 = 95;
1065pub const WTAP_ENCAP_MPEG: u32 = 96;
1066pub const WTAP_ENCAP_PPI: u32 = 97;
1067pub const WTAP_ENCAP_ERF: u32 = 98;
1068pub const WTAP_ENCAP_BLUETOOTH_H4_WITH_PHDR: u32 = 99;
1069pub const WTAP_ENCAP_SITA: u32 = 100;
1070pub const WTAP_ENCAP_SCCP: u32 = 101;
1071pub const WTAP_ENCAP_BLUETOOTH_HCI: u32 = 102;
1072pub const WTAP_ENCAP_IPMB_KONTRON: u32 = 103;
1073pub const WTAP_ENCAP_IEEE802_15_4: u32 = 104;
1074pub const WTAP_ENCAP_X2E_XORAYA: u32 = 105;
1075pub const WTAP_ENCAP_FLEXRAY: u32 = 106;
1076pub const WTAP_ENCAP_LIN: u32 = 107;
1077pub const WTAP_ENCAP_MOST: u32 = 108;
1078pub const WTAP_ENCAP_CAN20B: u32 = 109;
1079pub const WTAP_ENCAP_LAYER1_EVENT: u32 = 110;
1080pub const WTAP_ENCAP_X2E_SERIAL: u32 = 111;
1081pub const WTAP_ENCAP_I2C_LINUX: u32 = 112;
1082pub const WTAP_ENCAP_IEEE802_15_4_NONASK_PHY: u32 = 113;
1083pub const WTAP_ENCAP_TNEF: u32 = 114;
1084pub const WTAP_ENCAP_USB_LINUX_MMAPPED: u32 = 115;
1085pub const WTAP_ENCAP_GSM_UM: u32 = 116;
1086pub const WTAP_ENCAP_DPNSS: u32 = 117;
1087pub const WTAP_ENCAP_PACKETLOGGER: u32 = 118;
1088pub const WTAP_ENCAP_NSTRACE_1_0: u32 = 119;
1089pub const WTAP_ENCAP_NSTRACE_2_0: u32 = 120;
1090pub const WTAP_ENCAP_FIBRE_CHANNEL_FC2: u32 = 121;
1091pub const WTAP_ENCAP_FIBRE_CHANNEL_FC2_WITH_FRAME_DELIMS: u32 = 122;
1092pub const WTAP_ENCAP_JPEG_JFIF: u32 = 123;
1093pub const WTAP_ENCAP_IPNET: u32 = 124;
1094pub const WTAP_ENCAP_SOCKETCAN: u32 = 125;
1095pub const WTAP_ENCAP_IEEE_802_11_NETMON: u32 = 126;
1096pub const WTAP_ENCAP_IEEE802_15_4_NOFCS: u32 = 127;
1097pub const WTAP_ENCAP_RAW_IPFIX: u32 = 128;
1098pub const WTAP_ENCAP_RAW_IP4: u32 = 129;
1099pub const WTAP_ENCAP_RAW_IP6: u32 = 130;
1100pub const WTAP_ENCAP_LAPD: u32 = 131;
1101pub const WTAP_ENCAP_DVBCI: u32 = 132;
1102pub const WTAP_ENCAP_MUX27010: u32 = 133;
1103pub const WTAP_ENCAP_MIME: u32 = 134;
1104pub const WTAP_ENCAP_NETANALYZER: u32 = 135;
1105pub const WTAP_ENCAP_NETANALYZER_TRANSPARENT: u32 = 136;
1106pub const WTAP_ENCAP_IP_OVER_IB_SNOOP: u32 = 137;
1107pub const WTAP_ENCAP_MPEG_2_TS: u32 = 138;
1108pub const WTAP_ENCAP_PPP_ETHER: u32 = 139;
1109pub const WTAP_ENCAP_NFC_LLCP: u32 = 140;
1110pub const WTAP_ENCAP_NFLOG: u32 = 141;
1111pub const WTAP_ENCAP_V5_EF: u32 = 142;
1112pub const WTAP_ENCAP_BACNET_MS_TP_WITH_PHDR: u32 = 143;
1113pub const WTAP_ENCAP_IXVERIWAVE: u32 = 144;
1114pub const WTAP_ENCAP_SDH: u32 = 145;
1115pub const WTAP_ENCAP_DBUS: u32 = 146;
1116pub const WTAP_ENCAP_AX25_KISS: u32 = 147;
1117pub const WTAP_ENCAP_AX25: u32 = 148;
1118pub const WTAP_ENCAP_SCTP: u32 = 149;
1119pub const WTAP_ENCAP_INFINIBAND: u32 = 150;
1120pub const WTAP_ENCAP_JUNIPER_SVCS: u32 = 151;
1121pub const WTAP_ENCAP_USBPCAP: u32 = 152;
1122pub const WTAP_ENCAP_RTAC_SERIAL: u32 = 153;
1123pub const WTAP_ENCAP_BLUETOOTH_LE_LL: u32 = 154;
1124pub const WTAP_ENCAP_WIRESHARK_UPPER_PDU: u32 = 155;
1125pub const WTAP_ENCAP_STANAG_4607: u32 = 156;
1126pub const WTAP_ENCAP_STANAG_5066_D_PDU: u32 = 157;
1127pub const WTAP_ENCAP_NETLINK: u32 = 158;
1128pub const WTAP_ENCAP_BLUETOOTH_LINUX_MONITOR: u32 = 159;
1129pub const WTAP_ENCAP_BLUETOOTH_BREDR_BB: u32 = 160;
1130pub const WTAP_ENCAP_BLUETOOTH_LE_LL_WITH_PHDR: u32 = 161;
1131pub const WTAP_ENCAP_NSTRACE_3_0: u32 = 162;
1132pub const WTAP_ENCAP_LOGCAT: u32 = 163;
1133pub const WTAP_ENCAP_LOGCAT_BRIEF: u32 = 164;
1134pub const WTAP_ENCAP_LOGCAT_PROCESS: u32 = 165;
1135pub const WTAP_ENCAP_LOGCAT_TAG: u32 = 166;
1136pub const WTAP_ENCAP_LOGCAT_THREAD: u32 = 167;
1137pub const WTAP_ENCAP_LOGCAT_TIME: u32 = 168;
1138pub const WTAP_ENCAP_LOGCAT_THREADTIME: u32 = 169;
1139pub const WTAP_ENCAP_LOGCAT_LONG: u32 = 170;
1140pub const WTAP_ENCAP_PKTAP: u32 = 171;
1141pub const WTAP_ENCAP_EPON: u32 = 172;
1142pub const WTAP_ENCAP_IPMI_TRACE: u32 = 173;
1143pub const WTAP_ENCAP_LOOP: u32 = 174;
1144pub const WTAP_ENCAP_JSON: u32 = 175;
1145pub const WTAP_ENCAP_NSTRACE_3_5: u32 = 176;
1146pub const WTAP_ENCAP_ISO14443: u32 = 177;
1147pub const WTAP_ENCAP_GFP_T: u32 = 178;
1148pub const WTAP_ENCAP_GFP_F: u32 = 179;
1149pub const WTAP_ENCAP_IP_OVER_IB_PCAP: u32 = 180;
1150pub const WTAP_ENCAP_JUNIPER_VN: u32 = 181;
1151pub const WTAP_ENCAP_USB_DARWIN: u32 = 182;
1152pub const WTAP_ENCAP_LORATAP: u32 = 183;
1153pub const WTAP_ENCAP_3MB_ETHERNET: u32 = 184;
1154pub const WTAP_ENCAP_VSOCK: u32 = 185;
1155pub const WTAP_ENCAP_NORDIC_BLE: u32 = 186;
1156pub const WTAP_ENCAP_NETMON_NET_NETEVENT: u32 = 187;
1157pub const WTAP_ENCAP_NETMON_HEADER: u32 = 188;
1158pub const WTAP_ENCAP_NETMON_NET_FILTER: u32 = 189;
1159pub const WTAP_ENCAP_NETMON_NETWORK_INFO_EX: u32 = 190;
1160pub const WTAP_ENCAP_MA_WFP_CAPTURE_V4: u32 = 191;
1161pub const WTAP_ENCAP_MA_WFP_CAPTURE_V6: u32 = 192;
1162pub const WTAP_ENCAP_MA_WFP_CAPTURE_2V4: u32 = 193;
1163pub const WTAP_ENCAP_MA_WFP_CAPTURE_2V6: u32 = 194;
1164pub const WTAP_ENCAP_MA_WFP_CAPTURE_AUTH_V4: u32 = 195;
1165pub const WTAP_ENCAP_MA_WFP_CAPTURE_AUTH_V6: u32 = 196;
1166pub const WTAP_ENCAP_JUNIPER_ST: u32 = 197;
1167pub const WTAP_ENCAP_ETHERNET_MPACKET: u32 = 198;
1168pub const WTAP_ENCAP_DOCSIS31_XRA31: u32 = 199;
1169pub const WTAP_ENCAP_DPAUXMON: u32 = 200;
1170pub const WTAP_ENCAP_RUBY_MARSHAL: u32 = 201;
1171pub const WTAP_ENCAP_RFC7468: u32 = 202;
1172pub const WTAP_ENCAP_SYSTEMD_JOURNAL: u32 = 203;
1173pub const WTAP_ENCAP_EBHSCR: u32 = 204;
1174pub const WTAP_ENCAP_VPP: u32 = 205;
1175pub const WTAP_ENCAP_IEEE802_15_4_TAP: u32 = 206;
1176pub const WTAP_ENCAP_LOG_3GPP: u32 = 207;
1177pub const WTAP_ENCAP_USB_2_0: u32 = 208;
1178pub const WTAP_ENCAP_MP4: u32 = 209;
1179pub const WTAP_ENCAP_SLL2: u32 = 210;
1180pub const WTAP_ENCAP_ZWAVE_SERIAL: u32 = 211;
1181pub const WTAP_ENCAP_ETW: u32 = 212;
1182pub const WTAP_ENCAP_ERI_ENB_LOG: u32 = 213;
1183pub const WTAP_ENCAP_ZBNCP: u32 = 214;
1184pub const WTAP_ENCAP_USB_2_0_LOW_SPEED: u32 = 215;
1185pub const WTAP_ENCAP_USB_2_0_FULL_SPEED: u32 = 216;
1186pub const WTAP_ENCAP_USB_2_0_HIGH_SPEED: u32 = 217;
1187pub const WTAP_FILE_TYPE_SUBTYPE_UNKNOWN: i32 = -1;
1188pub const WTAP_TSPREC_UNKNOWN: i32 = -2;
1189pub const WTAP_TSPREC_PER_PACKET: i32 = -1;
1190pub const WTAP_TSPREC_SEC: u32 = 0;
1191pub const WTAP_TSPREC_DSEC: u32 = 1;
1192pub const WTAP_TSPREC_CSEC: u32 = 2;
1193pub const WTAP_TSPREC_MSEC: u32 = 3;
1194pub const WTAP_TSPREC_USEC: u32 = 6;
1195pub const WTAP_TSPREC_NSEC: u32 = 9;
1196pub const WTAP_MAX_PACKET_SIZE_STANDARD: u32 = 262144;
1197pub const WTAP_MAX_PACKET_SIZE_USBPCAP: u32 = 134217728;
1198pub const WTAP_MAX_PACKET_SIZE_EBHSCR: u32 = 8388608;
1199pub const WTAP_MAX_PACKET_SIZE_DBUS: u32 = 134217728;
1200pub const FROM_DCE: u32 = 128;
1201pub const ATM_RAW_CELL: u32 = 1;
1202pub const ATM_NO_HEC: u32 = 2;
1203pub const ATM_AAL2_NOPHDR: u32 = 4;
1204pub const ATM_REASSEMBLY_ERROR: u32 = 8;
1205pub const AAL_UNKNOWN: u32 = 0;
1206pub const AAL_1: u32 = 1;
1207pub const AAL_2: u32 = 2;
1208pub const AAL_3_4: u32 = 3;
1209pub const AAL_5: u32 = 4;
1210pub const AAL_USER: u32 = 5;
1211pub const AAL_SIGNALLING: u32 = 6;
1212pub const AAL_OAMCELL: u32 = 7;
1213pub const TRAF_UNKNOWN: u32 = 0;
1214pub const TRAF_LLCMX: u32 = 1;
1215pub const TRAF_VCMX: u32 = 2;
1216pub const TRAF_LANE: u32 = 3;
1217pub const TRAF_ILMI: u32 = 4;
1218pub const TRAF_FR: u32 = 5;
1219pub const TRAF_SPANS: u32 = 6;
1220pub const TRAF_IPSILON: u32 = 7;
1221pub const TRAF_UMTS_FP: u32 = 8;
1222pub const TRAF_GPRS_NS: u32 = 9;
1223pub const TRAF_SSCOP: u32 = 10;
1224pub const TRAF_ST_UNKNOWN: u32 = 0;
1225pub const TRAF_ST_VCMX_802_3_FCS: u32 = 1;
1226pub const TRAF_ST_VCMX_802_4_FCS: u32 = 2;
1227pub const TRAF_ST_VCMX_802_5_FCS: u32 = 3;
1228pub const TRAF_ST_VCMX_FDDI_FCS: u32 = 4;
1229pub const TRAF_ST_VCMX_802_6_FCS: u32 = 5;
1230pub const TRAF_ST_VCMX_802_3: u32 = 7;
1231pub const TRAF_ST_VCMX_802_4: u32 = 8;
1232pub const TRAF_ST_VCMX_802_5: u32 = 9;
1233pub const TRAF_ST_VCMX_FDDI: u32 = 10;
1234pub const TRAF_ST_VCMX_802_6: u32 = 11;
1235pub const TRAF_ST_VCMX_FRAGMENTS: u32 = 12;
1236pub const TRAF_ST_VCMX_BPDU: u32 = 13;
1237pub const TRAF_ST_LANE_LE_CTRL: u32 = 1;
1238pub const TRAF_ST_LANE_802_3: u32 = 2;
1239pub const TRAF_ST_LANE_802_5: u32 = 3;
1240pub const TRAF_ST_LANE_802_3_MC: u32 = 4;
1241pub const TRAF_ST_LANE_802_5_MC: u32 = 5;
1242pub const TRAF_ST_IPSILON_FT0: u32 = 1;
1243pub const TRAF_ST_IPSILON_FT1: u32 = 2;
1244pub const TRAF_ST_IPSILON_FT2: u32 = 3;
1245pub const ASCEND_MAX_STR_LEN: u32 = 64;
1246pub const ASCEND_PFX_WDS_X: u32 = 1;
1247pub const ASCEND_PFX_WDS_R: u32 = 2;
1248pub const ASCEND_PFX_WDD: u32 = 3;
1249pub const ASCEND_PFX_ISDN_X: u32 = 4;
1250pub const ASCEND_PFX_ISDN_R: u32 = 5;
1251pub const ASCEND_PFX_ETHER: u32 = 6;
1252pub const PHDR_802_11_PHY_UNKNOWN: u32 = 0;
1253pub const PHDR_802_11_PHY_11_FHSS: u32 = 1;
1254pub const PHDR_802_11_PHY_11_IR: u32 = 2;
1255pub const PHDR_802_11_PHY_11_DSSS: u32 = 3;
1256pub const PHDR_802_11_PHY_11B: u32 = 4;
1257pub const PHDR_802_11_PHY_11A: u32 = 5;
1258pub const PHDR_802_11_PHY_11G: u32 = 6;
1259pub const PHDR_802_11_PHY_11N: u32 = 7;
1260pub const PHDR_802_11_PHY_11AC: u32 = 8;
1261pub const PHDR_802_11_PHY_11AD: u32 = 9;
1262pub const PHDR_802_11_PHY_11AH: u32 = 10;
1263pub const PHDR_802_11_PHY_11AX: u32 = 11;
1264pub const PHDR_802_11_PHY_11BE: u32 = 12;
1265pub const PHDR_802_11A_CHANNEL_TYPE_NORMAL: u32 = 0;
1266pub const PHDR_802_11A_CHANNEL_TYPE_HALF_CLOCKED: u32 = 1;
1267pub const PHDR_802_11A_CHANNEL_TYPE_QUARTER_CLOCKED: u32 = 2;
1268pub const PHDR_802_11A_TURBO_TYPE_NORMAL: u32 = 0;
1269pub const PHDR_802_11A_TURBO_TYPE_TURBO: u32 = 1;
1270pub const PHDR_802_11A_TURBO_TYPE_DYNAMIC_TURBO: u32 = 2;
1271pub const PHDR_802_11A_TURBO_TYPE_STATIC_TURBO: u32 = 3;
1272pub const PHDR_802_11G_MODE_NORMAL: u32 = 0;
1273pub const PHDR_802_11G_MODE_SUPER_G: u32 = 1;
1274pub const PHDR_802_11_BANDWIDTH_20_MHZ: u32 = 0;
1275pub const PHDR_802_11_BANDWIDTH_40_MHZ: u32 = 1;
1276pub const PHDR_802_11_BANDWIDTH_20_20L: u32 = 2;
1277pub const PHDR_802_11_BANDWIDTH_20_20U: u32 = 3;
1278pub const PHDR_802_11_BANDWIDTH_80_MHZ: u32 = 4;
1279pub const PHDR_802_11_BANDWIDTH_40_40L: u32 = 5;
1280pub const PHDR_802_11_BANDWIDTH_40_40U: u32 = 6;
1281pub const PHDR_802_11_BANDWIDTH_20LL: u32 = 7;
1282pub const PHDR_802_11_BANDWIDTH_20LU: u32 = 8;
1283pub const PHDR_802_11_BANDWIDTH_20UL: u32 = 9;
1284pub const PHDR_802_11_BANDWIDTH_20UU: u32 = 10;
1285pub const PHDR_802_11_BANDWIDTH_160_MHZ: u32 = 11;
1286pub const PHDR_802_11_BANDWIDTH_80_80L: u32 = 12;
1287pub const PHDR_802_11_BANDWIDTH_80_80U: u32 = 13;
1288pub const PHDR_802_11_BANDWIDTH_40LL: u32 = 14;
1289pub const PHDR_802_11_BANDWIDTH_40LU: u32 = 15;
1290pub const PHDR_802_11_BANDWIDTH_40UL: u32 = 16;
1291pub const PHDR_802_11_BANDWIDTH_40UU: u32 = 17;
1292pub const PHDR_802_11_BANDWIDTH_20LLL: u32 = 18;
1293pub const PHDR_802_11_BANDWIDTH_20LLU: u32 = 19;
1294pub const PHDR_802_11_BANDWIDTH_20LUL: u32 = 20;
1295pub const PHDR_802_11_BANDWIDTH_20LUU: u32 = 21;
1296pub const PHDR_802_11_BANDWIDTH_20ULL: u32 = 22;
1297pub const PHDR_802_11_BANDWIDTH_20ULU: u32 = 23;
1298pub const PHDR_802_11_BANDWIDTH_20UUL: u32 = 24;
1299pub const PHDR_802_11_BANDWIDTH_20UUU: u32 = 25;
1300pub const PHDR_802_11AD_MIN_FREQUENCY: u32 = 57000;
1301pub const PHDR_802_11AD_MAX_FREQUENCY: u32 = 71000;
1302pub const PHDR_802_11_LAST_PART_OF_A_MPDU: u32 = 1;
1303pub const PHDR_802_11_A_MPDU_DELIM_CRC_ERROR: u32 = 2;
1304pub const PHDR_802_11_SOUNDING_PSDU: u32 = 0;
1305pub const PHDR_802_11_DATA_NOT_CAPTURED: u32 = 1;
1306pub const PHDR_802_11_0_LENGTH_PSDU_S1G_NDP: u32 = 2;
1307pub const PHDR_802_11_0_LENGTH_PSDU_VENDOR_SPECIFIC: u32 = 255;
1308pub const COSINE_MAX_IF_NAME_LEN: u32 = 128;
1309pub const COSINE_ENCAP_TEST: u32 = 1;
1310pub const COSINE_ENCAP_PPoATM: u32 = 2;
1311pub const COSINE_ENCAP_PPoFR: u32 = 3;
1312pub const COSINE_ENCAP_ATM: u32 = 4;
1313pub const COSINE_ENCAP_FR: u32 = 5;
1314pub const COSINE_ENCAP_HDLC: u32 = 6;
1315pub const COSINE_ENCAP_PPP: u32 = 7;
1316pub const COSINE_ENCAP_ETH: u32 = 8;
1317pub const COSINE_ENCAP_UNKNOWN: u32 = 99;
1318pub const COSINE_DIR_TX: u32 = 1;
1319pub const COSINE_DIR_RX: u32 = 2;
1320pub const IRDA_INCOMING: u32 = 0;
1321pub const IRDA_OUTGOING: u32 = 4;
1322pub const IRDA_LOG_MESSAGE: u32 = 256;
1323pub const IRDA_MISSED_MSG: u32 = 257;
1324pub const IRDA_CLASS_FRAME: u32 = 0;
1325pub const IRDA_CLASS_LOG: u32 = 256;
1326pub const IRDA_CLASS_MASK: u32 = 65280;
1327pub const MTP2_ANNEX_A_NOT_USED: u32 = 0;
1328pub const MTP2_ANNEX_A_USED: u32 = 1;
1329pub const MTP2_ANNEX_A_USED_UNKNOWN: u32 = 2;
1330pub const K12_PORT_DS0S: u32 = 65544;
1331pub const K12_PORT_DS1: u32 = 1048584;
1332pub const K12_PORT_ATMPVC: u32 = 16908288;
1333pub const MAX_ERF_EHDR: u32 = 16;
1334pub const SITA_FRAME_DIR_TXED: u32 = 0;
1335pub const SITA_FRAME_DIR_RXED: u32 = 1;
1336pub const SITA_FRAME_DIR: u32 = 1;
1337pub const SITA_ERROR_NO_BUFFER: u32 = 128;
1338pub const SITA_SIG_DSR: u32 = 1;
1339pub const SITA_SIG_DTR: u32 = 2;
1340pub const SITA_SIG_CTS: u32 = 4;
1341pub const SITA_SIG_RTS: u32 = 8;
1342pub const SITA_SIG_DCD: u32 = 16;
1343pub const SITA_SIG_UNDEF1: u32 = 32;
1344pub const SITA_SIG_UNDEF2: u32 = 64;
1345pub const SITA_SIG_UNDEF3: u32 = 128;
1346pub const SITA_ERROR_TX_UNDERRUN: u32 = 1;
1347pub const SITA_ERROR_TX_CTS_LOST: u32 = 2;
1348pub const SITA_ERROR_TX_UART_ERROR: u32 = 4;
1349pub const SITA_ERROR_TX_RETX_LIMIT: u32 = 8;
1350pub const SITA_ERROR_TX_UNDEF1: u32 = 16;
1351pub const SITA_ERROR_TX_UNDEF2: u32 = 32;
1352pub const SITA_ERROR_TX_UNDEF3: u32 = 64;
1353pub const SITA_ERROR_TX_UNDEF4: u32 = 128;
1354pub const SITA_ERROR_RX_FRAMING: u32 = 1;
1355pub const SITA_ERROR_RX_PARITY: u32 = 2;
1356pub const SITA_ERROR_RX_COLLISION: u32 = 4;
1357pub const SITA_ERROR_RX_FRAME_LONG: u32 = 8;
1358pub const SITA_ERROR_RX_FRAME_SHORT: u32 = 16;
1359pub const SITA_ERROR_RX_UNDEF1: u32 = 32;
1360pub const SITA_ERROR_RX_UNDEF2: u32 = 64;
1361pub const SITA_ERROR_RX_UNDEF3: u32 = 128;
1362pub const SITA_ERROR_RX_NONOCTET_ALIGNED: u32 = 1;
1363pub const SITA_ERROR_RX_ABORT: u32 = 2;
1364pub const SITA_ERROR_RX_CD_LOST: u32 = 4;
1365pub const SITA_ERROR_RX_DPLL: u32 = 8;
1366pub const SITA_ERROR_RX_OVERRUN: u32 = 16;
1367pub const SITA_ERROR_RX_FRAME_LEN_VIOL: u32 = 32;
1368pub const SITA_ERROR_RX_CRC: u32 = 64;
1369pub const SITA_ERROR_RX_BREAK: u32 = 128;
1370pub const SITA_PROTO_UNUSED: u32 = 0;
1371pub const SITA_PROTO_BOP_LAPB: u32 = 1;
1372pub const SITA_PROTO_ETHERNET: u32 = 2;
1373pub const SITA_PROTO_ASYNC_INTIO: u32 = 3;
1374pub const SITA_PROTO_ASYNC_BLKIO: u32 = 4;
1375pub const SITA_PROTO_ALC: u32 = 5;
1376pub const SITA_PROTO_UTS: u32 = 6;
1377pub const SITA_PROTO_PPP_HDLC: u32 = 7;
1378pub const SITA_PROTO_SDLC: u32 = 8;
1379pub const SITA_PROTO_TOKENRING: u32 = 9;
1380pub const SITA_PROTO_I2C: u32 = 16;
1381pub const SITA_PROTO_DPM_LINK: u32 = 17;
1382pub const SITA_PROTO_BOP_FRL: u32 = 18;
1383pub const BTHCI_CHANNEL_COMMAND: u32 = 1;
1384pub const BTHCI_CHANNEL_ACL: u32 = 2;
1385pub const BTHCI_CHANNEL_SCO: u32 = 3;
1386pub const BTHCI_CHANNEL_EVENT: u32 = 4;
1387pub const BTHCI_CHANNEL_ISO: u32 = 5;
1388pub const GSM_UM_CHANNEL_UNKNOWN: u32 = 0;
1389pub const GSM_UM_CHANNEL_BCCH: u32 = 1;
1390pub const GSM_UM_CHANNEL_SDCCH: u32 = 2;
1391pub const GSM_UM_CHANNEL_SACCH: u32 = 3;
1392pub const GSM_UM_CHANNEL_FACCH: u32 = 4;
1393pub const GSM_UM_CHANNEL_CCCH: u32 = 5;
1394pub const GSM_UM_CHANNEL_RACH: u32 = 6;
1395pub const GSM_UM_CHANNEL_AGCH: u32 = 7;
1396pub const GSM_UM_CHANNEL_PCH: u32 = 8;
1397pub const LLCP_PHDR_FLAG_SENT: u32 = 0;
1398pub const REC_TYPE_PACKET: u32 = 0;
1399pub const REC_TYPE_FT_SPECIFIC_EVENT: u32 = 1;
1400pub const REC_TYPE_FT_SPECIFIC_REPORT: u32 = 2;
1401pub const REC_TYPE_SYSCALL: u32 = 3;
1402pub const REC_TYPE_SYSTEMD_JOURNAL_EXPORT: u32 = 4;
1403pub const REC_TYPE_CUSTOM_BLOCK: u32 = 5;
1404pub const PACK_FLAGS_DIRECTION_MASK: u32 = 3;
1405pub const PACK_FLAGS_DIRECTION_SHIFT: u32 = 0;
1406pub const PACK_FLAGS_DIRECTION_UNKNOWN: u32 = 0;
1407pub const PACK_FLAGS_DIRECTION_INBOUND: u32 = 1;
1408pub const PACK_FLAGS_DIRECTION_OUTBOUND: u32 = 2;
1409pub const PACK_FLAGS_RECEPTION_TYPE_MASK: u32 = 28;
1410pub const PACK_FLAGS_RECEPTION_TYPE_SHIFT: u32 = 2;
1411pub const PACK_FLAGS_RECEPTION_TYPE_UNSPECIFIED: u32 = 0;
1412pub const PACK_FLAGS_RECEPTION_TYPE_UNICAST: u32 = 1;
1413pub const PACK_FLAGS_RECEPTION_TYPE_MULTICAST: u32 = 2;
1414pub const PACK_FLAGS_RECEPTION_TYPE_BROADCAST: u32 = 3;
1415pub const PACK_FLAGS_RECEPTION_TYPE_PROMISCUOUS: u32 = 4;
1416pub const PACK_FLAGS_FCS_LENGTH_MASK: u32 = 480;
1417pub const PACK_FLAGS_FCS_LENGTH_SHIFT: u32 = 5;
1418pub const PACK_FLAGS_RESERVED_MASK: u32 = 65024;
1419pub const PACK_FLAGS_CRC_ERROR: u32 = 16777216;
1420pub const PACK_FLAGS_PACKET_TOO_LONG: u32 = 33554432;
1421pub const PACK_FLAGS_PACKET_TOO_SHORT: u32 = 67108864;
1422pub const PACK_FLAGS_WRONG_INTER_FRAME_GAP: u32 = 134217728;
1423pub const PACK_FLAGS_UNALIGNED_FRAME: u32 = 268435456;
1424pub const PACK_FLAGS_START_FRAME_DELIMITER_ERROR: u32 = 536870912;
1425pub const PACK_FLAGS_PREAMBLE_ERROR: u32 = 1073741824;
1426pub const PACK_FLAGS_SYMBOL_ERROR: u32 = 2147483648;
1427pub const BBLOG_TYPE_EVENT_BLOCK: u32 = 1;
1428pub const BBLOG_TYPE_SKIPPED_BLOCK: u32 = 2;
1429pub const WTAP_HAS_TS: u32 = 1;
1430pub const WTAP_HAS_CAP_LEN: u32 = 2;
1431pub const WTAP_HAS_INTERFACE_ID: u32 = 4;
1432pub const WTAP_HAS_SECTION_NUMBER: u32 = 8;
1433pub const MAXNAMELEN: u32 = 64;
1434pub const WTAP_COMMENT_PER_SECTION: u32 = 1;
1435pub const WTAP_COMMENT_PER_INTERFACE: u32 = 2;
1436pub const WTAP_COMMENT_PER_PACKET: u32 = 4;
1437pub const WTAP_TYPE_AUTO: u32 = 0;
1438pub const WTAP_ERR_NOT_REGULAR_FILE: i32 = -1;
1439pub const WTAP_ERR_RANDOM_OPEN_PIPE: i32 = -2;
1440pub const WTAP_ERR_FILE_UNKNOWN_FORMAT: i32 = -3;
1441pub const WTAP_ERR_UNSUPPORTED: i32 = -4;
1442pub const WTAP_ERR_CANT_WRITE_TO_PIPE: i32 = -5;
1443pub const WTAP_ERR_CANT_OPEN: i32 = -6;
1444pub const WTAP_ERR_UNWRITABLE_FILE_TYPE: i32 = -7;
1445pub const WTAP_ERR_UNWRITABLE_ENCAP: i32 = -8;
1446pub const WTAP_ERR_ENCAP_PER_PACKET_UNSUPPORTED: i32 = -9;
1447pub const WTAP_ERR_CANT_WRITE: i32 = -10;
1448pub const WTAP_ERR_CANT_CLOSE: i32 = -11;
1449pub const WTAP_ERR_SHORT_READ: i32 = -12;
1450pub const WTAP_ERR_BAD_FILE: i32 = -13;
1451pub const WTAP_ERR_SHORT_WRITE: i32 = -14;
1452pub const WTAP_ERR_UNC_OVERFLOW: i32 = -15;
1453pub const WTAP_ERR_RANDOM_OPEN_STDIN: i32 = -16;
1454pub const WTAP_ERR_COMPRESSION_NOT_SUPPORTED: i32 = -17;
1455pub const WTAP_ERR_CANT_SEEK: i32 = -18;
1456pub const WTAP_ERR_CANT_SEEK_COMPRESSED: i32 = -19;
1457pub const WTAP_ERR_DECOMPRESS: i32 = -20;
1458pub const WTAP_ERR_INTERNAL: i32 = -21;
1459pub const WTAP_ERR_PACKET_TOO_LARGE: i32 = -22;
1460pub const WTAP_ERR_CHECK_WSLUA: i32 = -23;
1461pub const WTAP_ERR_UNWRITABLE_REC_TYPE: i32 = -24;
1462pub const WTAP_ERR_UNWRITABLE_REC_DATA: i32 = -25;
1463pub const WTAP_ERR_DECOMPRESSION_NOT_SUPPORTED: i32 = -26;
1464pub const P2P_DIR_UNKNOWN: i32 = -1;
1465pub const P2P_DIR_SENT: u32 = 0;
1466pub const P2P_DIR_RECV: u32 = 1;
1467pub const LINK_DIR_UNKNOWN: i32 = -1;
1468pub const P2P_DIR_UL: u32 = 0;
1469pub const P2P_DIR_DL: u32 = 1;
1470pub const PINFO_HAS_TS: u32 = 1;
1471pub const DESEGMENT_ONE_MORE_SEGMENT: u32 = 268435455;
1472pub const DESEGMENT_UNTIL_FIN: u32 = 268435454;
1473pub const WS_REGEX_CASELESS: u32 = 1;
1474pub const WS_REGEX_NEVER_UTF: u32 = 2;
1475pub const FT_ETHER_LEN: u32 = 6;
1476pub const FT_GUID_LEN: u32 = 16;
1477pub const FT_IPv4_LEN: u32 = 4;
1478pub const FT_IPv6_LEN: u32 = 16;
1479pub const FT_IPXNET_LEN: u32 = 4;
1480pub const FT_EUI64_LEN: u32 = 8;
1481pub const FT_AX25_ADDR_LEN: u32 = 7;
1482pub const FT_VINES_ADDR_LEN: u32 = 6;
1483pub const FT_FCWWN_LEN: u32 = 8;
1484pub const FT_VARINT_MAX_LEN: u32 = 10;
1485pub const FT_TRUE: u32 = 1;
1486pub const FT_FALSE: u32 = 0;
1487pub const ITEM_LABEL_LENGTH: u32 = 240;
1488pub const ITEM_LABEL_UNKNOWN_STR: &[u8; 8] = b"Unknown\0";
1489pub const ENC_BIG_ENDIAN: u32 = 0;
1490pub const ENC_LITTLE_ENDIAN: u32 = 2147483648;
1491pub const ENC_HOST_ENDIAN: u32 = 2147483648;
1492pub const ENC_ANTI_HOST_ENDIAN: u32 = 0;
1493pub const ENC_NA: u32 = 0;
1494pub const ENC_CHARENCODING_MASK: u32 = 65534;
1495pub const ENC_ASCII: u32 = 0;
1496pub const ENC_ISO_646_IRV: u32 = 0;
1497pub const ENC_UTF_8: u32 = 2;
1498pub const ENC_UTF_16: u32 = 4;
1499pub const ENC_UCS_2: u32 = 6;
1500pub const ENC_UCS_4: u32 = 8;
1501pub const ENC_ISO_8859_1: u32 = 10;
1502pub const ENC_ISO_8859_2: u32 = 12;
1503pub const ENC_ISO_8859_3: u32 = 14;
1504pub const ENC_ISO_8859_4: u32 = 16;
1505pub const ENC_ISO_8859_5: u32 = 18;
1506pub const ENC_ISO_8859_6: u32 = 20;
1507pub const ENC_ISO_8859_7: u32 = 22;
1508pub const ENC_ISO_8859_8: u32 = 24;
1509pub const ENC_ISO_8859_9: u32 = 26;
1510pub const ENC_ISO_8859_10: u32 = 28;
1511pub const ENC_ISO_8859_11: u32 = 30;
1512pub const ENC_ISO_8859_13: u32 = 34;
1513pub const ENC_ISO_8859_14: u32 = 36;
1514pub const ENC_ISO_8859_15: u32 = 38;
1515pub const ENC_ISO_8859_16: u32 = 40;
1516pub const ENC_WINDOWS_1250: u32 = 42;
1517pub const ENC_3GPP_TS_23_038_7BITS_PACKED: u32 = 44;
1518pub const ENC_3GPP_TS_23_038_7BITS: u32 = 44;
1519pub const ENC_EBCDIC: u32 = 46;
1520pub const ENC_MAC_ROMAN: u32 = 48;
1521pub const ENC_CP437: u32 = 50;
1522pub const ENC_ASCII_7BITS: u32 = 52;
1523pub const ENC_T61: u32 = 54;
1524pub const ENC_EBCDIC_CP037: u32 = 56;
1525pub const ENC_WINDOWS_1252: u32 = 58;
1526pub const ENC_WINDOWS_1251: u32 = 60;
1527pub const ENC_CP855: u32 = 62;
1528pub const ENC_CP866: u32 = 64;
1529pub const ENC_ISO_646_BASIC: u32 = 66;
1530pub const ENC_BCD_DIGITS_0_9: u32 = 68;
1531pub const ENC_KEYPAD_ABC_TBCD: u32 = 70;
1532pub const ENC_KEYPAD_BC_TBCD: u32 = 72;
1533pub const ENC_3GPP_TS_23_038_7BITS_UNPACKED: u32 = 76;
1534pub const ENC_ETSI_TS_102_221_ANNEX_A: u32 = 78;
1535pub const ENC_GB18030: u32 = 80;
1536pub const ENC_EUC_KR: u32 = 82;
1537pub const ENC_APN_STR: u32 = 84;
1538pub const ENC_ZIGBEE: u32 = 1073741824;
1539pub const ENC_STR_NUM: u32 = 16777216;
1540pub const ENC_STR_HEX: u32 = 33554432;
1541pub const ENC_STRING: u32 = 50331648;
1542pub const ENC_STR_MASK: u32 = 65534;
1543pub const ENC_NUM_PREF: u32 = 2097152;
1544pub const ENC_SEP_NONE: u32 = 65536;
1545pub const ENC_SEP_COLON: u32 = 131072;
1546pub const ENC_SEP_DASH: u32 = 262144;
1547pub const ENC_SEP_DOT: u32 = 524288;
1548pub const ENC_SEP_SPACE: u32 = 1048576;
1549pub const ENC_SEP_MASK: u32 = 2031616;
1550pub const ENC_BCD_ODD_NUM_DIG: u32 = 65536;
1551pub const ENC_BCD_SKIP_FIRST: u32 = 131072;
1552pub const ENC_TIME_SECS_NSECS: u32 = 0;
1553pub const ENC_TIME_TIMESPEC: u32 = 0;
1554pub const ENC_TIME_NTP: u32 = 2;
1555pub const ENC_TIME_TOD: u32 = 4;
1556pub const ENC_TIME_RTPS: u32 = 8;
1557pub const ENC_TIME_NTP_BASE_ZERO: u32 = 8;
1558pub const ENC_TIME_SECS_USECS: u32 = 16;
1559pub const ENC_TIME_TIMEVAL: u32 = 16;
1560pub const ENC_TIME_SECS: u32 = 18;
1561pub const ENC_TIME_MSECS: u32 = 20;
1562pub const ENC_TIME_SECS_NTP: u32 = 24;
1563pub const ENC_TIME_RFC_3971: u32 = 32;
1564pub const ENC_TIME_MSEC_NTP: u32 = 34;
1565pub const ENC_TIME_MIP6: u32 = 36;
1566pub const ENC_TIME_CLASSIC_MAC_OS_SECS: u32 = 38;
1567pub const ENC_TIME_NSECS: u32 = 40;
1568pub const ENC_TIME_USECS: u32 = 48;
1569pub const ENC_ISO_8601_DATE: u32 = 65536;
1570pub const ENC_ISO_8601_TIME: u32 = 131072;
1571pub const ENC_ISO_8601_DATE_TIME: u32 = 196608;
1572pub const ENC_RFC_822: u32 = 262144;
1573pub const ENC_RFC_1123: u32 = 524288;
1574pub const ENC_ISO_8601_DATE_TIME_BASIC: u32 = 1048576;
1575pub const ENC_STR_TIME_MASK: u32 = 2031616;
1576pub const ENC_VARINT_PROTOBUF: u32 = 2;
1577pub const ENC_VARINT_QUIC: u32 = 4;
1578pub const ENC_VARINT_ZIGZAG: u32 = 8;
1579pub const ENC_VARINT_MASK: u32 = 14;
1580pub const FIELD_DISPLAY_E_MASK: u32 = 255;
1581pub const BASE_RANGE_STRING: u32 = 256;
1582pub const BASE_EXT_STRING: u32 = 512;
1583pub const BASE_VAL64_STRING: u32 = 1024;
1584pub const BASE_ALLOW_ZERO: u32 = 2048;
1585pub const BASE_UNIT_STRING: u32 = 4096;
1586pub const BASE_NO_DISPLAY_VALUE: u32 = 8192;
1587pub const BASE_PROTOCOL_INFO: u32 = 16384;
1588pub const BASE_SPECIAL_VALS: u32 = 32768;
1589pub const BASE_SHOW_ASCII_PRINTABLE: u32 = 65536;
1590pub const BASE_SHOW_UTF_8_PRINTABLE: u32 = 131072;
1591pub const FI_HIDDEN: u32 = 1;
1592pub const FI_GENERATED: u32 = 2;
1593pub const FI_URL: u32 = 4;
1594pub const FI_LITTLE_ENDIAN: u32 = 8;
1595pub const FI_BIG_ENDIAN: u32 = 16;
1596pub const FI_VARINT: u32 = 16384;
1597pub const PI_SEVERITY_MASK: u32 = 15728640;
1598pub const PI_COMMENT: u32 = 1048576;
1599pub const PI_CHAT: u32 = 2097152;
1600pub const PI_NOTE: u32 = 4194304;
1601pub const PI_WARN: u32 = 6291456;
1602pub const PI_ERROR: u32 = 8388608;
1603pub const PI_GROUP_MASK: u32 = 4278190080;
1604pub const PI_CHECKSUM: u32 = 16777216;
1605pub const PI_SEQUENCE: u32 = 33554432;
1606pub const PI_RESPONSE_CODE: u32 = 50331648;
1607pub const PI_REQUEST_CODE: u32 = 67108864;
1608pub const PI_UNDECODED: u32 = 83886080;
1609pub const PI_REASSEMBLE: u32 = 100663296;
1610pub const PI_MALFORMED: u32 = 117440512;
1611pub const PI_DEBUG: u32 = 134217728;
1612pub const PI_PROTOCOL: u32 = 150994944;
1613pub const PI_SECURITY: u32 = 167772160;
1614pub const PI_COMMENTS_GROUP: u32 = 184549376;
1615pub const PI_DECRYPTION: u32 = 201326592;
1616pub const PI_ASSUMPTION: u32 = 218103808;
1617pub const PI_DEPRECATED: u32 = 234881024;
1618pub const BMT_NO_FLAGS: u32 = 0;
1619pub const BMT_NO_APPEND: u32 = 1;
1620pub const BMT_NO_INT: u32 = 2;
1621pub const BMT_NO_FALSE: u32 = 4;
1622pub const BMT_NO_TFS: u32 = 8;
1623pub const PROTO_CHECKSUM_NO_FLAGS: u32 = 0;
1624pub const PROTO_CHECKSUM_VERIFY: u32 = 1;
1625pub const PROTO_CHECKSUM_GENERATED: u32 = 2;
1626pub const PROTO_CHECKSUM_IN_CKSUM: u32 = 4;
1627pub const PROTO_CHECKSUM_ZERO: u32 = 8;
1628pub const PROTO_CHECKSUM_NOT_PRESENT: u32 = 16;
1629pub const MAX_SCTP_PORT: u32 = 65535;
1630pub const MAX_TCP_PORT: u32 = 65535;
1631pub const MAX_UDP_PORT: u32 = 65535;
1632pub const MAX_DCCP_PORT: u32 = 65535;
1633pub const DEF_WIDTH: u32 = 750;
1634pub const DEF_HEIGHT: u32 = 550;
1635pub const MAX_VAL_LEN: u32 = 1024;
1636pub const TAP_UPDATE_DEFAULT_INTERVAL: u32 = 3000;
1637pub const ST_DEF_BURSTRES: u32 = 5;
1638pub const ST_DEF_BURSTLEN: u32 = 100;
1639pub const ST_MAX_BURSTRES: u32 = 600000;
1640pub const ST_MAX_BURSTBUCKETS: u32 = 100;
1641pub const DEF_GUI_DECIMAL_PLACES1: u32 = 2;
1642pub const DEF_GUI_DECIMAL_PLACES2: u32 = 4;
1643pub const DEF_GUI_DECIMAL_PLACES3: u32 = 6;
1644pub const FO_STYLE_LAST_OPENED: u32 = 0;
1645pub const FO_STYLE_SPECIFIED: u32 = 1;
1646pub const TB_STYLE_ICONS: u32 = 0;
1647pub const TB_STYLE_TEXT: u32 = 1;
1648pub const TB_STYLE_BOTH: u32 = 2;
1649pub const COLOR_STYLE_DEFAULT: u32 = 0;
1650pub const COLOR_STYLE_FLAT: u32 = 1;
1651pub const COLOR_STYLE_GRADIENT: u32 = 2;
1652pub const COLOR_STYLE_ALPHA: f64 = 0.25;
1653pub const COL_MAX_LEN: u32 = 2048;
1654pub const COL_MAX_INFO_LEN: u32 = 4096;
1655pub const COL_CUSTOM_PRIME_REGEX: &[u8; 40] = b" *([^ \\|]+) *(?:(?:\\|\\|)|(?:or)| *$){1}\0";
1656pub const MAX_DECODE_AS_PROMPT_LEN: u32 = 200;
1657pub const DECODE_AS_ENTRY: &[u8; 16] = b"decode_as_entry\0";
1658pub const DECODE_AS_NONE: &[u8; 7] = b"(none)\0";
1659pub const DECODE_AS_ENTRIES_FILE_NAME: &[u8; 18] = b"decode_as_entries\0";
1660pub type __u_char = ::std::os::raw::c_uchar;
1661pub type __u_short = ::std::os::raw::c_ushort;
1662pub type __u_int = ::std::os::raw::c_uint;
1663pub type __u_long = ::std::os::raw::c_ulong;
1664pub type __int8_t = ::std::os::raw::c_schar;
1665pub type __uint8_t = ::std::os::raw::c_uchar;
1666pub type __int16_t = ::std::os::raw::c_short;
1667pub type __uint16_t = ::std::os::raw::c_ushort;
1668pub type __int32_t = ::std::os::raw::c_int;
1669pub type __uint32_t = ::std::os::raw::c_uint;
1670pub type __int64_t = ::std::os::raw::c_long;
1671pub type __uint64_t = ::std::os::raw::c_ulong;
1672pub type __int_least8_t = __int8_t;
1673pub type __uint_least8_t = __uint8_t;
1674pub type __int_least16_t = __int16_t;
1675pub type __uint_least16_t = __uint16_t;
1676pub type __int_least32_t = __int32_t;
1677pub type __uint_least32_t = __uint32_t;
1678pub type __int_least64_t = __int64_t;
1679pub type __uint_least64_t = __uint64_t;
1680pub type __quad_t = ::std::os::raw::c_long;
1681pub type __u_quad_t = ::std::os::raw::c_ulong;
1682pub type __intmax_t = ::std::os::raw::c_long;
1683pub type __uintmax_t = ::std::os::raw::c_ulong;
1684pub type __dev_t = ::std::os::raw::c_ulong;
1685pub type __uid_t = ::std::os::raw::c_uint;
1686pub type __gid_t = ::std::os::raw::c_uint;
1687pub type __ino_t = ::std::os::raw::c_ulong;
1688pub type __ino64_t = ::std::os::raw::c_ulong;
1689pub type __mode_t = ::std::os::raw::c_uint;
1690pub type __nlink_t = ::std::os::raw::c_ulong;
1691pub type __off_t = ::std::os::raw::c_long;
1692pub type __off64_t = ::std::os::raw::c_long;
1693pub type __pid_t = ::std::os::raw::c_int;
1694#[repr(C)]
1695#[derive(Debug, Copy, Clone)]
1696pub struct __fsid_t {
1697    pub __val: [::std::os::raw::c_int; 2usize],
1698}
1699#[test]
1700fn bindgen_test_layout___fsid_t() {
1701    const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
1702    let ptr = UNINIT.as_ptr();
1703    assert_eq!(
1704        ::std::mem::size_of::<__fsid_t>(),
1705        8usize,
1706        concat!("Size of: ", stringify!(__fsid_t))
1707    );
1708    assert_eq!(
1709        ::std::mem::align_of::<__fsid_t>(),
1710        4usize,
1711        concat!("Alignment of ", stringify!(__fsid_t))
1712    );
1713    assert_eq!(
1714        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
1715        0usize,
1716        concat!(
1717            "Offset of field: ",
1718            stringify!(__fsid_t),
1719            "::",
1720            stringify!(__val)
1721        )
1722    );
1723}
1724pub type __clock_t = ::std::os::raw::c_long;
1725pub type __rlim_t = ::std::os::raw::c_ulong;
1726pub type __rlim64_t = ::std::os::raw::c_ulong;
1727pub type __id_t = ::std::os::raw::c_uint;
1728pub type __time_t = ::std::os::raw::c_long;
1729pub type __useconds_t = ::std::os::raw::c_uint;
1730pub type __suseconds_t = ::std::os::raw::c_long;
1731pub type __suseconds64_t = ::std::os::raw::c_long;
1732pub type __daddr_t = ::std::os::raw::c_int;
1733pub type __key_t = ::std::os::raw::c_int;
1734pub type __clockid_t = ::std::os::raw::c_int;
1735pub type __timer_t = *mut ::std::os::raw::c_void;
1736pub type __blksize_t = ::std::os::raw::c_long;
1737pub type __blkcnt_t = ::std::os::raw::c_long;
1738pub type __blkcnt64_t = ::std::os::raw::c_long;
1739pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
1740pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
1741pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
1742pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
1743pub type __fsword_t = ::std::os::raw::c_long;
1744pub type __ssize_t = ::std::os::raw::c_long;
1745pub type __syscall_slong_t = ::std::os::raw::c_long;
1746pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
1747pub type __loff_t = __off64_t;
1748pub type __caddr_t = *mut ::std::os::raw::c_char;
1749pub type __intptr_t = ::std::os::raw::c_long;
1750pub type __socklen_t = ::std::os::raw::c_uint;
1751pub type __sig_atomic_t = ::std::os::raw::c_int;
1752pub type int_least8_t = __int_least8_t;
1753pub type int_least16_t = __int_least16_t;
1754pub type int_least32_t = __int_least32_t;
1755pub type int_least64_t = __int_least64_t;
1756pub type uint_least8_t = __uint_least8_t;
1757pub type uint_least16_t = __uint_least16_t;
1758pub type uint_least32_t = __uint_least32_t;
1759pub type uint_least64_t = __uint_least64_t;
1760pub type int_fast8_t = ::std::os::raw::c_schar;
1761pub type int_fast16_t = ::std::os::raw::c_long;
1762pub type int_fast32_t = ::std::os::raw::c_long;
1763pub type int_fast64_t = ::std::os::raw::c_long;
1764pub type uint_fast8_t = ::std::os::raw::c_uchar;
1765pub type uint_fast16_t = ::std::os::raw::c_ulong;
1766pub type uint_fast32_t = ::std::os::raw::c_ulong;
1767pub type uint_fast64_t = ::std::os::raw::c_ulong;
1768pub type intmax_t = __intmax_t;
1769pub type uintmax_t = __uintmax_t;
1770pub type __gwchar_t = ::std::os::raw::c_int;
1771#[repr(C)]
1772#[derive(Debug, Copy, Clone)]
1773pub struct imaxdiv_t {
1774    pub quot: ::std::os::raw::c_long,
1775    pub rem: ::std::os::raw::c_long,
1776}
1777#[test]
1778fn bindgen_test_layout_imaxdiv_t() {
1779    const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
1780    let ptr = UNINIT.as_ptr();
1781    assert_eq!(
1782        ::std::mem::size_of::<imaxdiv_t>(),
1783        16usize,
1784        concat!("Size of: ", stringify!(imaxdiv_t))
1785    );
1786    assert_eq!(
1787        ::std::mem::align_of::<imaxdiv_t>(),
1788        8usize,
1789        concat!("Alignment of ", stringify!(imaxdiv_t))
1790    );
1791    assert_eq!(
1792        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
1793        0usize,
1794        concat!(
1795            "Offset of field: ",
1796            stringify!(imaxdiv_t),
1797            "::",
1798            stringify!(quot)
1799        )
1800    );
1801    assert_eq!(
1802        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
1803        8usize,
1804        concat!(
1805            "Offset of field: ",
1806            stringify!(imaxdiv_t),
1807            "::",
1808            stringify!(rem)
1809        )
1810    );
1811}
1812extern "C" {
1813    pub fn imaxabs(__n: intmax_t) -> intmax_t;
1814}
1815extern "C" {
1816    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
1817}
1818extern "C" {
1819    pub fn strtoimax(
1820        __nptr: *const ::std::os::raw::c_char,
1821        __endptr: *mut *mut ::std::os::raw::c_char,
1822        __base: ::std::os::raw::c_int,
1823    ) -> intmax_t;
1824}
1825extern "C" {
1826    pub fn strtoumax(
1827        __nptr: *const ::std::os::raw::c_char,
1828        __endptr: *mut *mut ::std::os::raw::c_char,
1829        __base: ::std::os::raw::c_int,
1830    ) -> uintmax_t;
1831}
1832extern "C" {
1833    pub fn wcstoimax(
1834        __nptr: *const __gwchar_t,
1835        __endptr: *mut *mut __gwchar_t,
1836        __base: ::std::os::raw::c_int,
1837    ) -> intmax_t;
1838}
1839extern "C" {
1840    pub fn wcstoumax(
1841        __nptr: *const __gwchar_t,
1842        __endptr: *mut *mut __gwchar_t,
1843        __base: ::std::os::raw::c_int,
1844    ) -> uintmax_t;
1845}
1846extern "C" {
1847    pub fn memcpy(
1848        __dest: *mut ::std::os::raw::c_void,
1849        __src: *const ::std::os::raw::c_void,
1850        __n: ::std::os::raw::c_ulong,
1851    ) -> *mut ::std::os::raw::c_void;
1852}
1853extern "C" {
1854    pub fn memmove(
1855        __dest: *mut ::std::os::raw::c_void,
1856        __src: *const ::std::os::raw::c_void,
1857        __n: ::std::os::raw::c_ulong,
1858    ) -> *mut ::std::os::raw::c_void;
1859}
1860extern "C" {
1861    pub fn memccpy(
1862        __dest: *mut ::std::os::raw::c_void,
1863        __src: *const ::std::os::raw::c_void,
1864        __c: ::std::os::raw::c_int,
1865        __n: ::std::os::raw::c_ulong,
1866    ) -> *mut ::std::os::raw::c_void;
1867}
1868extern "C" {
1869    pub fn memset(
1870        __s: *mut ::std::os::raw::c_void,
1871        __c: ::std::os::raw::c_int,
1872        __n: ::std::os::raw::c_ulong,
1873    ) -> *mut ::std::os::raw::c_void;
1874}
1875extern "C" {
1876    pub fn memcmp(
1877        __s1: *const ::std::os::raw::c_void,
1878        __s2: *const ::std::os::raw::c_void,
1879        __n: ::std::os::raw::c_ulong,
1880    ) -> ::std::os::raw::c_int;
1881}
1882extern "C" {
1883    pub fn __memcmpeq(
1884        __s1: *const ::std::os::raw::c_void,
1885        __s2: *const ::std::os::raw::c_void,
1886        __n: usize,
1887    ) -> ::std::os::raw::c_int;
1888}
1889extern "C" {
1890    pub fn memchr(
1891        __s: *const ::std::os::raw::c_void,
1892        __c: ::std::os::raw::c_int,
1893        __n: ::std::os::raw::c_ulong,
1894    ) -> *mut ::std::os::raw::c_void;
1895}
1896extern "C" {
1897    pub fn strcpy(
1898        __dest: *mut ::std::os::raw::c_char,
1899        __src: *const ::std::os::raw::c_char,
1900    ) -> *mut ::std::os::raw::c_char;
1901}
1902extern "C" {
1903    pub fn strncpy(
1904        __dest: *mut ::std::os::raw::c_char,
1905        __src: *const ::std::os::raw::c_char,
1906        __n: ::std::os::raw::c_ulong,
1907    ) -> *mut ::std::os::raw::c_char;
1908}
1909extern "C" {
1910    pub fn strcat(
1911        __dest: *mut ::std::os::raw::c_char,
1912        __src: *const ::std::os::raw::c_char,
1913    ) -> *mut ::std::os::raw::c_char;
1914}
1915extern "C" {
1916    pub fn strncat(
1917        __dest: *mut ::std::os::raw::c_char,
1918        __src: *const ::std::os::raw::c_char,
1919        __n: ::std::os::raw::c_ulong,
1920    ) -> *mut ::std::os::raw::c_char;
1921}
1922extern "C" {
1923    pub fn strcmp(
1924        __s1: *const ::std::os::raw::c_char,
1925        __s2: *const ::std::os::raw::c_char,
1926    ) -> ::std::os::raw::c_int;
1927}
1928extern "C" {
1929    pub fn strncmp(
1930        __s1: *const ::std::os::raw::c_char,
1931        __s2: *const ::std::os::raw::c_char,
1932        __n: ::std::os::raw::c_ulong,
1933    ) -> ::std::os::raw::c_int;
1934}
1935extern "C" {
1936    pub fn strcoll(
1937        __s1: *const ::std::os::raw::c_char,
1938        __s2: *const ::std::os::raw::c_char,
1939    ) -> ::std::os::raw::c_int;
1940}
1941extern "C" {
1942    pub fn strxfrm(
1943        __dest: *mut ::std::os::raw::c_char,
1944        __src: *const ::std::os::raw::c_char,
1945        __n: ::std::os::raw::c_ulong,
1946    ) -> ::std::os::raw::c_ulong;
1947}
1948#[repr(C)]
1949#[derive(Debug, Copy, Clone)]
1950pub struct __locale_struct {
1951    pub __locales: [*mut __locale_data; 13usize],
1952    pub __ctype_b: *const ::std::os::raw::c_ushort,
1953    pub __ctype_tolower: *const ::std::os::raw::c_int,
1954    pub __ctype_toupper: *const ::std::os::raw::c_int,
1955    pub __names: [*const ::std::os::raw::c_char; 13usize],
1956}
1957#[test]
1958fn bindgen_test_layout___locale_struct() {
1959    const UNINIT: ::std::mem::MaybeUninit<__locale_struct> = ::std::mem::MaybeUninit::uninit();
1960    let ptr = UNINIT.as_ptr();
1961    assert_eq!(
1962        ::std::mem::size_of::<__locale_struct>(),
1963        232usize,
1964        concat!("Size of: ", stringify!(__locale_struct))
1965    );
1966    assert_eq!(
1967        ::std::mem::align_of::<__locale_struct>(),
1968        8usize,
1969        concat!("Alignment of ", stringify!(__locale_struct))
1970    );
1971    assert_eq!(
1972        unsafe { ::std::ptr::addr_of!((*ptr).__locales) as usize - ptr as usize },
1973        0usize,
1974        concat!(
1975            "Offset of field: ",
1976            stringify!(__locale_struct),
1977            "::",
1978            stringify!(__locales)
1979        )
1980    );
1981    assert_eq!(
1982        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_b) as usize - ptr as usize },
1983        104usize,
1984        concat!(
1985            "Offset of field: ",
1986            stringify!(__locale_struct),
1987            "::",
1988            stringify!(__ctype_b)
1989        )
1990    );
1991    assert_eq!(
1992        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_tolower) as usize - ptr as usize },
1993        112usize,
1994        concat!(
1995            "Offset of field: ",
1996            stringify!(__locale_struct),
1997            "::",
1998            stringify!(__ctype_tolower)
1999        )
2000    );
2001    assert_eq!(
2002        unsafe { ::std::ptr::addr_of!((*ptr).__ctype_toupper) as usize - ptr as usize },
2003        120usize,
2004        concat!(
2005            "Offset of field: ",
2006            stringify!(__locale_struct),
2007            "::",
2008            stringify!(__ctype_toupper)
2009        )
2010    );
2011    assert_eq!(
2012        unsafe { ::std::ptr::addr_of!((*ptr).__names) as usize - ptr as usize },
2013        128usize,
2014        concat!(
2015            "Offset of field: ",
2016            stringify!(__locale_struct),
2017            "::",
2018            stringify!(__names)
2019        )
2020    );
2021}
2022pub type __locale_t = *mut __locale_struct;
2023pub type locale_t = __locale_t;
2024extern "C" {
2025    pub fn strcoll_l(
2026        __s1: *const ::std::os::raw::c_char,
2027        __s2: *const ::std::os::raw::c_char,
2028        __l: locale_t,
2029    ) -> ::std::os::raw::c_int;
2030}
2031extern "C" {
2032    pub fn strxfrm_l(
2033        __dest: *mut ::std::os::raw::c_char,
2034        __src: *const ::std::os::raw::c_char,
2035        __n: usize,
2036        __l: locale_t,
2037    ) -> usize;
2038}
2039extern "C" {
2040    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
2041}
2042extern "C" {
2043    pub fn strndup(
2044        __string: *const ::std::os::raw::c_char,
2045        __n: ::std::os::raw::c_ulong,
2046    ) -> *mut ::std::os::raw::c_char;
2047}
2048extern "C" {
2049    pub fn strchr(
2050        __s: *const ::std::os::raw::c_char,
2051        __c: ::std::os::raw::c_int,
2052    ) -> *mut ::std::os::raw::c_char;
2053}
2054extern "C" {
2055    pub fn strrchr(
2056        __s: *const ::std::os::raw::c_char,
2057        __c: ::std::os::raw::c_int,
2058    ) -> *mut ::std::os::raw::c_char;
2059}
2060extern "C" {
2061    pub fn strcspn(
2062        __s: *const ::std::os::raw::c_char,
2063        __reject: *const ::std::os::raw::c_char,
2064    ) -> ::std::os::raw::c_ulong;
2065}
2066extern "C" {
2067    pub fn strspn(
2068        __s: *const ::std::os::raw::c_char,
2069        __accept: *const ::std::os::raw::c_char,
2070    ) -> ::std::os::raw::c_ulong;
2071}
2072extern "C" {
2073    pub fn strpbrk(
2074        __s: *const ::std::os::raw::c_char,
2075        __accept: *const ::std::os::raw::c_char,
2076    ) -> *mut ::std::os::raw::c_char;
2077}
2078extern "C" {
2079    pub fn strstr(
2080        __haystack: *const ::std::os::raw::c_char,
2081        __needle: *const ::std::os::raw::c_char,
2082    ) -> *mut ::std::os::raw::c_char;
2083}
2084extern "C" {
2085    pub fn strtok(
2086        __s: *mut ::std::os::raw::c_char,
2087        __delim: *const ::std::os::raw::c_char,
2088    ) -> *mut ::std::os::raw::c_char;
2089}
2090extern "C" {
2091    pub fn __strtok_r(
2092        __s: *mut ::std::os::raw::c_char,
2093        __delim: *const ::std::os::raw::c_char,
2094        __save_ptr: *mut *mut ::std::os::raw::c_char,
2095    ) -> *mut ::std::os::raw::c_char;
2096}
2097extern "C" {
2098    pub fn strtok_r(
2099        __s: *mut ::std::os::raw::c_char,
2100        __delim: *const ::std::os::raw::c_char,
2101        __save_ptr: *mut *mut ::std::os::raw::c_char,
2102    ) -> *mut ::std::os::raw::c_char;
2103}
2104extern "C" {
2105    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
2106}
2107extern "C" {
2108    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
2109}
2110extern "C" {
2111    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2112}
2113extern "C" {
2114    #[link_name = "\u{1}__xpg_strerror_r"]
2115    pub fn strerror_r(
2116        __errnum: ::std::os::raw::c_int,
2117        __buf: *mut ::std::os::raw::c_char,
2118        __buflen: usize,
2119    ) -> ::std::os::raw::c_int;
2120}
2121extern "C" {
2122    pub fn strerror_l(
2123        __errnum: ::std::os::raw::c_int,
2124        __l: locale_t,
2125    ) -> *mut ::std::os::raw::c_char;
2126}
2127extern "C" {
2128    pub fn bcmp(
2129        __s1: *const ::std::os::raw::c_void,
2130        __s2: *const ::std::os::raw::c_void,
2131        __n: ::std::os::raw::c_ulong,
2132    ) -> ::std::os::raw::c_int;
2133}
2134extern "C" {
2135    pub fn bcopy(
2136        __src: *const ::std::os::raw::c_void,
2137        __dest: *mut ::std::os::raw::c_void,
2138        __n: usize,
2139    );
2140}
2141extern "C" {
2142    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
2143}
2144extern "C" {
2145    pub fn index(
2146        __s: *const ::std::os::raw::c_char,
2147        __c: ::std::os::raw::c_int,
2148    ) -> *mut ::std::os::raw::c_char;
2149}
2150extern "C" {
2151    pub fn rindex(
2152        __s: *const ::std::os::raw::c_char,
2153        __c: ::std::os::raw::c_int,
2154    ) -> *mut ::std::os::raw::c_char;
2155}
2156extern "C" {
2157    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2158}
2159extern "C" {
2160    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
2161}
2162extern "C" {
2163    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
2164}
2165extern "C" {
2166    pub fn strcasecmp(
2167        __s1: *const ::std::os::raw::c_char,
2168        __s2: *const ::std::os::raw::c_char,
2169    ) -> ::std::os::raw::c_int;
2170}
2171extern "C" {
2172    pub fn strncasecmp(
2173        __s1: *const ::std::os::raw::c_char,
2174        __s2: *const ::std::os::raw::c_char,
2175        __n: ::std::os::raw::c_ulong,
2176    ) -> ::std::os::raw::c_int;
2177}
2178extern "C" {
2179    pub fn strcasecmp_l(
2180        __s1: *const ::std::os::raw::c_char,
2181        __s2: *const ::std::os::raw::c_char,
2182        __loc: locale_t,
2183    ) -> ::std::os::raw::c_int;
2184}
2185extern "C" {
2186    pub fn strncasecmp_l(
2187        __s1: *const ::std::os::raw::c_char,
2188        __s2: *const ::std::os::raw::c_char,
2189        __n: usize,
2190        __loc: locale_t,
2191    ) -> ::std::os::raw::c_int;
2192}
2193extern "C" {
2194    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
2195}
2196extern "C" {
2197    pub fn strsep(
2198        __stringp: *mut *mut ::std::os::raw::c_char,
2199        __delim: *const ::std::os::raw::c_char,
2200    ) -> *mut ::std::os::raw::c_char;
2201}
2202extern "C" {
2203    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
2204}
2205extern "C" {
2206    pub fn __stpcpy(
2207        __dest: *mut ::std::os::raw::c_char,
2208        __src: *const ::std::os::raw::c_char,
2209    ) -> *mut ::std::os::raw::c_char;
2210}
2211extern "C" {
2212    pub fn stpcpy(
2213        __dest: *mut ::std::os::raw::c_char,
2214        __src: *const ::std::os::raw::c_char,
2215    ) -> *mut ::std::os::raw::c_char;
2216}
2217extern "C" {
2218    pub fn __stpncpy(
2219        __dest: *mut ::std::os::raw::c_char,
2220        __src: *const ::std::os::raw::c_char,
2221        __n: usize,
2222    ) -> *mut ::std::os::raw::c_char;
2223}
2224extern "C" {
2225    pub fn stpncpy(
2226        __dest: *mut ::std::os::raw::c_char,
2227        __src: *const ::std::os::raw::c_char,
2228        __n: ::std::os::raw::c_ulong,
2229    ) -> *mut ::std::os::raw::c_char;
2230}
2231pub type wchar_t = ::std::os::raw::c_int;
2232#[repr(C)]
2233#[repr(align(16))]
2234#[derive(Debug, Copy, Clone)]
2235pub struct max_align_t {
2236    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
2237    pub __bindgen_padding_0: u64,
2238    pub __clang_max_align_nonce2: u128,
2239}
2240#[test]
2241fn bindgen_test_layout_max_align_t() {
2242    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
2243    let ptr = UNINIT.as_ptr();
2244    assert_eq!(
2245        ::std::mem::size_of::<max_align_t>(),
2246        32usize,
2247        concat!("Size of: ", stringify!(max_align_t))
2248    );
2249    assert_eq!(
2250        ::std::mem::align_of::<max_align_t>(),
2251        16usize,
2252        concat!("Alignment of ", stringify!(max_align_t))
2253    );
2254    assert_eq!(
2255        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
2256        0usize,
2257        concat!(
2258            "Offset of field: ",
2259            stringify!(max_align_t),
2260            "::",
2261            stringify!(__clang_max_align_nonce1)
2262        )
2263    );
2264    assert_eq!(
2265        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
2266        16usize,
2267        concat!(
2268            "Offset of field: ",
2269            stringify!(max_align_t),
2270            "::",
2271            stringify!(__clang_max_align_nonce2)
2272        )
2273    );
2274}
2275pub type gint8 = ::std::os::raw::c_schar;
2276pub type guint8 = ::std::os::raw::c_uchar;
2277pub type gint16 = ::std::os::raw::c_short;
2278pub type guint16 = ::std::os::raw::c_ushort;
2279pub type gint32 = ::std::os::raw::c_int;
2280pub type guint32 = ::std::os::raw::c_uint;
2281pub type gint64 = ::std::os::raw::c_long;
2282pub type guint64 = ::std::os::raw::c_ulong;
2283pub type gssize = ::std::os::raw::c_long;
2284pub type gsize = ::std::os::raw::c_ulong;
2285pub type goffset = gint64;
2286pub type gintptr = ::std::os::raw::c_long;
2287pub type guintptr = ::std::os::raw::c_ulong;
2288pub type GPid = ::std::os::raw::c_int;
2289pub type clock_t = __clock_t;
2290pub type time_t = __time_t;
2291#[repr(C)]
2292#[derive(Debug, Copy, Clone)]
2293pub struct tm {
2294    pub tm_sec: ::std::os::raw::c_int,
2295    pub tm_min: ::std::os::raw::c_int,
2296    pub tm_hour: ::std::os::raw::c_int,
2297    pub tm_mday: ::std::os::raw::c_int,
2298    pub tm_mon: ::std::os::raw::c_int,
2299    pub tm_year: ::std::os::raw::c_int,
2300    pub tm_wday: ::std::os::raw::c_int,
2301    pub tm_yday: ::std::os::raw::c_int,
2302    pub tm_isdst: ::std::os::raw::c_int,
2303    pub tm_gmtoff: ::std::os::raw::c_long,
2304    pub tm_zone: *const ::std::os::raw::c_char,
2305}
2306#[test]
2307fn bindgen_test_layout_tm() {
2308    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
2309    let ptr = UNINIT.as_ptr();
2310    assert_eq!(
2311        ::std::mem::size_of::<tm>(),
2312        56usize,
2313        concat!("Size of: ", stringify!(tm))
2314    );
2315    assert_eq!(
2316        ::std::mem::align_of::<tm>(),
2317        8usize,
2318        concat!("Alignment of ", stringify!(tm))
2319    );
2320    assert_eq!(
2321        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
2322        0usize,
2323        concat!(
2324            "Offset of field: ",
2325            stringify!(tm),
2326            "::",
2327            stringify!(tm_sec)
2328        )
2329    );
2330    assert_eq!(
2331        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
2332        4usize,
2333        concat!(
2334            "Offset of field: ",
2335            stringify!(tm),
2336            "::",
2337            stringify!(tm_min)
2338        )
2339    );
2340    assert_eq!(
2341        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
2342        8usize,
2343        concat!(
2344            "Offset of field: ",
2345            stringify!(tm),
2346            "::",
2347            stringify!(tm_hour)
2348        )
2349    );
2350    assert_eq!(
2351        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
2352        12usize,
2353        concat!(
2354            "Offset of field: ",
2355            stringify!(tm),
2356            "::",
2357            stringify!(tm_mday)
2358        )
2359    );
2360    assert_eq!(
2361        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
2362        16usize,
2363        concat!(
2364            "Offset of field: ",
2365            stringify!(tm),
2366            "::",
2367            stringify!(tm_mon)
2368        )
2369    );
2370    assert_eq!(
2371        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
2372        20usize,
2373        concat!(
2374            "Offset of field: ",
2375            stringify!(tm),
2376            "::",
2377            stringify!(tm_year)
2378        )
2379    );
2380    assert_eq!(
2381        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
2382        24usize,
2383        concat!(
2384            "Offset of field: ",
2385            stringify!(tm),
2386            "::",
2387            stringify!(tm_wday)
2388        )
2389    );
2390    assert_eq!(
2391        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
2392        28usize,
2393        concat!(
2394            "Offset of field: ",
2395            stringify!(tm),
2396            "::",
2397            stringify!(tm_yday)
2398        )
2399    );
2400    assert_eq!(
2401        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
2402        32usize,
2403        concat!(
2404            "Offset of field: ",
2405            stringify!(tm),
2406            "::",
2407            stringify!(tm_isdst)
2408        )
2409    );
2410    assert_eq!(
2411        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
2412        40usize,
2413        concat!(
2414            "Offset of field: ",
2415            stringify!(tm),
2416            "::",
2417            stringify!(tm_gmtoff)
2418        )
2419    );
2420    assert_eq!(
2421        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
2422        48usize,
2423        concat!(
2424            "Offset of field: ",
2425            stringify!(tm),
2426            "::",
2427            stringify!(tm_zone)
2428        )
2429    );
2430}
2431#[repr(C)]
2432#[derive(Debug, Copy, Clone)]
2433pub struct timespec {
2434    pub tv_sec: __time_t,
2435    pub tv_nsec: __syscall_slong_t,
2436}
2437#[test]
2438fn bindgen_test_layout_timespec() {
2439    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
2440    let ptr = UNINIT.as_ptr();
2441    assert_eq!(
2442        ::std::mem::size_of::<timespec>(),
2443        16usize,
2444        concat!("Size of: ", stringify!(timespec))
2445    );
2446    assert_eq!(
2447        ::std::mem::align_of::<timespec>(),
2448        8usize,
2449        concat!("Alignment of ", stringify!(timespec))
2450    );
2451    assert_eq!(
2452        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2453        0usize,
2454        concat!(
2455            "Offset of field: ",
2456            stringify!(timespec),
2457            "::",
2458            stringify!(tv_sec)
2459        )
2460    );
2461    assert_eq!(
2462        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
2463        8usize,
2464        concat!(
2465            "Offset of field: ",
2466            stringify!(timespec),
2467            "::",
2468            stringify!(tv_nsec)
2469        )
2470    );
2471}
2472pub type clockid_t = __clockid_t;
2473pub type timer_t = __timer_t;
2474#[repr(C)]
2475#[derive(Debug, Copy, Clone)]
2476pub struct itimerspec {
2477    pub it_interval: timespec,
2478    pub it_value: timespec,
2479}
2480#[test]
2481fn bindgen_test_layout_itimerspec() {
2482    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
2483    let ptr = UNINIT.as_ptr();
2484    assert_eq!(
2485        ::std::mem::size_of::<itimerspec>(),
2486        32usize,
2487        concat!("Size of: ", stringify!(itimerspec))
2488    );
2489    assert_eq!(
2490        ::std::mem::align_of::<itimerspec>(),
2491        8usize,
2492        concat!("Alignment of ", stringify!(itimerspec))
2493    );
2494    assert_eq!(
2495        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
2496        0usize,
2497        concat!(
2498            "Offset of field: ",
2499            stringify!(itimerspec),
2500            "::",
2501            stringify!(it_interval)
2502        )
2503    );
2504    assert_eq!(
2505        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
2506        16usize,
2507        concat!(
2508            "Offset of field: ",
2509            stringify!(itimerspec),
2510            "::",
2511            stringify!(it_value)
2512        )
2513    );
2514}
2515pub type pid_t = __pid_t;
2516extern "C" {
2517    pub fn clock() -> clock_t;
2518}
2519extern "C" {
2520    pub fn time(__timer: *mut time_t) -> time_t;
2521}
2522extern "C" {
2523    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
2524}
2525extern "C" {
2526    pub fn mktime(__tp: *mut tm) -> time_t;
2527}
2528extern "C" {
2529    pub fn strftime(
2530        __s: *mut ::std::os::raw::c_char,
2531        __maxsize: usize,
2532        __format: *const ::std::os::raw::c_char,
2533        __tp: *const tm,
2534    ) -> usize;
2535}
2536extern "C" {
2537    pub fn strftime_l(
2538        __s: *mut ::std::os::raw::c_char,
2539        __maxsize: usize,
2540        __format: *const ::std::os::raw::c_char,
2541        __tp: *const tm,
2542        __loc: locale_t,
2543    ) -> usize;
2544}
2545extern "C" {
2546    pub fn gmtime(__timer: *const time_t) -> *mut tm;
2547}
2548extern "C" {
2549    pub fn localtime(__timer: *const time_t) -> *mut tm;
2550}
2551extern "C" {
2552    pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
2553}
2554extern "C" {
2555    pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
2556}
2557extern "C" {
2558    pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
2559}
2560extern "C" {
2561    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
2562}
2563extern "C" {
2564    pub fn asctime_r(
2565        __tp: *const tm,
2566        __buf: *mut ::std::os::raw::c_char,
2567    ) -> *mut ::std::os::raw::c_char;
2568}
2569extern "C" {
2570    pub fn ctime_r(
2571        __timer: *const time_t,
2572        __buf: *mut ::std::os::raw::c_char,
2573    ) -> *mut ::std::os::raw::c_char;
2574}
2575extern "C" {
2576    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
2577}
2578extern "C" {
2579    pub static mut __daylight: ::std::os::raw::c_int;
2580}
2581extern "C" {
2582    pub static mut __timezone: ::std::os::raw::c_long;
2583}
2584extern "C" {
2585    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
2586}
2587extern "C" {
2588    pub fn tzset();
2589}
2590extern "C" {
2591    pub static mut daylight: ::std::os::raw::c_int;
2592}
2593extern "C" {
2594    pub static mut timezone: ::std::os::raw::c_long;
2595}
2596extern "C" {
2597    pub fn timegm(__tp: *mut tm) -> time_t;
2598}
2599extern "C" {
2600    pub fn timelocal(__tp: *mut tm) -> time_t;
2601}
2602extern "C" {
2603    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2604}
2605extern "C" {
2606    pub fn nanosleep(
2607        __requested_time: *const timespec,
2608        __remaining: *mut timespec,
2609    ) -> ::std::os::raw::c_int;
2610}
2611extern "C" {
2612    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
2613}
2614extern "C" {
2615    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
2616}
2617extern "C" {
2618    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
2619}
2620extern "C" {
2621    pub fn clock_nanosleep(
2622        __clock_id: clockid_t,
2623        __flags: ::std::os::raw::c_int,
2624        __req: *const timespec,
2625        __rem: *mut timespec,
2626    ) -> ::std::os::raw::c_int;
2627}
2628extern "C" {
2629    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
2630}
2631extern "C" {
2632    pub fn timer_create(
2633        __clock_id: clockid_t,
2634        __evp: *mut sigevent,
2635        __timerid: *mut timer_t,
2636    ) -> ::std::os::raw::c_int;
2637}
2638extern "C" {
2639    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
2640}
2641extern "C" {
2642    pub fn timer_settime(
2643        __timerid: timer_t,
2644        __flags: ::std::os::raw::c_int,
2645        __value: *const itimerspec,
2646        __ovalue: *mut itimerspec,
2647    ) -> ::std::os::raw::c_int;
2648}
2649extern "C" {
2650    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
2651}
2652extern "C" {
2653    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
2654}
2655extern "C" {
2656    pub fn timespec_get(
2657        __ts: *mut timespec,
2658        __base: ::std::os::raw::c_int,
2659    ) -> ::std::os::raw::c_int;
2660}
2661pub type gchar = ::std::os::raw::c_char;
2662pub type gshort = ::std::os::raw::c_short;
2663pub type glong = ::std::os::raw::c_long;
2664pub type gint = ::std::os::raw::c_int;
2665pub type gboolean = gint;
2666pub type guchar = ::std::os::raw::c_uchar;
2667pub type gushort = ::std::os::raw::c_ushort;
2668pub type gulong = ::std::os::raw::c_ulong;
2669pub type guint = ::std::os::raw::c_uint;
2670pub type gfloat = f32;
2671pub type gdouble = f64;
2672pub type gpointer = *mut ::std::os::raw::c_void;
2673pub type gconstpointer = *const ::std::os::raw::c_void;
2674pub type GCompareFunc =
2675    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gint>;
2676pub type GCompareDataFunc = ::std::option::Option<
2677    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gint,
2678>;
2679pub type GEqualFunc =
2680    ::std::option::Option<unsafe extern "C" fn(a: gconstpointer, b: gconstpointer) -> gboolean>;
2681pub type GEqualFuncFull = ::std::option::Option<
2682    unsafe extern "C" fn(a: gconstpointer, b: gconstpointer, user_data: gpointer) -> gboolean,
2683>;
2684pub type GDestroyNotify = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
2685pub type GFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer)>;
2686pub type GHashFunc = ::std::option::Option<unsafe extern "C" fn(key: gconstpointer) -> guint>;
2687pub type GHFunc = ::std::option::Option<
2688    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer),
2689>;
2690pub type GCopyFunc =
2691    ::std::option::Option<unsafe extern "C" fn(src: gconstpointer, data: gpointer) -> gpointer>;
2692pub type GFreeFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
2693pub type GTranslateFunc =
2694    ::std::option::Option<unsafe extern "C" fn(str_: *const gchar, data: gpointer) -> *const gchar>;
2695pub type GDoubleIEEE754 = _GDoubleIEEE754;
2696pub type GFloatIEEE754 = _GFloatIEEE754;
2697#[repr(C)]
2698#[derive(Copy, Clone)]
2699pub union _GFloatIEEE754 {
2700    pub v_float: gfloat,
2701    pub mpn: _GFloatIEEE754__bindgen_ty_1,
2702}
2703#[repr(C)]
2704#[repr(align(4))]
2705#[derive(Debug, Copy, Clone)]
2706pub struct _GFloatIEEE754__bindgen_ty_1 {
2707    pub _bitfield_align_1: [u32; 0],
2708    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
2709}
2710#[test]
2711fn bindgen_test_layout__GFloatIEEE754__bindgen_ty_1() {
2712    assert_eq!(
2713        ::std::mem::size_of::<_GFloatIEEE754__bindgen_ty_1>(),
2714        4usize,
2715        concat!("Size of: ", stringify!(_GFloatIEEE754__bindgen_ty_1))
2716    );
2717    assert_eq!(
2718        ::std::mem::align_of::<_GFloatIEEE754__bindgen_ty_1>(),
2719        4usize,
2720        concat!("Alignment of ", stringify!(_GFloatIEEE754__bindgen_ty_1))
2721    );
2722}
2723impl _GFloatIEEE754__bindgen_ty_1 {
2724    #[inline]
2725    pub fn mantissa(&self) -> guint {
2726        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 23u8) as u32) }
2727    }
2728    #[inline]
2729    pub fn set_mantissa(&mut self, val: guint) {
2730        unsafe {
2731            let val: u32 = ::std::mem::transmute(val);
2732            self._bitfield_1.set(0usize, 23u8, val as u64)
2733        }
2734    }
2735    #[inline]
2736    pub fn biased_exponent(&self) -> guint {
2737        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 8u8) as u32) }
2738    }
2739    #[inline]
2740    pub fn set_biased_exponent(&mut self, val: guint) {
2741        unsafe {
2742            let val: u32 = ::std::mem::transmute(val);
2743            self._bitfield_1.set(23usize, 8u8, val as u64)
2744        }
2745    }
2746    #[inline]
2747    pub fn sign(&self) -> guint {
2748        unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
2749    }
2750    #[inline]
2751    pub fn set_sign(&mut self, val: guint) {
2752        unsafe {
2753            let val: u32 = ::std::mem::transmute(val);
2754            self._bitfield_1.set(31usize, 1u8, val as u64)
2755        }
2756    }
2757    #[inline]
2758    pub fn new_bitfield_1(
2759        mantissa: guint,
2760        biased_exponent: guint,
2761        sign: guint,
2762    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
2763        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
2764        __bindgen_bitfield_unit.set(0usize, 23u8, {
2765            let mantissa: u32 = unsafe { ::std::mem::transmute(mantissa) };
2766            mantissa as u64
2767        });
2768        __bindgen_bitfield_unit.set(23usize, 8u8, {
2769            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
2770            biased_exponent as u64
2771        });
2772        __bindgen_bitfield_unit.set(31usize, 1u8, {
2773            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
2774            sign as u64
2775        });
2776        __bindgen_bitfield_unit
2777    }
2778}
2779#[test]
2780fn bindgen_test_layout__GFloatIEEE754() {
2781    const UNINIT: ::std::mem::MaybeUninit<_GFloatIEEE754> = ::std::mem::MaybeUninit::uninit();
2782    let ptr = UNINIT.as_ptr();
2783    assert_eq!(
2784        ::std::mem::size_of::<_GFloatIEEE754>(),
2785        4usize,
2786        concat!("Size of: ", stringify!(_GFloatIEEE754))
2787    );
2788    assert_eq!(
2789        ::std::mem::align_of::<_GFloatIEEE754>(),
2790        4usize,
2791        concat!("Alignment of ", stringify!(_GFloatIEEE754))
2792    );
2793    assert_eq!(
2794        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
2795        0usize,
2796        concat!(
2797            "Offset of field: ",
2798            stringify!(_GFloatIEEE754),
2799            "::",
2800            stringify!(v_float)
2801        )
2802    );
2803    assert_eq!(
2804        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
2805        0usize,
2806        concat!(
2807            "Offset of field: ",
2808            stringify!(_GFloatIEEE754),
2809            "::",
2810            stringify!(mpn)
2811        )
2812    );
2813}
2814#[repr(C)]
2815#[derive(Copy, Clone)]
2816pub union _GDoubleIEEE754 {
2817    pub v_double: gdouble,
2818    pub mpn: _GDoubleIEEE754__bindgen_ty_1,
2819}
2820#[repr(C)]
2821#[repr(align(4))]
2822#[derive(Debug, Copy, Clone)]
2823pub struct _GDoubleIEEE754__bindgen_ty_1 {
2824    pub _bitfield_align_1: [u32; 0],
2825    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
2826}
2827#[test]
2828fn bindgen_test_layout__GDoubleIEEE754__bindgen_ty_1() {
2829    assert_eq!(
2830        ::std::mem::size_of::<_GDoubleIEEE754__bindgen_ty_1>(),
2831        8usize,
2832        concat!("Size of: ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
2833    );
2834    assert_eq!(
2835        ::std::mem::align_of::<_GDoubleIEEE754__bindgen_ty_1>(),
2836        4usize,
2837        concat!("Alignment of ", stringify!(_GDoubleIEEE754__bindgen_ty_1))
2838    );
2839}
2840impl _GDoubleIEEE754__bindgen_ty_1 {
2841    #[inline]
2842    pub fn mantissa_low(&self) -> guint {
2843        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
2844    }
2845    #[inline]
2846    pub fn set_mantissa_low(&mut self, val: guint) {
2847        unsafe {
2848            let val: u32 = ::std::mem::transmute(val);
2849            self._bitfield_1.set(0usize, 32u8, val as u64)
2850        }
2851    }
2852    #[inline]
2853    pub fn mantissa_high(&self) -> guint {
2854        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 20u8) as u32) }
2855    }
2856    #[inline]
2857    pub fn set_mantissa_high(&mut self, val: guint) {
2858        unsafe {
2859            let val: u32 = ::std::mem::transmute(val);
2860            self._bitfield_1.set(32usize, 20u8, val as u64)
2861        }
2862    }
2863    #[inline]
2864    pub fn biased_exponent(&self) -> guint {
2865        unsafe { ::std::mem::transmute(self._bitfield_1.get(52usize, 11u8) as u32) }
2866    }
2867    #[inline]
2868    pub fn set_biased_exponent(&mut self, val: guint) {
2869        unsafe {
2870            let val: u32 = ::std::mem::transmute(val);
2871            self._bitfield_1.set(52usize, 11u8, val as u64)
2872        }
2873    }
2874    #[inline]
2875    pub fn sign(&self) -> guint {
2876        unsafe { ::std::mem::transmute(self._bitfield_1.get(63usize, 1u8) as u32) }
2877    }
2878    #[inline]
2879    pub fn set_sign(&mut self, val: guint) {
2880        unsafe {
2881            let val: u32 = ::std::mem::transmute(val);
2882            self._bitfield_1.set(63usize, 1u8, val as u64)
2883        }
2884    }
2885    #[inline]
2886    pub fn new_bitfield_1(
2887        mantissa_low: guint,
2888        mantissa_high: guint,
2889        biased_exponent: guint,
2890        sign: guint,
2891    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
2892        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
2893        __bindgen_bitfield_unit.set(0usize, 32u8, {
2894            let mantissa_low: u32 = unsafe { ::std::mem::transmute(mantissa_low) };
2895            mantissa_low as u64
2896        });
2897        __bindgen_bitfield_unit.set(32usize, 20u8, {
2898            let mantissa_high: u32 = unsafe { ::std::mem::transmute(mantissa_high) };
2899            mantissa_high as u64
2900        });
2901        __bindgen_bitfield_unit.set(52usize, 11u8, {
2902            let biased_exponent: u32 = unsafe { ::std::mem::transmute(biased_exponent) };
2903            biased_exponent as u64
2904        });
2905        __bindgen_bitfield_unit.set(63usize, 1u8, {
2906            let sign: u32 = unsafe { ::std::mem::transmute(sign) };
2907            sign as u64
2908        });
2909        __bindgen_bitfield_unit
2910    }
2911}
2912#[test]
2913fn bindgen_test_layout__GDoubleIEEE754() {
2914    const UNINIT: ::std::mem::MaybeUninit<_GDoubleIEEE754> = ::std::mem::MaybeUninit::uninit();
2915    let ptr = UNINIT.as_ptr();
2916    assert_eq!(
2917        ::std::mem::size_of::<_GDoubleIEEE754>(),
2918        8usize,
2919        concat!("Size of: ", stringify!(_GDoubleIEEE754))
2920    );
2921    assert_eq!(
2922        ::std::mem::align_of::<_GDoubleIEEE754>(),
2923        8usize,
2924        concat!("Alignment of ", stringify!(_GDoubleIEEE754))
2925    );
2926    assert_eq!(
2927        unsafe { ::std::ptr::addr_of!((*ptr).v_double) as usize - ptr as usize },
2928        0usize,
2929        concat!(
2930            "Offset of field: ",
2931            stringify!(_GDoubleIEEE754),
2932            "::",
2933            stringify!(v_double)
2934        )
2935    );
2936    assert_eq!(
2937        unsafe { ::std::ptr::addr_of!((*ptr).mpn) as usize - ptr as usize },
2938        0usize,
2939        concat!(
2940            "Offset of field: ",
2941            stringify!(_GDoubleIEEE754),
2942            "::",
2943            stringify!(mpn)
2944        )
2945    );
2946}
2947pub type GTimeVal = _GTimeVal;
2948#[repr(C)]
2949#[derive(Debug, Copy, Clone)]
2950pub struct _GTimeVal {
2951    pub tv_sec: glong,
2952    pub tv_usec: glong,
2953}
2954#[test]
2955fn bindgen_test_layout__GTimeVal() {
2956    const UNINIT: ::std::mem::MaybeUninit<_GTimeVal> = ::std::mem::MaybeUninit::uninit();
2957    let ptr = UNINIT.as_ptr();
2958    assert_eq!(
2959        ::std::mem::size_of::<_GTimeVal>(),
2960        16usize,
2961        concat!("Size of: ", stringify!(_GTimeVal))
2962    );
2963    assert_eq!(
2964        ::std::mem::align_of::<_GTimeVal>(),
2965        8usize,
2966        concat!("Alignment of ", stringify!(_GTimeVal))
2967    );
2968    assert_eq!(
2969        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
2970        0usize,
2971        concat!(
2972            "Offset of field: ",
2973            stringify!(_GTimeVal),
2974            "::",
2975            stringify!(tv_sec)
2976        )
2977    );
2978    assert_eq!(
2979        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
2980        8usize,
2981        concat!(
2982            "Offset of field: ",
2983            stringify!(_GTimeVal),
2984            "::",
2985            stringify!(tv_usec)
2986        )
2987    );
2988}
2989pub type grefcount = gint;
2990pub type gatomicrefcount = gint;
2991#[repr(C)]
2992#[derive(Debug, Copy, Clone)]
2993pub struct _GBytes {
2994    _unused: [u8; 0],
2995}
2996pub type GBytes = _GBytes;
2997pub type GArray = _GArray;
2998pub type GByteArray = _GByteArray;
2999pub type GPtrArray = _GPtrArray;
3000#[repr(C)]
3001#[derive(Debug, Copy, Clone)]
3002pub struct _GArray {
3003    pub data: *mut gchar,
3004    pub len: guint,
3005}
3006#[test]
3007fn bindgen_test_layout__GArray() {
3008    const UNINIT: ::std::mem::MaybeUninit<_GArray> = ::std::mem::MaybeUninit::uninit();
3009    let ptr = UNINIT.as_ptr();
3010    assert_eq!(
3011        ::std::mem::size_of::<_GArray>(),
3012        16usize,
3013        concat!("Size of: ", stringify!(_GArray))
3014    );
3015    assert_eq!(
3016        ::std::mem::align_of::<_GArray>(),
3017        8usize,
3018        concat!("Alignment of ", stringify!(_GArray))
3019    );
3020    assert_eq!(
3021        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3022        0usize,
3023        concat!(
3024            "Offset of field: ",
3025            stringify!(_GArray),
3026            "::",
3027            stringify!(data)
3028        )
3029    );
3030    assert_eq!(
3031        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3032        8usize,
3033        concat!(
3034            "Offset of field: ",
3035            stringify!(_GArray),
3036            "::",
3037            stringify!(len)
3038        )
3039    );
3040}
3041#[repr(C)]
3042#[derive(Debug, Copy, Clone)]
3043pub struct _GByteArray {
3044    pub data: *mut guint8,
3045    pub len: guint,
3046}
3047#[test]
3048fn bindgen_test_layout__GByteArray() {
3049    const UNINIT: ::std::mem::MaybeUninit<_GByteArray> = ::std::mem::MaybeUninit::uninit();
3050    let ptr = UNINIT.as_ptr();
3051    assert_eq!(
3052        ::std::mem::size_of::<_GByteArray>(),
3053        16usize,
3054        concat!("Size of: ", stringify!(_GByteArray))
3055    );
3056    assert_eq!(
3057        ::std::mem::align_of::<_GByteArray>(),
3058        8usize,
3059        concat!("Alignment of ", stringify!(_GByteArray))
3060    );
3061    assert_eq!(
3062        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3063        0usize,
3064        concat!(
3065            "Offset of field: ",
3066            stringify!(_GByteArray),
3067            "::",
3068            stringify!(data)
3069        )
3070    );
3071    assert_eq!(
3072        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3073        8usize,
3074        concat!(
3075            "Offset of field: ",
3076            stringify!(_GByteArray),
3077            "::",
3078            stringify!(len)
3079        )
3080    );
3081}
3082#[repr(C)]
3083#[derive(Debug, Copy, Clone)]
3084pub struct _GPtrArray {
3085    pub pdata: *mut gpointer,
3086    pub len: guint,
3087}
3088#[test]
3089fn bindgen_test_layout__GPtrArray() {
3090    const UNINIT: ::std::mem::MaybeUninit<_GPtrArray> = ::std::mem::MaybeUninit::uninit();
3091    let ptr = UNINIT.as_ptr();
3092    assert_eq!(
3093        ::std::mem::size_of::<_GPtrArray>(),
3094        16usize,
3095        concat!("Size of: ", stringify!(_GPtrArray))
3096    );
3097    assert_eq!(
3098        ::std::mem::align_of::<_GPtrArray>(),
3099        8usize,
3100        concat!("Alignment of ", stringify!(_GPtrArray))
3101    );
3102    assert_eq!(
3103        unsafe { ::std::ptr::addr_of!((*ptr).pdata) as usize - ptr as usize },
3104        0usize,
3105        concat!(
3106            "Offset of field: ",
3107            stringify!(_GPtrArray),
3108            "::",
3109            stringify!(pdata)
3110        )
3111    );
3112    assert_eq!(
3113        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
3114        8usize,
3115        concat!(
3116            "Offset of field: ",
3117            stringify!(_GPtrArray),
3118            "::",
3119            stringify!(len)
3120        )
3121    );
3122}
3123extern "C" {
3124    pub fn g_array_new(
3125        zero_terminated: gboolean,
3126        clear_: gboolean,
3127        element_size: guint,
3128    ) -> *mut GArray;
3129}
3130extern "C" {
3131    pub fn g_array_new_take(
3132        data: gpointer,
3133        len: gsize,
3134        clear: gboolean,
3135        element_size: gsize,
3136    ) -> *mut GArray;
3137}
3138extern "C" {
3139    pub fn g_array_new_take_zero_terminated(
3140        data: gpointer,
3141        clear: gboolean,
3142        element_size: gsize,
3143    ) -> *mut GArray;
3144}
3145extern "C" {
3146    pub fn g_array_steal(array: *mut GArray, len: *mut gsize) -> gpointer;
3147}
3148extern "C" {
3149    pub fn g_array_sized_new(
3150        zero_terminated: gboolean,
3151        clear_: gboolean,
3152        element_size: guint,
3153        reserved_size: guint,
3154    ) -> *mut GArray;
3155}
3156extern "C" {
3157    pub fn g_array_copy(array: *mut GArray) -> *mut GArray;
3158}
3159extern "C" {
3160    pub fn g_array_free(array: *mut GArray, free_segment: gboolean) -> *mut gchar;
3161}
3162extern "C" {
3163    pub fn g_array_ref(array: *mut GArray) -> *mut GArray;
3164}
3165extern "C" {
3166    pub fn g_array_unref(array: *mut GArray);
3167}
3168extern "C" {
3169    pub fn g_array_get_element_size(array: *mut GArray) -> guint;
3170}
3171extern "C" {
3172    pub fn g_array_append_vals(array: *mut GArray, data: gconstpointer, len: guint) -> *mut GArray;
3173}
3174extern "C" {
3175    pub fn g_array_prepend_vals(array: *mut GArray, data: gconstpointer, len: guint)
3176        -> *mut GArray;
3177}
3178extern "C" {
3179    pub fn g_array_insert_vals(
3180        array: *mut GArray,
3181        index_: guint,
3182        data: gconstpointer,
3183        len: guint,
3184    ) -> *mut GArray;
3185}
3186extern "C" {
3187    pub fn g_array_set_size(array: *mut GArray, length: guint) -> *mut GArray;
3188}
3189extern "C" {
3190    pub fn g_array_remove_index(array: *mut GArray, index_: guint) -> *mut GArray;
3191}
3192extern "C" {
3193    pub fn g_array_remove_index_fast(array: *mut GArray, index_: guint) -> *mut GArray;
3194}
3195extern "C" {
3196    pub fn g_array_remove_range(array: *mut GArray, index_: guint, length: guint) -> *mut GArray;
3197}
3198extern "C" {
3199    pub fn g_array_sort(array: *mut GArray, compare_func: GCompareFunc);
3200}
3201extern "C" {
3202    pub fn g_array_sort_with_data(
3203        array: *mut GArray,
3204        compare_func: GCompareDataFunc,
3205        user_data: gpointer,
3206    );
3207}
3208extern "C" {
3209    pub fn g_array_binary_search(
3210        array: *mut GArray,
3211        target: gconstpointer,
3212        compare_func: GCompareFunc,
3213        out_match_index: *mut guint,
3214    ) -> gboolean;
3215}
3216extern "C" {
3217    pub fn g_array_set_clear_func(array: *mut GArray, clear_func: GDestroyNotify);
3218}
3219extern "C" {
3220    pub fn g_ptr_array_new() -> *mut GPtrArray;
3221}
3222extern "C" {
3223    pub fn g_ptr_array_new_with_free_func(element_free_func: GDestroyNotify) -> *mut GPtrArray;
3224}
3225extern "C" {
3226    pub fn g_ptr_array_new_take(
3227        data: *mut gpointer,
3228        len: gsize,
3229        element_free_func: GDestroyNotify,
3230    ) -> *mut GPtrArray;
3231}
3232extern "C" {
3233    pub fn g_ptr_array_new_from_array(
3234        data: *mut gpointer,
3235        len: gsize,
3236        copy_func: GCopyFunc,
3237        copy_func_user_data: gpointer,
3238        element_free_func: GDestroyNotify,
3239    ) -> *mut GPtrArray;
3240}
3241extern "C" {
3242    pub fn g_ptr_array_steal(array: *mut GPtrArray, len: *mut gsize) -> *mut gpointer;
3243}
3244extern "C" {
3245    pub fn g_ptr_array_copy(
3246        array: *mut GPtrArray,
3247        func: GCopyFunc,
3248        user_data: gpointer,
3249    ) -> *mut GPtrArray;
3250}
3251extern "C" {
3252    pub fn g_ptr_array_sized_new(reserved_size: guint) -> *mut GPtrArray;
3253}
3254extern "C" {
3255    pub fn g_ptr_array_new_full(
3256        reserved_size: guint,
3257        element_free_func: GDestroyNotify,
3258    ) -> *mut GPtrArray;
3259}
3260extern "C" {
3261    pub fn g_ptr_array_new_null_terminated(
3262        reserved_size: guint,
3263        element_free_func: GDestroyNotify,
3264        null_terminated: gboolean,
3265    ) -> *mut GPtrArray;
3266}
3267extern "C" {
3268    pub fn g_ptr_array_new_take_null_terminated(
3269        data: *mut gpointer,
3270        element_free_func: GDestroyNotify,
3271    ) -> *mut GPtrArray;
3272}
3273extern "C" {
3274    pub fn g_ptr_array_new_from_null_terminated_array(
3275        data: *mut gpointer,
3276        copy_func: GCopyFunc,
3277        copy_func_user_data: gpointer,
3278        element_free_func: GDestroyNotify,
3279    ) -> *mut GPtrArray;
3280}
3281extern "C" {
3282    pub fn g_ptr_array_free(array: *mut GPtrArray, free_seg: gboolean) -> *mut gpointer;
3283}
3284extern "C" {
3285    pub fn g_ptr_array_ref(array: *mut GPtrArray) -> *mut GPtrArray;
3286}
3287extern "C" {
3288    pub fn g_ptr_array_unref(array: *mut GPtrArray);
3289}
3290extern "C" {
3291    pub fn g_ptr_array_set_free_func(array: *mut GPtrArray, element_free_func: GDestroyNotify);
3292}
3293extern "C" {
3294    pub fn g_ptr_array_set_size(array: *mut GPtrArray, length: gint);
3295}
3296extern "C" {
3297    pub fn g_ptr_array_remove_index(array: *mut GPtrArray, index_: guint) -> gpointer;
3298}
3299extern "C" {
3300    pub fn g_ptr_array_remove_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
3301}
3302extern "C" {
3303    pub fn g_ptr_array_steal_index(array: *mut GPtrArray, index_: guint) -> gpointer;
3304}
3305extern "C" {
3306    pub fn g_ptr_array_steal_index_fast(array: *mut GPtrArray, index_: guint) -> gpointer;
3307}
3308extern "C" {
3309    pub fn g_ptr_array_remove(array: *mut GPtrArray, data: gpointer) -> gboolean;
3310}
3311extern "C" {
3312    pub fn g_ptr_array_remove_fast(array: *mut GPtrArray, data: gpointer) -> gboolean;
3313}
3314extern "C" {
3315    pub fn g_ptr_array_remove_range(
3316        array: *mut GPtrArray,
3317        index_: guint,
3318        length: guint,
3319    ) -> *mut GPtrArray;
3320}
3321extern "C" {
3322    pub fn g_ptr_array_add(array: *mut GPtrArray, data: gpointer);
3323}
3324extern "C" {
3325    pub fn g_ptr_array_extend(
3326        array_to_extend: *mut GPtrArray,
3327        array: *mut GPtrArray,
3328        func: GCopyFunc,
3329        user_data: gpointer,
3330    );
3331}
3332extern "C" {
3333    pub fn g_ptr_array_extend_and_steal(array_to_extend: *mut GPtrArray, array: *mut GPtrArray);
3334}
3335extern "C" {
3336    pub fn g_ptr_array_insert(array: *mut GPtrArray, index_: gint, data: gpointer);
3337}
3338extern "C" {
3339    pub fn g_ptr_array_sort(array: *mut GPtrArray, compare_func: GCompareFunc);
3340}
3341extern "C" {
3342    pub fn g_ptr_array_sort_with_data(
3343        array: *mut GPtrArray,
3344        compare_func: GCompareDataFunc,
3345        user_data: gpointer,
3346    );
3347}
3348extern "C" {
3349    pub fn g_ptr_array_sort_values(array: *mut GPtrArray, compare_func: GCompareFunc);
3350}
3351extern "C" {
3352    pub fn g_ptr_array_sort_values_with_data(
3353        array: *mut GPtrArray,
3354        compare_func: GCompareDataFunc,
3355        user_data: gpointer,
3356    );
3357}
3358extern "C" {
3359    pub fn g_ptr_array_foreach(array: *mut GPtrArray, func: GFunc, user_data: gpointer);
3360}
3361extern "C" {
3362    pub fn g_ptr_array_find(
3363        haystack: *mut GPtrArray,
3364        needle: gconstpointer,
3365        index_: *mut guint,
3366    ) -> gboolean;
3367}
3368extern "C" {
3369    pub fn g_ptr_array_find_with_equal_func(
3370        haystack: *mut GPtrArray,
3371        needle: gconstpointer,
3372        equal_func: GEqualFunc,
3373        index_: *mut guint,
3374    ) -> gboolean;
3375}
3376extern "C" {
3377    pub fn g_ptr_array_is_null_terminated(array: *mut GPtrArray) -> gboolean;
3378}
3379extern "C" {
3380    pub fn g_byte_array_new() -> *mut GByteArray;
3381}
3382extern "C" {
3383    pub fn g_byte_array_new_take(data: *mut guint8, len: gsize) -> *mut GByteArray;
3384}
3385extern "C" {
3386    pub fn g_byte_array_steal(array: *mut GByteArray, len: *mut gsize) -> *mut guint8;
3387}
3388extern "C" {
3389    pub fn g_byte_array_sized_new(reserved_size: guint) -> *mut GByteArray;
3390}
3391extern "C" {
3392    pub fn g_byte_array_free(array: *mut GByteArray, free_segment: gboolean) -> *mut guint8;
3393}
3394extern "C" {
3395    pub fn g_byte_array_free_to_bytes(array: *mut GByteArray) -> *mut GBytes;
3396}
3397extern "C" {
3398    pub fn g_byte_array_ref(array: *mut GByteArray) -> *mut GByteArray;
3399}
3400extern "C" {
3401    pub fn g_byte_array_unref(array: *mut GByteArray);
3402}
3403extern "C" {
3404    pub fn g_byte_array_append(
3405        array: *mut GByteArray,
3406        data: *const guint8,
3407        len: guint,
3408    ) -> *mut GByteArray;
3409}
3410extern "C" {
3411    pub fn g_byte_array_prepend(
3412        array: *mut GByteArray,
3413        data: *const guint8,
3414        len: guint,
3415    ) -> *mut GByteArray;
3416}
3417extern "C" {
3418    pub fn g_byte_array_set_size(array: *mut GByteArray, length: guint) -> *mut GByteArray;
3419}
3420extern "C" {
3421    pub fn g_byte_array_remove_index(array: *mut GByteArray, index_: guint) -> *mut GByteArray;
3422}
3423extern "C" {
3424    pub fn g_byte_array_remove_index_fast(array: *mut GByteArray, index_: guint)
3425        -> *mut GByteArray;
3426}
3427extern "C" {
3428    pub fn g_byte_array_remove_range(
3429        array: *mut GByteArray,
3430        index_: guint,
3431        length: guint,
3432    ) -> *mut GByteArray;
3433}
3434extern "C" {
3435    pub fn g_byte_array_sort(array: *mut GByteArray, compare_func: GCompareFunc);
3436}
3437extern "C" {
3438    pub fn g_byte_array_sort_with_data(
3439        array: *mut GByteArray,
3440        compare_func: GCompareDataFunc,
3441        user_data: gpointer,
3442    );
3443}
3444extern "C" {
3445    pub fn g_atomic_int_get(atomic: *const gint) -> gint;
3446}
3447extern "C" {
3448    pub fn g_atomic_int_set(atomic: *mut gint, newval: gint);
3449}
3450extern "C" {
3451    pub fn g_atomic_int_inc(atomic: *mut gint);
3452}
3453extern "C" {
3454    pub fn g_atomic_int_dec_and_test(atomic: *mut gint) -> gboolean;
3455}
3456extern "C" {
3457    pub fn g_atomic_int_compare_and_exchange(
3458        atomic: *mut gint,
3459        oldval: gint,
3460        newval: gint,
3461    ) -> gboolean;
3462}
3463extern "C" {
3464    pub fn g_atomic_int_compare_and_exchange_full(
3465        atomic: *mut gint,
3466        oldval: gint,
3467        newval: gint,
3468        preval: *mut gint,
3469    ) -> gboolean;
3470}
3471extern "C" {
3472    pub fn g_atomic_int_exchange(atomic: *mut gint, newval: gint) -> gint;
3473}
3474extern "C" {
3475    pub fn g_atomic_int_add(atomic: *mut gint, val: gint) -> gint;
3476}
3477extern "C" {
3478    pub fn g_atomic_int_and(atomic: *mut guint, val: guint) -> guint;
3479}
3480extern "C" {
3481    pub fn g_atomic_int_or(atomic: *mut guint, val: guint) -> guint;
3482}
3483extern "C" {
3484    pub fn g_atomic_int_xor(atomic: *mut guint, val: guint) -> guint;
3485}
3486extern "C" {
3487    pub fn g_atomic_pointer_get(atomic: *const ::std::os::raw::c_void) -> gpointer;
3488}
3489extern "C" {
3490    pub fn g_atomic_pointer_set(atomic: *mut ::std::os::raw::c_void, newval: gpointer);
3491}
3492extern "C" {
3493    pub fn g_atomic_pointer_compare_and_exchange(
3494        atomic: *mut ::std::os::raw::c_void,
3495        oldval: gpointer,
3496        newval: gpointer,
3497    ) -> gboolean;
3498}
3499extern "C" {
3500    pub fn g_atomic_pointer_compare_and_exchange_full(
3501        atomic: *mut ::std::os::raw::c_void,
3502        oldval: gpointer,
3503        newval: gpointer,
3504        preval: *mut ::std::os::raw::c_void,
3505    ) -> gboolean;
3506}
3507extern "C" {
3508    pub fn g_atomic_pointer_exchange(
3509        atomic: *mut ::std::os::raw::c_void,
3510        newval: gpointer,
3511    ) -> gpointer;
3512}
3513extern "C" {
3514    pub fn g_atomic_pointer_add(atomic: *mut ::std::os::raw::c_void, val: gssize) -> gssize;
3515}
3516extern "C" {
3517    pub fn g_atomic_pointer_and(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3518}
3519extern "C" {
3520    pub fn g_atomic_pointer_or(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3521}
3522extern "C" {
3523    pub fn g_atomic_pointer_xor(atomic: *mut ::std::os::raw::c_void, val: gsize) -> gsize;
3524}
3525extern "C" {
3526    pub fn g_atomic_int_exchange_and_add(atomic: *mut gint, val: gint) -> gint;
3527}
3528pub type va_list = __builtin_va_list;
3529pub type __gnuc_va_list = __builtin_va_list;
3530pub type GQuark = guint32;
3531extern "C" {
3532    pub fn g_quark_try_string(string: *const gchar) -> GQuark;
3533}
3534extern "C" {
3535    pub fn g_quark_from_static_string(string: *const gchar) -> GQuark;
3536}
3537extern "C" {
3538    pub fn g_quark_from_string(string: *const gchar) -> GQuark;
3539}
3540extern "C" {
3541    pub fn g_quark_to_string(quark: GQuark) -> *const gchar;
3542}
3543extern "C" {
3544    pub fn g_intern_string(string: *const gchar) -> *const gchar;
3545}
3546extern "C" {
3547    pub fn g_intern_static_string(string: *const gchar) -> *const gchar;
3548}
3549pub type GError = _GError;
3550#[repr(C)]
3551#[derive(Debug, Copy, Clone)]
3552pub struct _GError {
3553    pub domain: GQuark,
3554    pub code: gint,
3555    pub message: *mut gchar,
3556}
3557#[test]
3558fn bindgen_test_layout__GError() {
3559    const UNINIT: ::std::mem::MaybeUninit<_GError> = ::std::mem::MaybeUninit::uninit();
3560    let ptr = UNINIT.as_ptr();
3561    assert_eq!(
3562        ::std::mem::size_of::<_GError>(),
3563        16usize,
3564        concat!("Size of: ", stringify!(_GError))
3565    );
3566    assert_eq!(
3567        ::std::mem::align_of::<_GError>(),
3568        8usize,
3569        concat!("Alignment of ", stringify!(_GError))
3570    );
3571    assert_eq!(
3572        unsafe { ::std::ptr::addr_of!((*ptr).domain) as usize - ptr as usize },
3573        0usize,
3574        concat!(
3575            "Offset of field: ",
3576            stringify!(_GError),
3577            "::",
3578            stringify!(domain)
3579        )
3580    );
3581    assert_eq!(
3582        unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
3583        4usize,
3584        concat!(
3585            "Offset of field: ",
3586            stringify!(_GError),
3587            "::",
3588            stringify!(code)
3589        )
3590    );
3591    assert_eq!(
3592        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
3593        8usize,
3594        concat!(
3595            "Offset of field: ",
3596            stringify!(_GError),
3597            "::",
3598            stringify!(message)
3599        )
3600    );
3601}
3602pub type GErrorInitFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
3603pub type GErrorCopyFunc =
3604    ::std::option::Option<unsafe extern "C" fn(src_error: *const GError, dest_error: *mut GError)>;
3605pub type GErrorClearFunc = ::std::option::Option<unsafe extern "C" fn(error: *mut GError)>;
3606extern "C" {
3607    pub fn g_error_domain_register_static(
3608        error_type_name: *const ::std::os::raw::c_char,
3609        error_type_private_size: gsize,
3610        error_type_init: GErrorInitFunc,
3611        error_type_copy: GErrorCopyFunc,
3612        error_type_clear: GErrorClearFunc,
3613    ) -> GQuark;
3614}
3615extern "C" {
3616    pub fn g_error_domain_register(
3617        error_type_name: *const ::std::os::raw::c_char,
3618        error_type_private_size: gsize,
3619        error_type_init: GErrorInitFunc,
3620        error_type_copy: GErrorCopyFunc,
3621        error_type_clear: GErrorClearFunc,
3622    ) -> GQuark;
3623}
3624extern "C" {
3625    pub fn g_error_new(domain: GQuark, code: gint, format: *const gchar, ...) -> *mut GError;
3626}
3627extern "C" {
3628    pub fn g_error_new_literal(domain: GQuark, code: gint, message: *const gchar) -> *mut GError;
3629}
3630extern "C" {
3631    pub fn g_error_new_valist(
3632        domain: GQuark,
3633        code: gint,
3634        format: *const gchar,
3635        args: *mut __va_list_tag,
3636    ) -> *mut GError;
3637}
3638extern "C" {
3639    pub fn g_error_free(error: *mut GError);
3640}
3641extern "C" {
3642    pub fn g_error_copy(error: *const GError) -> *mut GError;
3643}
3644extern "C" {
3645    pub fn g_error_matches(error: *const GError, domain: GQuark, code: gint) -> gboolean;
3646}
3647extern "C" {
3648    pub fn g_set_error(
3649        err: *mut *mut GError,
3650        domain: GQuark,
3651        code: gint,
3652        format: *const gchar,
3653        ...
3654    );
3655}
3656extern "C" {
3657    pub fn g_set_error_literal(
3658        err: *mut *mut GError,
3659        domain: GQuark,
3660        code: gint,
3661        message: *const gchar,
3662    );
3663}
3664extern "C" {
3665    pub fn g_propagate_error(dest: *mut *mut GError, src: *mut GError);
3666}
3667extern "C" {
3668    pub fn g_clear_error(err: *mut *mut GError);
3669}
3670extern "C" {
3671    pub fn g_prefix_error(err: *mut *mut GError, format: *const gchar, ...);
3672}
3673extern "C" {
3674    pub fn g_prefix_error_literal(err: *mut *mut GError, prefix: *const gchar);
3675}
3676extern "C" {
3677    pub fn g_propagate_prefixed_error(
3678        dest: *mut *mut GError,
3679        src: *mut GError,
3680        format: *const gchar,
3681        ...
3682    );
3683}
3684extern "C" {
3685    pub fn g_get_user_name() -> *const gchar;
3686}
3687extern "C" {
3688    pub fn g_get_real_name() -> *const gchar;
3689}
3690extern "C" {
3691    pub fn g_get_home_dir() -> *const gchar;
3692}
3693extern "C" {
3694    pub fn g_get_tmp_dir() -> *const gchar;
3695}
3696extern "C" {
3697    pub fn g_get_host_name() -> *const gchar;
3698}
3699extern "C" {
3700    pub fn g_get_prgname() -> *const gchar;
3701}
3702extern "C" {
3703    pub fn g_set_prgname(prgname: *const gchar);
3704}
3705extern "C" {
3706    pub fn g_get_application_name() -> *const gchar;
3707}
3708extern "C" {
3709    pub fn g_set_application_name(application_name: *const gchar);
3710}
3711extern "C" {
3712    pub fn g_get_os_info(key_name: *const gchar) -> *mut gchar;
3713}
3714extern "C" {
3715    pub fn g_reload_user_special_dirs_cache();
3716}
3717extern "C" {
3718    pub fn g_get_user_data_dir() -> *const gchar;
3719}
3720extern "C" {
3721    pub fn g_get_user_config_dir() -> *const gchar;
3722}
3723extern "C" {
3724    pub fn g_get_user_cache_dir() -> *const gchar;
3725}
3726extern "C" {
3727    pub fn g_get_user_state_dir() -> *const gchar;
3728}
3729extern "C" {
3730    pub fn g_get_system_data_dirs() -> *const *const gchar;
3731}
3732extern "C" {
3733    pub fn g_get_system_config_dirs() -> *const *const gchar;
3734}
3735extern "C" {
3736    pub fn g_get_user_runtime_dir() -> *const gchar;
3737}
3738pub const GUserDirectory_G_USER_DIRECTORY_DESKTOP: GUserDirectory = 0;
3739pub const GUserDirectory_G_USER_DIRECTORY_DOCUMENTS: GUserDirectory = 1;
3740pub const GUserDirectory_G_USER_DIRECTORY_DOWNLOAD: GUserDirectory = 2;
3741pub const GUserDirectory_G_USER_DIRECTORY_MUSIC: GUserDirectory = 3;
3742pub const GUserDirectory_G_USER_DIRECTORY_PICTURES: GUserDirectory = 4;
3743pub const GUserDirectory_G_USER_DIRECTORY_PUBLIC_SHARE: GUserDirectory = 5;
3744pub const GUserDirectory_G_USER_DIRECTORY_TEMPLATES: GUserDirectory = 6;
3745pub const GUserDirectory_G_USER_DIRECTORY_VIDEOS: GUserDirectory = 7;
3746pub const GUserDirectory_G_USER_N_DIRECTORIES: GUserDirectory = 8;
3747pub type GUserDirectory = ::std::os::raw::c_uint;
3748extern "C" {
3749    pub fn g_get_user_special_dir(directory: GUserDirectory) -> *const gchar;
3750}
3751pub type GDebugKey = _GDebugKey;
3752#[repr(C)]
3753#[derive(Debug, Copy, Clone)]
3754pub struct _GDebugKey {
3755    pub key: *const gchar,
3756    pub value: guint,
3757}
3758#[test]
3759fn bindgen_test_layout__GDebugKey() {
3760    const UNINIT: ::std::mem::MaybeUninit<_GDebugKey> = ::std::mem::MaybeUninit::uninit();
3761    let ptr = UNINIT.as_ptr();
3762    assert_eq!(
3763        ::std::mem::size_of::<_GDebugKey>(),
3764        16usize,
3765        concat!("Size of: ", stringify!(_GDebugKey))
3766    );
3767    assert_eq!(
3768        ::std::mem::align_of::<_GDebugKey>(),
3769        8usize,
3770        concat!("Alignment of ", stringify!(_GDebugKey))
3771    );
3772    assert_eq!(
3773        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
3774        0usize,
3775        concat!(
3776            "Offset of field: ",
3777            stringify!(_GDebugKey),
3778            "::",
3779            stringify!(key)
3780        )
3781    );
3782    assert_eq!(
3783        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
3784        8usize,
3785        concat!(
3786            "Offset of field: ",
3787            stringify!(_GDebugKey),
3788            "::",
3789            stringify!(value)
3790        )
3791    );
3792}
3793extern "C" {
3794    pub fn g_parse_debug_string(
3795        string: *const gchar,
3796        keys: *const GDebugKey,
3797        nkeys: guint,
3798    ) -> guint;
3799}
3800extern "C" {
3801    pub fn g_snprintf(string: *mut gchar, n: gulong, format: *const gchar, ...) -> gint;
3802}
3803extern "C" {
3804    pub fn g_vsnprintf(
3805        string: *mut gchar,
3806        n: gulong,
3807        format: *const gchar,
3808        args: *mut __va_list_tag,
3809    ) -> gint;
3810}
3811extern "C" {
3812    pub fn g_nullify_pointer(nullify_location: *mut gpointer);
3813}
3814pub const GFormatSizeFlags_G_FORMAT_SIZE_DEFAULT: GFormatSizeFlags = 0;
3815pub const GFormatSizeFlags_G_FORMAT_SIZE_LONG_FORMAT: GFormatSizeFlags = 1;
3816pub const GFormatSizeFlags_G_FORMAT_SIZE_IEC_UNITS: GFormatSizeFlags = 2;
3817pub const GFormatSizeFlags_G_FORMAT_SIZE_BITS: GFormatSizeFlags = 4;
3818pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_VALUE: GFormatSizeFlags = 8;
3819pub const GFormatSizeFlags_G_FORMAT_SIZE_ONLY_UNIT: GFormatSizeFlags = 16;
3820pub type GFormatSizeFlags = ::std::os::raw::c_uint;
3821extern "C" {
3822    pub fn g_format_size_full(size: guint64, flags: GFormatSizeFlags) -> *mut gchar;
3823}
3824extern "C" {
3825    pub fn g_format_size(size: guint64) -> *mut gchar;
3826}
3827extern "C" {
3828    pub fn g_format_size_for_display(size: goffset) -> *mut gchar;
3829}
3830pub type GVoidFunc = ::std::option::Option<unsafe extern "C" fn()>;
3831extern "C" {
3832    pub fn g_atexit(func: GVoidFunc);
3833}
3834extern "C" {
3835    pub fn g_find_program_in_path(program: *const gchar) -> *mut gchar;
3836}
3837extern "C" {
3838    pub fn g_bit_nth_lsf(mask: gulong, nth_bit: gint) -> gint;
3839}
3840extern "C" {
3841    pub fn g_bit_nth_msf(mask: gulong, nth_bit: gint) -> gint;
3842}
3843extern "C" {
3844    pub fn g_bit_storage(number: gulong) -> guint;
3845}
3846pub type _Float32 = f32;
3847pub type _Float64 = f64;
3848pub type _Float32x = f64;
3849pub type _Float64x = u128;
3850#[repr(C)]
3851#[derive(Debug, Copy, Clone)]
3852pub struct div_t {
3853    pub quot: ::std::os::raw::c_int,
3854    pub rem: ::std::os::raw::c_int,
3855}
3856#[test]
3857fn bindgen_test_layout_div_t() {
3858    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
3859    let ptr = UNINIT.as_ptr();
3860    assert_eq!(
3861        ::std::mem::size_of::<div_t>(),
3862        8usize,
3863        concat!("Size of: ", stringify!(div_t))
3864    );
3865    assert_eq!(
3866        ::std::mem::align_of::<div_t>(),
3867        4usize,
3868        concat!("Alignment of ", stringify!(div_t))
3869    );
3870    assert_eq!(
3871        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3872        0usize,
3873        concat!(
3874            "Offset of field: ",
3875            stringify!(div_t),
3876            "::",
3877            stringify!(quot)
3878        )
3879    );
3880    assert_eq!(
3881        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3882        4usize,
3883        concat!(
3884            "Offset of field: ",
3885            stringify!(div_t),
3886            "::",
3887            stringify!(rem)
3888        )
3889    );
3890}
3891#[repr(C)]
3892#[derive(Debug, Copy, Clone)]
3893pub struct ldiv_t {
3894    pub quot: ::std::os::raw::c_long,
3895    pub rem: ::std::os::raw::c_long,
3896}
3897#[test]
3898fn bindgen_test_layout_ldiv_t() {
3899    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
3900    let ptr = UNINIT.as_ptr();
3901    assert_eq!(
3902        ::std::mem::size_of::<ldiv_t>(),
3903        16usize,
3904        concat!("Size of: ", stringify!(ldiv_t))
3905    );
3906    assert_eq!(
3907        ::std::mem::align_of::<ldiv_t>(),
3908        8usize,
3909        concat!("Alignment of ", stringify!(ldiv_t))
3910    );
3911    assert_eq!(
3912        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3913        0usize,
3914        concat!(
3915            "Offset of field: ",
3916            stringify!(ldiv_t),
3917            "::",
3918            stringify!(quot)
3919        )
3920    );
3921    assert_eq!(
3922        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3923        8usize,
3924        concat!(
3925            "Offset of field: ",
3926            stringify!(ldiv_t),
3927            "::",
3928            stringify!(rem)
3929        )
3930    );
3931}
3932#[repr(C)]
3933#[derive(Debug, Copy, Clone)]
3934pub struct lldiv_t {
3935    pub quot: ::std::os::raw::c_longlong,
3936    pub rem: ::std::os::raw::c_longlong,
3937}
3938#[test]
3939fn bindgen_test_layout_lldiv_t() {
3940    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
3941    let ptr = UNINIT.as_ptr();
3942    assert_eq!(
3943        ::std::mem::size_of::<lldiv_t>(),
3944        16usize,
3945        concat!("Size of: ", stringify!(lldiv_t))
3946    );
3947    assert_eq!(
3948        ::std::mem::align_of::<lldiv_t>(),
3949        8usize,
3950        concat!("Alignment of ", stringify!(lldiv_t))
3951    );
3952    assert_eq!(
3953        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
3954        0usize,
3955        concat!(
3956            "Offset of field: ",
3957            stringify!(lldiv_t),
3958            "::",
3959            stringify!(quot)
3960        )
3961    );
3962    assert_eq!(
3963        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
3964        8usize,
3965        concat!(
3966            "Offset of field: ",
3967            stringify!(lldiv_t),
3968            "::",
3969            stringify!(rem)
3970        )
3971    );
3972}
3973extern "C" {
3974    pub fn __ctype_get_mb_cur_max() -> usize;
3975}
3976extern "C" {
3977    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
3978}
3979extern "C" {
3980    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3981}
3982extern "C" {
3983    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3984}
3985extern "C" {
3986    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3987}
3988extern "C" {
3989    pub fn strtod(
3990        __nptr: *const ::std::os::raw::c_char,
3991        __endptr: *mut *mut ::std::os::raw::c_char,
3992    ) -> f64;
3993}
3994extern "C" {
3995    pub fn strtof(
3996        __nptr: *const ::std::os::raw::c_char,
3997        __endptr: *mut *mut ::std::os::raw::c_char,
3998    ) -> f32;
3999}
4000extern "C" {
4001    pub fn strtold(
4002        __nptr: *const ::std::os::raw::c_char,
4003        __endptr: *mut *mut ::std::os::raw::c_char,
4004    ) -> u128;
4005}
4006extern "C" {
4007    pub fn strtol(
4008        __nptr: *const ::std::os::raw::c_char,
4009        __endptr: *mut *mut ::std::os::raw::c_char,
4010        __base: ::std::os::raw::c_int,
4011    ) -> ::std::os::raw::c_long;
4012}
4013extern "C" {
4014    pub fn strtoul(
4015        __nptr: *const ::std::os::raw::c_char,
4016        __endptr: *mut *mut ::std::os::raw::c_char,
4017        __base: ::std::os::raw::c_int,
4018    ) -> ::std::os::raw::c_ulong;
4019}
4020extern "C" {
4021    pub fn strtoq(
4022        __nptr: *const ::std::os::raw::c_char,
4023        __endptr: *mut *mut ::std::os::raw::c_char,
4024        __base: ::std::os::raw::c_int,
4025    ) -> ::std::os::raw::c_longlong;
4026}
4027extern "C" {
4028    pub fn strtouq(
4029        __nptr: *const ::std::os::raw::c_char,
4030        __endptr: *mut *mut ::std::os::raw::c_char,
4031        __base: ::std::os::raw::c_int,
4032    ) -> ::std::os::raw::c_ulonglong;
4033}
4034extern "C" {
4035    pub fn strtoll(
4036        __nptr: *const ::std::os::raw::c_char,
4037        __endptr: *mut *mut ::std::os::raw::c_char,
4038        __base: ::std::os::raw::c_int,
4039    ) -> ::std::os::raw::c_longlong;
4040}
4041extern "C" {
4042    pub fn strtoull(
4043        __nptr: *const ::std::os::raw::c_char,
4044        __endptr: *mut *mut ::std::os::raw::c_char,
4045        __base: ::std::os::raw::c_int,
4046    ) -> ::std::os::raw::c_ulonglong;
4047}
4048extern "C" {
4049    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
4050}
4051extern "C" {
4052    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
4053}
4054pub type u_char = __u_char;
4055pub type u_short = __u_short;
4056pub type u_int = __u_int;
4057pub type u_long = __u_long;
4058pub type quad_t = __quad_t;
4059pub type u_quad_t = __u_quad_t;
4060pub type fsid_t = __fsid_t;
4061pub type loff_t = __loff_t;
4062pub type ino_t = __ino_t;
4063pub type dev_t = __dev_t;
4064pub type gid_t = __gid_t;
4065pub type mode_t = __mode_t;
4066pub type nlink_t = __nlink_t;
4067pub type uid_t = __uid_t;
4068pub type off_t = __off_t;
4069pub type id_t = __id_t;
4070pub type daddr_t = __daddr_t;
4071pub type caddr_t = __caddr_t;
4072pub type key_t = __key_t;
4073pub type ulong = ::std::os::raw::c_ulong;
4074pub type ushort = ::std::os::raw::c_ushort;
4075pub type uint = ::std::os::raw::c_uint;
4076pub type u_int8_t = __uint8_t;
4077pub type u_int16_t = __uint16_t;
4078pub type u_int32_t = __uint32_t;
4079pub type u_int64_t = __uint64_t;
4080pub type register_t = ::std::os::raw::c_long;
4081#[repr(C)]
4082#[derive(Debug, Copy, Clone)]
4083pub struct __sigset_t {
4084    pub __val: [::std::os::raw::c_ulong; 16usize],
4085}
4086#[test]
4087fn bindgen_test_layout___sigset_t() {
4088    const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
4089    let ptr = UNINIT.as_ptr();
4090    assert_eq!(
4091        ::std::mem::size_of::<__sigset_t>(),
4092        128usize,
4093        concat!("Size of: ", stringify!(__sigset_t))
4094    );
4095    assert_eq!(
4096        ::std::mem::align_of::<__sigset_t>(),
4097        8usize,
4098        concat!("Alignment of ", stringify!(__sigset_t))
4099    );
4100    assert_eq!(
4101        unsafe { ::std::ptr::addr_of!((*ptr).__val) as usize - ptr as usize },
4102        0usize,
4103        concat!(
4104            "Offset of field: ",
4105            stringify!(__sigset_t),
4106            "::",
4107            stringify!(__val)
4108        )
4109    );
4110}
4111pub type sigset_t = __sigset_t;
4112#[repr(C)]
4113#[derive(Debug, Copy, Clone)]
4114pub struct timeval {
4115    pub tv_sec: __time_t,
4116    pub tv_usec: __suseconds_t,
4117}
4118#[test]
4119fn bindgen_test_layout_timeval() {
4120    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
4121    let ptr = UNINIT.as_ptr();
4122    assert_eq!(
4123        ::std::mem::size_of::<timeval>(),
4124        16usize,
4125        concat!("Size of: ", stringify!(timeval))
4126    );
4127    assert_eq!(
4128        ::std::mem::align_of::<timeval>(),
4129        8usize,
4130        concat!("Alignment of ", stringify!(timeval))
4131    );
4132    assert_eq!(
4133        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
4134        0usize,
4135        concat!(
4136            "Offset of field: ",
4137            stringify!(timeval),
4138            "::",
4139            stringify!(tv_sec)
4140        )
4141    );
4142    assert_eq!(
4143        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
4144        8usize,
4145        concat!(
4146            "Offset of field: ",
4147            stringify!(timeval),
4148            "::",
4149            stringify!(tv_usec)
4150        )
4151    );
4152}
4153pub type suseconds_t = __suseconds_t;
4154pub type __fd_mask = ::std::os::raw::c_long;
4155#[repr(C)]
4156#[derive(Debug, Copy, Clone)]
4157pub struct fd_set {
4158    pub __fds_bits: [__fd_mask; 16usize],
4159}
4160#[test]
4161fn bindgen_test_layout_fd_set() {
4162    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
4163    let ptr = UNINIT.as_ptr();
4164    assert_eq!(
4165        ::std::mem::size_of::<fd_set>(),
4166        128usize,
4167        concat!("Size of: ", stringify!(fd_set))
4168    );
4169    assert_eq!(
4170        ::std::mem::align_of::<fd_set>(),
4171        8usize,
4172        concat!("Alignment of ", stringify!(fd_set))
4173    );
4174    assert_eq!(
4175        unsafe { ::std::ptr::addr_of!((*ptr).__fds_bits) as usize - ptr as usize },
4176        0usize,
4177        concat!(
4178            "Offset of field: ",
4179            stringify!(fd_set),
4180            "::",
4181            stringify!(__fds_bits)
4182        )
4183    );
4184}
4185pub type fd_mask = __fd_mask;
4186extern "C" {
4187    pub fn select(
4188        __nfds: ::std::os::raw::c_int,
4189        __readfds: *mut fd_set,
4190        __writefds: *mut fd_set,
4191        __exceptfds: *mut fd_set,
4192        __timeout: *mut timeval,
4193    ) -> ::std::os::raw::c_int;
4194}
4195extern "C" {
4196    pub fn pselect(
4197        __nfds: ::std::os::raw::c_int,
4198        __readfds: *mut fd_set,
4199        __writefds: *mut fd_set,
4200        __exceptfds: *mut fd_set,
4201        __timeout: *const timespec,
4202        __sigmask: *const __sigset_t,
4203    ) -> ::std::os::raw::c_int;
4204}
4205pub type blksize_t = __blksize_t;
4206pub type blkcnt_t = __blkcnt_t;
4207pub type fsblkcnt_t = __fsblkcnt_t;
4208pub type fsfilcnt_t = __fsfilcnt_t;
4209#[repr(C)]
4210#[derive(Copy, Clone)]
4211pub union __atomic_wide_counter {
4212    pub __value64: ::std::os::raw::c_ulonglong,
4213    pub __value32: __atomic_wide_counter__bindgen_ty_1,
4214}
4215#[repr(C)]
4216#[derive(Debug, Copy, Clone)]
4217pub struct __atomic_wide_counter__bindgen_ty_1 {
4218    pub __low: ::std::os::raw::c_uint,
4219    pub __high: ::std::os::raw::c_uint,
4220}
4221#[test]
4222fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
4223    const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
4224        ::std::mem::MaybeUninit::uninit();
4225    let ptr = UNINIT.as_ptr();
4226    assert_eq!(
4227        ::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
4228        8usize,
4229        concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1))
4230    );
4231    assert_eq!(
4232        ::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
4233        4usize,
4234        concat!(
4235            "Alignment of ",
4236            stringify!(__atomic_wide_counter__bindgen_ty_1)
4237        )
4238    );
4239    assert_eq!(
4240        unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
4241        0usize,
4242        concat!(
4243            "Offset of field: ",
4244            stringify!(__atomic_wide_counter__bindgen_ty_1),
4245            "::",
4246            stringify!(__low)
4247        )
4248    );
4249    assert_eq!(
4250        unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
4251        4usize,
4252        concat!(
4253            "Offset of field: ",
4254            stringify!(__atomic_wide_counter__bindgen_ty_1),
4255            "::",
4256            stringify!(__high)
4257        )
4258    );
4259}
4260#[test]
4261fn bindgen_test_layout___atomic_wide_counter() {
4262    const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> =
4263        ::std::mem::MaybeUninit::uninit();
4264    let ptr = UNINIT.as_ptr();
4265    assert_eq!(
4266        ::std::mem::size_of::<__atomic_wide_counter>(),
4267        8usize,
4268        concat!("Size of: ", stringify!(__atomic_wide_counter))
4269    );
4270    assert_eq!(
4271        ::std::mem::align_of::<__atomic_wide_counter>(),
4272        8usize,
4273        concat!("Alignment of ", stringify!(__atomic_wide_counter))
4274    );
4275    assert_eq!(
4276        unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
4277        0usize,
4278        concat!(
4279            "Offset of field: ",
4280            stringify!(__atomic_wide_counter),
4281            "::",
4282            stringify!(__value64)
4283        )
4284    );
4285    assert_eq!(
4286        unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
4287        0usize,
4288        concat!(
4289            "Offset of field: ",
4290            stringify!(__atomic_wide_counter),
4291            "::",
4292            stringify!(__value32)
4293        )
4294    );
4295}
4296#[repr(C)]
4297#[derive(Debug, Copy, Clone)]
4298pub struct __pthread_internal_list {
4299    pub __prev: *mut __pthread_internal_list,
4300    pub __next: *mut __pthread_internal_list,
4301}
4302#[test]
4303fn bindgen_test_layout___pthread_internal_list() {
4304    const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
4305        ::std::mem::MaybeUninit::uninit();
4306    let ptr = UNINIT.as_ptr();
4307    assert_eq!(
4308        ::std::mem::size_of::<__pthread_internal_list>(),
4309        16usize,
4310        concat!("Size of: ", stringify!(__pthread_internal_list))
4311    );
4312    assert_eq!(
4313        ::std::mem::align_of::<__pthread_internal_list>(),
4314        8usize,
4315        concat!("Alignment of ", stringify!(__pthread_internal_list))
4316    );
4317    assert_eq!(
4318        unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
4319        0usize,
4320        concat!(
4321            "Offset of field: ",
4322            stringify!(__pthread_internal_list),
4323            "::",
4324            stringify!(__prev)
4325        )
4326    );
4327    assert_eq!(
4328        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
4329        8usize,
4330        concat!(
4331            "Offset of field: ",
4332            stringify!(__pthread_internal_list),
4333            "::",
4334            stringify!(__next)
4335        )
4336    );
4337}
4338pub type __pthread_list_t = __pthread_internal_list;
4339#[repr(C)]
4340#[derive(Debug, Copy, Clone)]
4341pub struct __pthread_internal_slist {
4342    pub __next: *mut __pthread_internal_slist,
4343}
4344#[test]
4345fn bindgen_test_layout___pthread_internal_slist() {
4346    const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
4347        ::std::mem::MaybeUninit::uninit();
4348    let ptr = UNINIT.as_ptr();
4349    assert_eq!(
4350        ::std::mem::size_of::<__pthread_internal_slist>(),
4351        8usize,
4352        concat!("Size of: ", stringify!(__pthread_internal_slist))
4353    );
4354    assert_eq!(
4355        ::std::mem::align_of::<__pthread_internal_slist>(),
4356        8usize,
4357        concat!("Alignment of ", stringify!(__pthread_internal_slist))
4358    );
4359    assert_eq!(
4360        unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
4361        0usize,
4362        concat!(
4363            "Offset of field: ",
4364            stringify!(__pthread_internal_slist),
4365            "::",
4366            stringify!(__next)
4367        )
4368    );
4369}
4370pub type __pthread_slist_t = __pthread_internal_slist;
4371#[repr(C)]
4372#[derive(Debug, Copy, Clone)]
4373pub struct __pthread_mutex_s {
4374    pub __lock: ::std::os::raw::c_int,
4375    pub __count: ::std::os::raw::c_uint,
4376    pub __owner: ::std::os::raw::c_int,
4377    pub __nusers: ::std::os::raw::c_uint,
4378    pub __kind: ::std::os::raw::c_int,
4379    pub __spins: ::std::os::raw::c_short,
4380    pub __elision: ::std::os::raw::c_short,
4381    pub __list: __pthread_list_t,
4382}
4383#[test]
4384fn bindgen_test_layout___pthread_mutex_s() {
4385    const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
4386    let ptr = UNINIT.as_ptr();
4387    assert_eq!(
4388        ::std::mem::size_of::<__pthread_mutex_s>(),
4389        40usize,
4390        concat!("Size of: ", stringify!(__pthread_mutex_s))
4391    );
4392    assert_eq!(
4393        ::std::mem::align_of::<__pthread_mutex_s>(),
4394        8usize,
4395        concat!("Alignment of ", stringify!(__pthread_mutex_s))
4396    );
4397    assert_eq!(
4398        unsafe { ::std::ptr::addr_of!((*ptr).__lock) as usize - ptr as usize },
4399        0usize,
4400        concat!(
4401            "Offset of field: ",
4402            stringify!(__pthread_mutex_s),
4403            "::",
4404            stringify!(__lock)
4405        )
4406    );
4407    assert_eq!(
4408        unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
4409        4usize,
4410        concat!(
4411            "Offset of field: ",
4412            stringify!(__pthread_mutex_s),
4413            "::",
4414            stringify!(__count)
4415        )
4416    );
4417    assert_eq!(
4418        unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
4419        8usize,
4420        concat!(
4421            "Offset of field: ",
4422            stringify!(__pthread_mutex_s),
4423            "::",
4424            stringify!(__owner)
4425        )
4426    );
4427    assert_eq!(
4428        unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
4429        12usize,
4430        concat!(
4431            "Offset of field: ",
4432            stringify!(__pthread_mutex_s),
4433            "::",
4434            stringify!(__nusers)
4435        )
4436    );
4437    assert_eq!(
4438        unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
4439        16usize,
4440        concat!(
4441            "Offset of field: ",
4442            stringify!(__pthread_mutex_s),
4443            "::",
4444            stringify!(__kind)
4445        )
4446    );
4447    assert_eq!(
4448        unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
4449        20usize,
4450        concat!(
4451            "Offset of field: ",
4452            stringify!(__pthread_mutex_s),
4453            "::",
4454            stringify!(__spins)
4455        )
4456    );
4457    assert_eq!(
4458        unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
4459        22usize,
4460        concat!(
4461            "Offset of field: ",
4462            stringify!(__pthread_mutex_s),
4463            "::",
4464            stringify!(__elision)
4465        )
4466    );
4467    assert_eq!(
4468        unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
4469        24usize,
4470        concat!(
4471            "Offset of field: ",
4472            stringify!(__pthread_mutex_s),
4473            "::",
4474            stringify!(__list)
4475        )
4476    );
4477}
4478#[repr(C)]
4479#[derive(Debug, Copy, Clone)]
4480pub struct __pthread_rwlock_arch_t {
4481    pub __readers: ::std::os::raw::c_uint,
4482    pub __writers: ::std::os::raw::c_uint,
4483    pub __wrphase_futex: ::std::os::raw::c_uint,
4484    pub __writers_futex: ::std::os::raw::c_uint,
4485    pub __pad3: ::std::os::raw::c_uint,
4486    pub __pad4: ::std::os::raw::c_uint,
4487    pub __cur_writer: ::std::os::raw::c_int,
4488    pub __shared: ::std::os::raw::c_int,
4489    pub __rwelision: ::std::os::raw::c_schar,
4490    pub __pad1: [::std::os::raw::c_uchar; 7usize],
4491    pub __pad2: ::std::os::raw::c_ulong,
4492    pub __flags: ::std::os::raw::c_uint,
4493}
4494#[test]
4495fn bindgen_test_layout___pthread_rwlock_arch_t() {
4496    const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
4497        ::std::mem::MaybeUninit::uninit();
4498    let ptr = UNINIT.as_ptr();
4499    assert_eq!(
4500        ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
4501        56usize,
4502        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
4503    );
4504    assert_eq!(
4505        ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
4506        8usize,
4507        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
4508    );
4509    assert_eq!(
4510        unsafe { ::std::ptr::addr_of!((*ptr).__readers) as usize - ptr as usize },
4511        0usize,
4512        concat!(
4513            "Offset of field: ",
4514            stringify!(__pthread_rwlock_arch_t),
4515            "::",
4516            stringify!(__readers)
4517        )
4518    );
4519    assert_eq!(
4520        unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
4521        4usize,
4522        concat!(
4523            "Offset of field: ",
4524            stringify!(__pthread_rwlock_arch_t),
4525            "::",
4526            stringify!(__writers)
4527        )
4528    );
4529    assert_eq!(
4530        unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
4531        8usize,
4532        concat!(
4533            "Offset of field: ",
4534            stringify!(__pthread_rwlock_arch_t),
4535            "::",
4536            stringify!(__wrphase_futex)
4537        )
4538    );
4539    assert_eq!(
4540        unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
4541        12usize,
4542        concat!(
4543            "Offset of field: ",
4544            stringify!(__pthread_rwlock_arch_t),
4545            "::",
4546            stringify!(__writers_futex)
4547        )
4548    );
4549    assert_eq!(
4550        unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
4551        16usize,
4552        concat!(
4553            "Offset of field: ",
4554            stringify!(__pthread_rwlock_arch_t),
4555            "::",
4556            stringify!(__pad3)
4557        )
4558    );
4559    assert_eq!(
4560        unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
4561        20usize,
4562        concat!(
4563            "Offset of field: ",
4564            stringify!(__pthread_rwlock_arch_t),
4565            "::",
4566            stringify!(__pad4)
4567        )
4568    );
4569    assert_eq!(
4570        unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
4571        24usize,
4572        concat!(
4573            "Offset of field: ",
4574            stringify!(__pthread_rwlock_arch_t),
4575            "::",
4576            stringify!(__cur_writer)
4577        )
4578    );
4579    assert_eq!(
4580        unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
4581        28usize,
4582        concat!(
4583            "Offset of field: ",
4584            stringify!(__pthread_rwlock_arch_t),
4585            "::",
4586            stringify!(__shared)
4587        )
4588    );
4589    assert_eq!(
4590        unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
4591        32usize,
4592        concat!(
4593            "Offset of field: ",
4594            stringify!(__pthread_rwlock_arch_t),
4595            "::",
4596            stringify!(__rwelision)
4597        )
4598    );
4599    assert_eq!(
4600        unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
4601        33usize,
4602        concat!(
4603            "Offset of field: ",
4604            stringify!(__pthread_rwlock_arch_t),
4605            "::",
4606            stringify!(__pad1)
4607        )
4608    );
4609    assert_eq!(
4610        unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
4611        40usize,
4612        concat!(
4613            "Offset of field: ",
4614            stringify!(__pthread_rwlock_arch_t),
4615            "::",
4616            stringify!(__pad2)
4617        )
4618    );
4619    assert_eq!(
4620        unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
4621        48usize,
4622        concat!(
4623            "Offset of field: ",
4624            stringify!(__pthread_rwlock_arch_t),
4625            "::",
4626            stringify!(__flags)
4627        )
4628    );
4629}
4630#[repr(C)]
4631#[derive(Copy, Clone)]
4632pub struct __pthread_cond_s {
4633    pub __wseq: __atomic_wide_counter,
4634    pub __g1_start: __atomic_wide_counter,
4635    pub __g_refs: [::std::os::raw::c_uint; 2usize],
4636    pub __g_size: [::std::os::raw::c_uint; 2usize],
4637    pub __g1_orig_size: ::std::os::raw::c_uint,
4638    pub __wrefs: ::std::os::raw::c_uint,
4639    pub __g_signals: [::std::os::raw::c_uint; 2usize],
4640}
4641#[test]
4642fn bindgen_test_layout___pthread_cond_s() {
4643    const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
4644    let ptr = UNINIT.as_ptr();
4645    assert_eq!(
4646        ::std::mem::size_of::<__pthread_cond_s>(),
4647        48usize,
4648        concat!("Size of: ", stringify!(__pthread_cond_s))
4649    );
4650    assert_eq!(
4651        ::std::mem::align_of::<__pthread_cond_s>(),
4652        8usize,
4653        concat!("Alignment of ", stringify!(__pthread_cond_s))
4654    );
4655    assert_eq!(
4656        unsafe { ::std::ptr::addr_of!((*ptr).__wseq) as usize - ptr as usize },
4657        0usize,
4658        concat!(
4659            "Offset of field: ",
4660            stringify!(__pthread_cond_s),
4661            "::",
4662            stringify!(__wseq)
4663        )
4664    );
4665    assert_eq!(
4666        unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
4667        8usize,
4668        concat!(
4669            "Offset of field: ",
4670            stringify!(__pthread_cond_s),
4671            "::",
4672            stringify!(__g1_start)
4673        )
4674    );
4675    assert_eq!(
4676        unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
4677        16usize,
4678        concat!(
4679            "Offset of field: ",
4680            stringify!(__pthread_cond_s),
4681            "::",
4682            stringify!(__g_refs)
4683        )
4684    );
4685    assert_eq!(
4686        unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
4687        24usize,
4688        concat!(
4689            "Offset of field: ",
4690            stringify!(__pthread_cond_s),
4691            "::",
4692            stringify!(__g_size)
4693        )
4694    );
4695    assert_eq!(
4696        unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
4697        32usize,
4698        concat!(
4699            "Offset of field: ",
4700            stringify!(__pthread_cond_s),
4701            "::",
4702            stringify!(__g1_orig_size)
4703        )
4704    );
4705    assert_eq!(
4706        unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
4707        36usize,
4708        concat!(
4709            "Offset of field: ",
4710            stringify!(__pthread_cond_s),
4711            "::",
4712            stringify!(__wrefs)
4713        )
4714    );
4715    assert_eq!(
4716        unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
4717        40usize,
4718        concat!(
4719            "Offset of field: ",
4720            stringify!(__pthread_cond_s),
4721            "::",
4722            stringify!(__g_signals)
4723        )
4724    );
4725}
4726pub type __tss_t = ::std::os::raw::c_uint;
4727pub type __thrd_t = ::std::os::raw::c_ulong;
4728#[repr(C)]
4729#[derive(Debug, Copy, Clone)]
4730pub struct __once_flag {
4731    pub __data: ::std::os::raw::c_int,
4732}
4733#[test]
4734fn bindgen_test_layout___once_flag() {
4735    const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit();
4736    let ptr = UNINIT.as_ptr();
4737    assert_eq!(
4738        ::std::mem::size_of::<__once_flag>(),
4739        4usize,
4740        concat!("Size of: ", stringify!(__once_flag))
4741    );
4742    assert_eq!(
4743        ::std::mem::align_of::<__once_flag>(),
4744        4usize,
4745        concat!("Alignment of ", stringify!(__once_flag))
4746    );
4747    assert_eq!(
4748        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
4749        0usize,
4750        concat!(
4751            "Offset of field: ",
4752            stringify!(__once_flag),
4753            "::",
4754            stringify!(__data)
4755        )
4756    );
4757}
4758pub type pthread_t = ::std::os::raw::c_ulong;
4759#[repr(C)]
4760#[derive(Copy, Clone)]
4761pub union pthread_mutexattr_t {
4762    pub __size: [::std::os::raw::c_char; 4usize],
4763    pub __align: ::std::os::raw::c_int,
4764}
4765#[test]
4766fn bindgen_test_layout_pthread_mutexattr_t() {
4767    const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
4768    let ptr = UNINIT.as_ptr();
4769    assert_eq!(
4770        ::std::mem::size_of::<pthread_mutexattr_t>(),
4771        4usize,
4772        concat!("Size of: ", stringify!(pthread_mutexattr_t))
4773    );
4774    assert_eq!(
4775        ::std::mem::align_of::<pthread_mutexattr_t>(),
4776        4usize,
4777        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
4778    );
4779    assert_eq!(
4780        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
4781        0usize,
4782        concat!(
4783            "Offset of field: ",
4784            stringify!(pthread_mutexattr_t),
4785            "::",
4786            stringify!(__size)
4787        )
4788    );
4789    assert_eq!(
4790        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
4791        0usize,
4792        concat!(
4793            "Offset of field: ",
4794            stringify!(pthread_mutexattr_t),
4795            "::",
4796            stringify!(__align)
4797        )
4798    );
4799}
4800#[repr(C)]
4801#[derive(Copy, Clone)]
4802pub union pthread_condattr_t {
4803    pub __size: [::std::os::raw::c_char; 4usize],
4804    pub __align: ::std::os::raw::c_int,
4805}
4806#[test]
4807fn bindgen_test_layout_pthread_condattr_t() {
4808    const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
4809    let ptr = UNINIT.as_ptr();
4810    assert_eq!(
4811        ::std::mem::size_of::<pthread_condattr_t>(),
4812        4usize,
4813        concat!("Size of: ", stringify!(pthread_condattr_t))
4814    );
4815    assert_eq!(
4816        ::std::mem::align_of::<pthread_condattr_t>(),
4817        4usize,
4818        concat!("Alignment of ", stringify!(pthread_condattr_t))
4819    );
4820    assert_eq!(
4821        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
4822        0usize,
4823        concat!(
4824            "Offset of field: ",
4825            stringify!(pthread_condattr_t),
4826            "::",
4827            stringify!(__size)
4828        )
4829    );
4830    assert_eq!(
4831        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
4832        0usize,
4833        concat!(
4834            "Offset of field: ",
4835            stringify!(pthread_condattr_t),
4836            "::",
4837            stringify!(__align)
4838        )
4839    );
4840}
4841pub type pthread_key_t = ::std::os::raw::c_uint;
4842pub type pthread_once_t = ::std::os::raw::c_int;
4843#[repr(C)]
4844#[derive(Copy, Clone)]
4845pub union pthread_attr_t {
4846    pub __size: [::std::os::raw::c_char; 56usize],
4847    pub __align: ::std::os::raw::c_long,
4848}
4849#[test]
4850fn bindgen_test_layout_pthread_attr_t() {
4851    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
4852    let ptr = UNINIT.as_ptr();
4853    assert_eq!(
4854        ::std::mem::size_of::<pthread_attr_t>(),
4855        56usize,
4856        concat!("Size of: ", stringify!(pthread_attr_t))
4857    );
4858    assert_eq!(
4859        ::std::mem::align_of::<pthread_attr_t>(),
4860        8usize,
4861        concat!("Alignment of ", stringify!(pthread_attr_t))
4862    );
4863    assert_eq!(
4864        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
4865        0usize,
4866        concat!(
4867            "Offset of field: ",
4868            stringify!(pthread_attr_t),
4869            "::",
4870            stringify!(__size)
4871        )
4872    );
4873    assert_eq!(
4874        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
4875        0usize,
4876        concat!(
4877            "Offset of field: ",
4878            stringify!(pthread_attr_t),
4879            "::",
4880            stringify!(__align)
4881        )
4882    );
4883}
4884#[repr(C)]
4885#[derive(Copy, Clone)]
4886pub union pthread_mutex_t {
4887    pub __data: __pthread_mutex_s,
4888    pub __size: [::std::os::raw::c_char; 40usize],
4889    pub __align: ::std::os::raw::c_long,
4890}
4891#[test]
4892fn bindgen_test_layout_pthread_mutex_t() {
4893    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
4894    let ptr = UNINIT.as_ptr();
4895    assert_eq!(
4896        ::std::mem::size_of::<pthread_mutex_t>(),
4897        40usize,
4898        concat!("Size of: ", stringify!(pthread_mutex_t))
4899    );
4900    assert_eq!(
4901        ::std::mem::align_of::<pthread_mutex_t>(),
4902        8usize,
4903        concat!("Alignment of ", stringify!(pthread_mutex_t))
4904    );
4905    assert_eq!(
4906        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
4907        0usize,
4908        concat!(
4909            "Offset of field: ",
4910            stringify!(pthread_mutex_t),
4911            "::",
4912            stringify!(__data)
4913        )
4914    );
4915    assert_eq!(
4916        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
4917        0usize,
4918        concat!(
4919            "Offset of field: ",
4920            stringify!(pthread_mutex_t),
4921            "::",
4922            stringify!(__size)
4923        )
4924    );
4925    assert_eq!(
4926        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
4927        0usize,
4928        concat!(
4929            "Offset of field: ",
4930            stringify!(pthread_mutex_t),
4931            "::",
4932            stringify!(__align)
4933        )
4934    );
4935}
4936#[repr(C)]
4937#[derive(Copy, Clone)]
4938pub union pthread_cond_t {
4939    pub __data: __pthread_cond_s,
4940    pub __size: [::std::os::raw::c_char; 48usize],
4941    pub __align: ::std::os::raw::c_longlong,
4942}
4943#[test]
4944fn bindgen_test_layout_pthread_cond_t() {
4945    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
4946    let ptr = UNINIT.as_ptr();
4947    assert_eq!(
4948        ::std::mem::size_of::<pthread_cond_t>(),
4949        48usize,
4950        concat!("Size of: ", stringify!(pthread_cond_t))
4951    );
4952    assert_eq!(
4953        ::std::mem::align_of::<pthread_cond_t>(),
4954        8usize,
4955        concat!("Alignment of ", stringify!(pthread_cond_t))
4956    );
4957    assert_eq!(
4958        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
4959        0usize,
4960        concat!(
4961            "Offset of field: ",
4962            stringify!(pthread_cond_t),
4963            "::",
4964            stringify!(__data)
4965        )
4966    );
4967    assert_eq!(
4968        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
4969        0usize,
4970        concat!(
4971            "Offset of field: ",
4972            stringify!(pthread_cond_t),
4973            "::",
4974            stringify!(__size)
4975        )
4976    );
4977    assert_eq!(
4978        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
4979        0usize,
4980        concat!(
4981            "Offset of field: ",
4982            stringify!(pthread_cond_t),
4983            "::",
4984            stringify!(__align)
4985        )
4986    );
4987}
4988#[repr(C)]
4989#[derive(Copy, Clone)]
4990pub union pthread_rwlock_t {
4991    pub __data: __pthread_rwlock_arch_t,
4992    pub __size: [::std::os::raw::c_char; 56usize],
4993    pub __align: ::std::os::raw::c_long,
4994}
4995#[test]
4996fn bindgen_test_layout_pthread_rwlock_t() {
4997    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
4998    let ptr = UNINIT.as_ptr();
4999    assert_eq!(
5000        ::std::mem::size_of::<pthread_rwlock_t>(),
5001        56usize,
5002        concat!("Size of: ", stringify!(pthread_rwlock_t))
5003    );
5004    assert_eq!(
5005        ::std::mem::align_of::<pthread_rwlock_t>(),
5006        8usize,
5007        concat!("Alignment of ", stringify!(pthread_rwlock_t))
5008    );
5009    assert_eq!(
5010        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
5011        0usize,
5012        concat!(
5013            "Offset of field: ",
5014            stringify!(pthread_rwlock_t),
5015            "::",
5016            stringify!(__data)
5017        )
5018    );
5019    assert_eq!(
5020        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
5021        0usize,
5022        concat!(
5023            "Offset of field: ",
5024            stringify!(pthread_rwlock_t),
5025            "::",
5026            stringify!(__size)
5027        )
5028    );
5029    assert_eq!(
5030        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5031        0usize,
5032        concat!(
5033            "Offset of field: ",
5034            stringify!(pthread_rwlock_t),
5035            "::",
5036            stringify!(__align)
5037        )
5038    );
5039}
5040#[repr(C)]
5041#[derive(Copy, Clone)]
5042pub union pthread_rwlockattr_t {
5043    pub __size: [::std::os::raw::c_char; 8usize],
5044    pub __align: ::std::os::raw::c_long,
5045}
5046#[test]
5047fn bindgen_test_layout_pthread_rwlockattr_t() {
5048    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
5049    let ptr = UNINIT.as_ptr();
5050    assert_eq!(
5051        ::std::mem::size_of::<pthread_rwlockattr_t>(),
5052        8usize,
5053        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
5054    );
5055    assert_eq!(
5056        ::std::mem::align_of::<pthread_rwlockattr_t>(),
5057        8usize,
5058        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
5059    );
5060    assert_eq!(
5061        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
5062        0usize,
5063        concat!(
5064            "Offset of field: ",
5065            stringify!(pthread_rwlockattr_t),
5066            "::",
5067            stringify!(__size)
5068        )
5069    );
5070    assert_eq!(
5071        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5072        0usize,
5073        concat!(
5074            "Offset of field: ",
5075            stringify!(pthread_rwlockattr_t),
5076            "::",
5077            stringify!(__align)
5078        )
5079    );
5080}
5081pub type pthread_spinlock_t = ::std::os::raw::c_int;
5082#[repr(C)]
5083#[derive(Copy, Clone)]
5084pub union pthread_barrier_t {
5085    pub __size: [::std::os::raw::c_char; 32usize],
5086    pub __align: ::std::os::raw::c_long,
5087}
5088#[test]
5089fn bindgen_test_layout_pthread_barrier_t() {
5090    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
5091    let ptr = UNINIT.as_ptr();
5092    assert_eq!(
5093        ::std::mem::size_of::<pthread_barrier_t>(),
5094        32usize,
5095        concat!("Size of: ", stringify!(pthread_barrier_t))
5096    );
5097    assert_eq!(
5098        ::std::mem::align_of::<pthread_barrier_t>(),
5099        8usize,
5100        concat!("Alignment of ", stringify!(pthread_barrier_t))
5101    );
5102    assert_eq!(
5103        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
5104        0usize,
5105        concat!(
5106            "Offset of field: ",
5107            stringify!(pthread_barrier_t),
5108            "::",
5109            stringify!(__size)
5110        )
5111    );
5112    assert_eq!(
5113        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5114        0usize,
5115        concat!(
5116            "Offset of field: ",
5117            stringify!(pthread_barrier_t),
5118            "::",
5119            stringify!(__align)
5120        )
5121    );
5122}
5123#[repr(C)]
5124#[derive(Copy, Clone)]
5125pub union pthread_barrierattr_t {
5126    pub __size: [::std::os::raw::c_char; 4usize],
5127    pub __align: ::std::os::raw::c_int,
5128}
5129#[test]
5130fn bindgen_test_layout_pthread_barrierattr_t() {
5131    const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
5132        ::std::mem::MaybeUninit::uninit();
5133    let ptr = UNINIT.as_ptr();
5134    assert_eq!(
5135        ::std::mem::size_of::<pthread_barrierattr_t>(),
5136        4usize,
5137        concat!("Size of: ", stringify!(pthread_barrierattr_t))
5138    );
5139    assert_eq!(
5140        ::std::mem::align_of::<pthread_barrierattr_t>(),
5141        4usize,
5142        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
5143    );
5144    assert_eq!(
5145        unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
5146        0usize,
5147        concat!(
5148            "Offset of field: ",
5149            stringify!(pthread_barrierattr_t),
5150            "::",
5151            stringify!(__size)
5152        )
5153    );
5154    assert_eq!(
5155        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5156        0usize,
5157        concat!(
5158            "Offset of field: ",
5159            stringify!(pthread_barrierattr_t),
5160            "::",
5161            stringify!(__align)
5162        )
5163    );
5164}
5165extern "C" {
5166    pub fn random() -> ::std::os::raw::c_long;
5167}
5168extern "C" {
5169    pub fn srandom(__seed: ::std::os::raw::c_uint);
5170}
5171extern "C" {
5172    pub fn initstate(
5173        __seed: ::std::os::raw::c_uint,
5174        __statebuf: *mut ::std::os::raw::c_char,
5175        __statelen: usize,
5176    ) -> *mut ::std::os::raw::c_char;
5177}
5178extern "C" {
5179    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5180}
5181#[repr(C)]
5182#[derive(Debug, Copy, Clone)]
5183pub struct random_data {
5184    pub fptr: *mut i32,
5185    pub rptr: *mut i32,
5186    pub state: *mut i32,
5187    pub rand_type: ::std::os::raw::c_int,
5188    pub rand_deg: ::std::os::raw::c_int,
5189    pub rand_sep: ::std::os::raw::c_int,
5190    pub end_ptr: *mut i32,
5191}
5192#[test]
5193fn bindgen_test_layout_random_data() {
5194    const UNINIT: ::std::mem::MaybeUninit<random_data> = ::std::mem::MaybeUninit::uninit();
5195    let ptr = UNINIT.as_ptr();
5196    assert_eq!(
5197        ::std::mem::size_of::<random_data>(),
5198        48usize,
5199        concat!("Size of: ", stringify!(random_data))
5200    );
5201    assert_eq!(
5202        ::std::mem::align_of::<random_data>(),
5203        8usize,
5204        concat!("Alignment of ", stringify!(random_data))
5205    );
5206    assert_eq!(
5207        unsafe { ::std::ptr::addr_of!((*ptr).fptr) as usize - ptr as usize },
5208        0usize,
5209        concat!(
5210            "Offset of field: ",
5211            stringify!(random_data),
5212            "::",
5213            stringify!(fptr)
5214        )
5215    );
5216    assert_eq!(
5217        unsafe { ::std::ptr::addr_of!((*ptr).rptr) as usize - ptr as usize },
5218        8usize,
5219        concat!(
5220            "Offset of field: ",
5221            stringify!(random_data),
5222            "::",
5223            stringify!(rptr)
5224        )
5225    );
5226    assert_eq!(
5227        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
5228        16usize,
5229        concat!(
5230            "Offset of field: ",
5231            stringify!(random_data),
5232            "::",
5233            stringify!(state)
5234        )
5235    );
5236    assert_eq!(
5237        unsafe { ::std::ptr::addr_of!((*ptr).rand_type) as usize - ptr as usize },
5238        24usize,
5239        concat!(
5240            "Offset of field: ",
5241            stringify!(random_data),
5242            "::",
5243            stringify!(rand_type)
5244        )
5245    );
5246    assert_eq!(
5247        unsafe { ::std::ptr::addr_of!((*ptr).rand_deg) as usize - ptr as usize },
5248        28usize,
5249        concat!(
5250            "Offset of field: ",
5251            stringify!(random_data),
5252            "::",
5253            stringify!(rand_deg)
5254        )
5255    );
5256    assert_eq!(
5257        unsafe { ::std::ptr::addr_of!((*ptr).rand_sep) as usize - ptr as usize },
5258        32usize,
5259        concat!(
5260            "Offset of field: ",
5261            stringify!(random_data),
5262            "::",
5263            stringify!(rand_sep)
5264        )
5265    );
5266    assert_eq!(
5267        unsafe { ::std::ptr::addr_of!((*ptr).end_ptr) as usize - ptr as usize },
5268        40usize,
5269        concat!(
5270            "Offset of field: ",
5271            stringify!(random_data),
5272            "::",
5273            stringify!(end_ptr)
5274        )
5275    );
5276}
5277extern "C" {
5278    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
5279}
5280extern "C" {
5281    pub fn srandom_r(
5282        __seed: ::std::os::raw::c_uint,
5283        __buf: *mut random_data,
5284    ) -> ::std::os::raw::c_int;
5285}
5286extern "C" {
5287    pub fn initstate_r(
5288        __seed: ::std::os::raw::c_uint,
5289        __statebuf: *mut ::std::os::raw::c_char,
5290        __statelen: usize,
5291        __buf: *mut random_data,
5292    ) -> ::std::os::raw::c_int;
5293}
5294extern "C" {
5295    pub fn setstate_r(
5296        __statebuf: *mut ::std::os::raw::c_char,
5297        __buf: *mut random_data,
5298    ) -> ::std::os::raw::c_int;
5299}
5300extern "C" {
5301    pub fn rand() -> ::std::os::raw::c_int;
5302}
5303extern "C" {
5304    pub fn srand(__seed: ::std::os::raw::c_uint);
5305}
5306extern "C" {
5307    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
5308}
5309extern "C" {
5310    pub fn drand48() -> f64;
5311}
5312extern "C" {
5313    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
5314}
5315extern "C" {
5316    pub fn lrand48() -> ::std::os::raw::c_long;
5317}
5318extern "C" {
5319    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
5320}
5321extern "C" {
5322    pub fn mrand48() -> ::std::os::raw::c_long;
5323}
5324extern "C" {
5325    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
5326}
5327extern "C" {
5328    pub fn srand48(__seedval: ::std::os::raw::c_long);
5329}
5330extern "C" {
5331    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
5332}
5333extern "C" {
5334    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
5335}
5336#[repr(C)]
5337#[derive(Debug, Copy, Clone)]
5338pub struct drand48_data {
5339    pub __x: [::std::os::raw::c_ushort; 3usize],
5340    pub __old_x: [::std::os::raw::c_ushort; 3usize],
5341    pub __c: ::std::os::raw::c_ushort,
5342    pub __init: ::std::os::raw::c_ushort,
5343    pub __a: ::std::os::raw::c_ulonglong,
5344}
5345#[test]
5346fn bindgen_test_layout_drand48_data() {
5347    const UNINIT: ::std::mem::MaybeUninit<drand48_data> = ::std::mem::MaybeUninit::uninit();
5348    let ptr = UNINIT.as_ptr();
5349    assert_eq!(
5350        ::std::mem::size_of::<drand48_data>(),
5351        24usize,
5352        concat!("Size of: ", stringify!(drand48_data))
5353    );
5354    assert_eq!(
5355        ::std::mem::align_of::<drand48_data>(),
5356        8usize,
5357        concat!("Alignment of ", stringify!(drand48_data))
5358    );
5359    assert_eq!(
5360        unsafe { ::std::ptr::addr_of!((*ptr).__x) as usize - ptr as usize },
5361        0usize,
5362        concat!(
5363            "Offset of field: ",
5364            stringify!(drand48_data),
5365            "::",
5366            stringify!(__x)
5367        )
5368    );
5369    assert_eq!(
5370        unsafe { ::std::ptr::addr_of!((*ptr).__old_x) as usize - ptr as usize },
5371        6usize,
5372        concat!(
5373            "Offset of field: ",
5374            stringify!(drand48_data),
5375            "::",
5376            stringify!(__old_x)
5377        )
5378    );
5379    assert_eq!(
5380        unsafe { ::std::ptr::addr_of!((*ptr).__c) as usize - ptr as usize },
5381        12usize,
5382        concat!(
5383            "Offset of field: ",
5384            stringify!(drand48_data),
5385            "::",
5386            stringify!(__c)
5387        )
5388    );
5389    assert_eq!(
5390        unsafe { ::std::ptr::addr_of!((*ptr).__init) as usize - ptr as usize },
5391        14usize,
5392        concat!(
5393            "Offset of field: ",
5394            stringify!(drand48_data),
5395            "::",
5396            stringify!(__init)
5397        )
5398    );
5399    assert_eq!(
5400        unsafe { ::std::ptr::addr_of!((*ptr).__a) as usize - ptr as usize },
5401        16usize,
5402        concat!(
5403            "Offset of field: ",
5404            stringify!(drand48_data),
5405            "::",
5406            stringify!(__a)
5407        )
5408    );
5409}
5410extern "C" {
5411    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
5412}
5413extern "C" {
5414    pub fn erand48_r(
5415        __xsubi: *mut ::std::os::raw::c_ushort,
5416        __buffer: *mut drand48_data,
5417        __result: *mut f64,
5418    ) -> ::std::os::raw::c_int;
5419}
5420extern "C" {
5421    pub fn lrand48_r(
5422        __buffer: *mut drand48_data,
5423        __result: *mut ::std::os::raw::c_long,
5424    ) -> ::std::os::raw::c_int;
5425}
5426extern "C" {
5427    pub fn nrand48_r(
5428        __xsubi: *mut ::std::os::raw::c_ushort,
5429        __buffer: *mut drand48_data,
5430        __result: *mut ::std::os::raw::c_long,
5431    ) -> ::std::os::raw::c_int;
5432}
5433extern "C" {
5434    pub fn mrand48_r(
5435        __buffer: *mut drand48_data,
5436        __result: *mut ::std::os::raw::c_long,
5437    ) -> ::std::os::raw::c_int;
5438}
5439extern "C" {
5440    pub fn jrand48_r(
5441        __xsubi: *mut ::std::os::raw::c_ushort,
5442        __buffer: *mut drand48_data,
5443        __result: *mut ::std::os::raw::c_long,
5444    ) -> ::std::os::raw::c_int;
5445}
5446extern "C" {
5447    pub fn srand48_r(
5448        __seedval: ::std::os::raw::c_long,
5449        __buffer: *mut drand48_data,
5450    ) -> ::std::os::raw::c_int;
5451}
5452extern "C" {
5453    pub fn seed48_r(
5454        __seed16v: *mut ::std::os::raw::c_ushort,
5455        __buffer: *mut drand48_data,
5456    ) -> ::std::os::raw::c_int;
5457}
5458extern "C" {
5459    pub fn lcong48_r(
5460        __param: *mut ::std::os::raw::c_ushort,
5461        __buffer: *mut drand48_data,
5462    ) -> ::std::os::raw::c_int;
5463}
5464extern "C" {
5465    pub fn arc4random() -> __uint32_t;
5466}
5467extern "C" {
5468    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __size: usize);
5469}
5470extern "C" {
5471    pub fn arc4random_uniform(__upper_bound: __uint32_t) -> __uint32_t;
5472}
5473extern "C" {
5474    pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
5475}
5476extern "C" {
5477    pub fn calloc(
5478        __nmemb: ::std::os::raw::c_ulong,
5479        __size: ::std::os::raw::c_ulong,
5480    ) -> *mut ::std::os::raw::c_void;
5481}
5482extern "C" {
5483    pub fn realloc(
5484        __ptr: *mut ::std::os::raw::c_void,
5485        __size: ::std::os::raw::c_ulong,
5486    ) -> *mut ::std::os::raw::c_void;
5487}
5488extern "C" {
5489    pub fn free(__ptr: *mut ::std::os::raw::c_void);
5490}
5491extern "C" {
5492    pub fn reallocarray(
5493        __ptr: *mut ::std::os::raw::c_void,
5494        __nmemb: usize,
5495        __size: usize,
5496    ) -> *mut ::std::os::raw::c_void;
5497}
5498extern "C" {
5499    pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
5500}
5501extern "C" {
5502    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
5503}
5504extern "C" {
5505    pub fn posix_memalign(
5506        __memptr: *mut *mut ::std::os::raw::c_void,
5507        __alignment: usize,
5508        __size: usize,
5509    ) -> ::std::os::raw::c_int;
5510}
5511extern "C" {
5512    pub fn aligned_alloc(
5513        __alignment: ::std::os::raw::c_ulong,
5514        __size: ::std::os::raw::c_ulong,
5515    ) -> *mut ::std::os::raw::c_void;
5516}
5517extern "C" {
5518    pub fn abort() -> !;
5519}
5520extern "C" {
5521    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
5522}
5523extern "C" {
5524    pub fn at_quick_exit(
5525        __func: ::std::option::Option<unsafe extern "C" fn()>,
5526    ) -> ::std::os::raw::c_int;
5527}
5528extern "C" {
5529    pub fn on_exit(
5530        __func: ::std::option::Option<
5531            unsafe extern "C" fn(
5532                __status: ::std::os::raw::c_int,
5533                __arg: *mut ::std::os::raw::c_void,
5534            ),
5535        >,
5536        __arg: *mut ::std::os::raw::c_void,
5537    ) -> ::std::os::raw::c_int;
5538}
5539extern "C" {
5540    pub fn exit(__status: ::std::os::raw::c_int) -> !;
5541}
5542extern "C" {
5543    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
5544}
5545extern "C" {
5546    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
5547}
5548extern "C" {
5549    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5550}
5551extern "C" {
5552    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5553}
5554extern "C" {
5555    pub fn setenv(
5556        __name: *const ::std::os::raw::c_char,
5557        __value: *const ::std::os::raw::c_char,
5558        __replace: ::std::os::raw::c_int,
5559    ) -> ::std::os::raw::c_int;
5560}
5561extern "C" {
5562    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5563}
5564extern "C" {
5565    pub fn clearenv() -> ::std::os::raw::c_int;
5566}
5567extern "C" {
5568    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5569}
5570extern "C" {
5571    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5572}
5573extern "C" {
5574    pub fn mkstemps(
5575        __template: *mut ::std::os::raw::c_char,
5576        __suffixlen: ::std::os::raw::c_int,
5577    ) -> ::std::os::raw::c_int;
5578}
5579extern "C" {
5580    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5581}
5582extern "C" {
5583    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5584}
5585extern "C" {
5586    pub fn realpath(
5587        __name: *const ::std::os::raw::c_char,
5588        __resolved: *mut ::std::os::raw::c_char,
5589    ) -> *mut ::std::os::raw::c_char;
5590}
5591pub type __compar_fn_t = ::std::option::Option<
5592    unsafe extern "C" fn(
5593        arg1: *const ::std::os::raw::c_void,
5594        arg2: *const ::std::os::raw::c_void,
5595    ) -> ::std::os::raw::c_int,
5596>;
5597extern "C" {
5598    pub fn bsearch(
5599        __key: *const ::std::os::raw::c_void,
5600        __base: *const ::std::os::raw::c_void,
5601        __nmemb: usize,
5602        __size: usize,
5603        __compar: __compar_fn_t,
5604    ) -> *mut ::std::os::raw::c_void;
5605}
5606extern "C" {
5607    pub fn qsort(
5608        __base: *mut ::std::os::raw::c_void,
5609        __nmemb: usize,
5610        __size: usize,
5611        __compar: __compar_fn_t,
5612    );
5613}
5614extern "C" {
5615    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5616}
5617extern "C" {
5618    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
5619}
5620extern "C" {
5621    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
5622}
5623extern "C" {
5624    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
5625}
5626extern "C" {
5627    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
5628}
5629extern "C" {
5630    pub fn lldiv(
5631        __numer: ::std::os::raw::c_longlong,
5632        __denom: ::std::os::raw::c_longlong,
5633    ) -> lldiv_t;
5634}
5635extern "C" {
5636    pub fn ecvt(
5637        __value: f64,
5638        __ndigit: ::std::os::raw::c_int,
5639        __decpt: *mut ::std::os::raw::c_int,
5640        __sign: *mut ::std::os::raw::c_int,
5641    ) -> *mut ::std::os::raw::c_char;
5642}
5643extern "C" {
5644    pub fn fcvt(
5645        __value: f64,
5646        __ndigit: ::std::os::raw::c_int,
5647        __decpt: *mut ::std::os::raw::c_int,
5648        __sign: *mut ::std::os::raw::c_int,
5649    ) -> *mut ::std::os::raw::c_char;
5650}
5651extern "C" {
5652    pub fn gcvt(
5653        __value: f64,
5654        __ndigit: ::std::os::raw::c_int,
5655        __buf: *mut ::std::os::raw::c_char,
5656    ) -> *mut ::std::os::raw::c_char;
5657}
5658extern "C" {
5659    pub fn qecvt(
5660        __value: u128,
5661        __ndigit: ::std::os::raw::c_int,
5662        __decpt: *mut ::std::os::raw::c_int,
5663        __sign: *mut ::std::os::raw::c_int,
5664    ) -> *mut ::std::os::raw::c_char;
5665}
5666extern "C" {
5667    pub fn qfcvt(
5668        __value: u128,
5669        __ndigit: ::std::os::raw::c_int,
5670        __decpt: *mut ::std::os::raw::c_int,
5671        __sign: *mut ::std::os::raw::c_int,
5672    ) -> *mut ::std::os::raw::c_char;
5673}
5674extern "C" {
5675    pub fn qgcvt(
5676        __value: u128,
5677        __ndigit: ::std::os::raw::c_int,
5678        __buf: *mut ::std::os::raw::c_char,
5679    ) -> *mut ::std::os::raw::c_char;
5680}
5681extern "C" {
5682    pub fn ecvt_r(
5683        __value: f64,
5684        __ndigit: ::std::os::raw::c_int,
5685        __decpt: *mut ::std::os::raw::c_int,
5686        __sign: *mut ::std::os::raw::c_int,
5687        __buf: *mut ::std::os::raw::c_char,
5688        __len: usize,
5689    ) -> ::std::os::raw::c_int;
5690}
5691extern "C" {
5692    pub fn fcvt_r(
5693        __value: f64,
5694        __ndigit: ::std::os::raw::c_int,
5695        __decpt: *mut ::std::os::raw::c_int,
5696        __sign: *mut ::std::os::raw::c_int,
5697        __buf: *mut ::std::os::raw::c_char,
5698        __len: usize,
5699    ) -> ::std::os::raw::c_int;
5700}
5701extern "C" {
5702    pub fn qecvt_r(
5703        __value: u128,
5704        __ndigit: ::std::os::raw::c_int,
5705        __decpt: *mut ::std::os::raw::c_int,
5706        __sign: *mut ::std::os::raw::c_int,
5707        __buf: *mut ::std::os::raw::c_char,
5708        __len: usize,
5709    ) -> ::std::os::raw::c_int;
5710}
5711extern "C" {
5712    pub fn qfcvt_r(
5713        __value: u128,
5714        __ndigit: ::std::os::raw::c_int,
5715        __decpt: *mut ::std::os::raw::c_int,
5716        __sign: *mut ::std::os::raw::c_int,
5717        __buf: *mut ::std::os::raw::c_char,
5718        __len: usize,
5719    ) -> ::std::os::raw::c_int;
5720}
5721extern "C" {
5722    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
5723}
5724extern "C" {
5725    pub fn mbtowc(
5726        __pwc: *mut wchar_t,
5727        __s: *const ::std::os::raw::c_char,
5728        __n: usize,
5729    ) -> ::std::os::raw::c_int;
5730}
5731extern "C" {
5732    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
5733}
5734extern "C" {
5735    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
5736}
5737extern "C" {
5738    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
5739}
5740extern "C" {
5741    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
5742}
5743extern "C" {
5744    pub fn getsubopt(
5745        __optionp: *mut *mut ::std::os::raw::c_char,
5746        __tokens: *const *mut ::std::os::raw::c_char,
5747        __valuep: *mut *mut ::std::os::raw::c_char,
5748    ) -> ::std::os::raw::c_int;
5749}
5750extern "C" {
5751    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
5752        -> ::std::os::raw::c_int;
5753}
5754extern "C" {
5755    pub fn g_thread_error_quark() -> GQuark;
5756}
5757pub const GThreadError_G_THREAD_ERROR_AGAIN: GThreadError = 0;
5758pub type GThreadError = ::std::os::raw::c_uint;
5759pub type GThreadFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gpointer>;
5760pub type GThread = _GThread;
5761pub type GMutex = _GMutex;
5762pub type GRecMutex = _GRecMutex;
5763pub type GRWLock = _GRWLock;
5764pub type GCond = _GCond;
5765pub type GPrivate = _GPrivate;
5766pub type GOnce = _GOnce;
5767#[repr(C)]
5768#[derive(Copy, Clone)]
5769pub union _GMutex {
5770    pub p: gpointer,
5771    pub i: [guint; 2usize],
5772}
5773#[test]
5774fn bindgen_test_layout__GMutex() {
5775    const UNINIT: ::std::mem::MaybeUninit<_GMutex> = ::std::mem::MaybeUninit::uninit();
5776    let ptr = UNINIT.as_ptr();
5777    assert_eq!(
5778        ::std::mem::size_of::<_GMutex>(),
5779        8usize,
5780        concat!("Size of: ", stringify!(_GMutex))
5781    );
5782    assert_eq!(
5783        ::std::mem::align_of::<_GMutex>(),
5784        8usize,
5785        concat!("Alignment of ", stringify!(_GMutex))
5786    );
5787    assert_eq!(
5788        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5789        0usize,
5790        concat!(
5791            "Offset of field: ",
5792            stringify!(_GMutex),
5793            "::",
5794            stringify!(p)
5795        )
5796    );
5797    assert_eq!(
5798        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
5799        0usize,
5800        concat!(
5801            "Offset of field: ",
5802            stringify!(_GMutex),
5803            "::",
5804            stringify!(i)
5805        )
5806    );
5807}
5808#[repr(C)]
5809#[derive(Debug, Copy, Clone)]
5810pub struct _GRWLock {
5811    pub p: gpointer,
5812    pub i: [guint; 2usize],
5813}
5814#[test]
5815fn bindgen_test_layout__GRWLock() {
5816    const UNINIT: ::std::mem::MaybeUninit<_GRWLock> = ::std::mem::MaybeUninit::uninit();
5817    let ptr = UNINIT.as_ptr();
5818    assert_eq!(
5819        ::std::mem::size_of::<_GRWLock>(),
5820        16usize,
5821        concat!("Size of: ", stringify!(_GRWLock))
5822    );
5823    assert_eq!(
5824        ::std::mem::align_of::<_GRWLock>(),
5825        8usize,
5826        concat!("Alignment of ", stringify!(_GRWLock))
5827    );
5828    assert_eq!(
5829        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5830        0usize,
5831        concat!(
5832            "Offset of field: ",
5833            stringify!(_GRWLock),
5834            "::",
5835            stringify!(p)
5836        )
5837    );
5838    assert_eq!(
5839        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
5840        8usize,
5841        concat!(
5842            "Offset of field: ",
5843            stringify!(_GRWLock),
5844            "::",
5845            stringify!(i)
5846        )
5847    );
5848}
5849#[repr(C)]
5850#[derive(Debug, Copy, Clone)]
5851pub struct _GCond {
5852    pub p: gpointer,
5853    pub i: [guint; 2usize],
5854}
5855#[test]
5856fn bindgen_test_layout__GCond() {
5857    const UNINIT: ::std::mem::MaybeUninit<_GCond> = ::std::mem::MaybeUninit::uninit();
5858    let ptr = UNINIT.as_ptr();
5859    assert_eq!(
5860        ::std::mem::size_of::<_GCond>(),
5861        16usize,
5862        concat!("Size of: ", stringify!(_GCond))
5863    );
5864    assert_eq!(
5865        ::std::mem::align_of::<_GCond>(),
5866        8usize,
5867        concat!("Alignment of ", stringify!(_GCond))
5868    );
5869    assert_eq!(
5870        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5871        0usize,
5872        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(p))
5873    );
5874    assert_eq!(
5875        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
5876        8usize,
5877        concat!("Offset of field: ", stringify!(_GCond), "::", stringify!(i))
5878    );
5879}
5880#[repr(C)]
5881#[derive(Debug, Copy, Clone)]
5882pub struct _GRecMutex {
5883    pub p: gpointer,
5884    pub i: [guint; 2usize],
5885}
5886#[test]
5887fn bindgen_test_layout__GRecMutex() {
5888    const UNINIT: ::std::mem::MaybeUninit<_GRecMutex> = ::std::mem::MaybeUninit::uninit();
5889    let ptr = UNINIT.as_ptr();
5890    assert_eq!(
5891        ::std::mem::size_of::<_GRecMutex>(),
5892        16usize,
5893        concat!("Size of: ", stringify!(_GRecMutex))
5894    );
5895    assert_eq!(
5896        ::std::mem::align_of::<_GRecMutex>(),
5897        8usize,
5898        concat!("Alignment of ", stringify!(_GRecMutex))
5899    );
5900    assert_eq!(
5901        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5902        0usize,
5903        concat!(
5904            "Offset of field: ",
5905            stringify!(_GRecMutex),
5906            "::",
5907            stringify!(p)
5908        )
5909    );
5910    assert_eq!(
5911        unsafe { ::std::ptr::addr_of!((*ptr).i) as usize - ptr as usize },
5912        8usize,
5913        concat!(
5914            "Offset of field: ",
5915            stringify!(_GRecMutex),
5916            "::",
5917            stringify!(i)
5918        )
5919    );
5920}
5921#[repr(C)]
5922#[derive(Debug, Copy, Clone)]
5923pub struct _GPrivate {
5924    pub p: gpointer,
5925    pub notify: GDestroyNotify,
5926    pub future: [gpointer; 2usize],
5927}
5928#[test]
5929fn bindgen_test_layout__GPrivate() {
5930    const UNINIT: ::std::mem::MaybeUninit<_GPrivate> = ::std::mem::MaybeUninit::uninit();
5931    let ptr = UNINIT.as_ptr();
5932    assert_eq!(
5933        ::std::mem::size_of::<_GPrivate>(),
5934        32usize,
5935        concat!("Size of: ", stringify!(_GPrivate))
5936    );
5937    assert_eq!(
5938        ::std::mem::align_of::<_GPrivate>(),
5939        8usize,
5940        concat!("Alignment of ", stringify!(_GPrivate))
5941    );
5942    assert_eq!(
5943        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5944        0usize,
5945        concat!(
5946            "Offset of field: ",
5947            stringify!(_GPrivate),
5948            "::",
5949            stringify!(p)
5950        )
5951    );
5952    assert_eq!(
5953        unsafe { ::std::ptr::addr_of!((*ptr).notify) as usize - ptr as usize },
5954        8usize,
5955        concat!(
5956            "Offset of field: ",
5957            stringify!(_GPrivate),
5958            "::",
5959            stringify!(notify)
5960        )
5961    );
5962    assert_eq!(
5963        unsafe { ::std::ptr::addr_of!((*ptr).future) as usize - ptr as usize },
5964        16usize,
5965        concat!(
5966            "Offset of field: ",
5967            stringify!(_GPrivate),
5968            "::",
5969            stringify!(future)
5970        )
5971    );
5972}
5973pub const GOnceStatus_G_ONCE_STATUS_NOTCALLED: GOnceStatus = 0;
5974pub const GOnceStatus_G_ONCE_STATUS_PROGRESS: GOnceStatus = 1;
5975pub const GOnceStatus_G_ONCE_STATUS_READY: GOnceStatus = 2;
5976pub type GOnceStatus = ::std::os::raw::c_uint;
5977#[repr(C)]
5978#[derive(Debug, Copy, Clone)]
5979pub struct _GOnce {
5980    pub status: GOnceStatus,
5981    pub retval: gpointer,
5982}
5983#[test]
5984fn bindgen_test_layout__GOnce() {
5985    const UNINIT: ::std::mem::MaybeUninit<_GOnce> = ::std::mem::MaybeUninit::uninit();
5986    let ptr = UNINIT.as_ptr();
5987    assert_eq!(
5988        ::std::mem::size_of::<_GOnce>(),
5989        16usize,
5990        concat!("Size of: ", stringify!(_GOnce))
5991    );
5992    assert_eq!(
5993        ::std::mem::align_of::<_GOnce>(),
5994        8usize,
5995        concat!("Alignment of ", stringify!(_GOnce))
5996    );
5997    assert_eq!(
5998        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
5999        0usize,
6000        concat!(
6001            "Offset of field: ",
6002            stringify!(_GOnce),
6003            "::",
6004            stringify!(status)
6005        )
6006    );
6007    assert_eq!(
6008        unsafe { ::std::ptr::addr_of!((*ptr).retval) as usize - ptr as usize },
6009        8usize,
6010        concat!(
6011            "Offset of field: ",
6012            stringify!(_GOnce),
6013            "::",
6014            stringify!(retval)
6015        )
6016    );
6017}
6018extern "C" {
6019    pub fn g_thread_ref(thread: *mut GThread) -> *mut GThread;
6020}
6021extern "C" {
6022    pub fn g_thread_unref(thread: *mut GThread);
6023}
6024extern "C" {
6025    pub fn g_thread_new(name: *const gchar, func: GThreadFunc, data: gpointer) -> *mut GThread;
6026}
6027extern "C" {
6028    pub fn g_thread_try_new(
6029        name: *const gchar,
6030        func: GThreadFunc,
6031        data: gpointer,
6032        error: *mut *mut GError,
6033    ) -> *mut GThread;
6034}
6035extern "C" {
6036    pub fn g_thread_self() -> *mut GThread;
6037}
6038extern "C" {
6039    pub fn g_thread_exit(retval: gpointer);
6040}
6041extern "C" {
6042    pub fn g_thread_join(thread: *mut GThread) -> gpointer;
6043}
6044extern "C" {
6045    pub fn g_thread_yield();
6046}
6047extern "C" {
6048    pub fn g_mutex_init(mutex: *mut GMutex);
6049}
6050extern "C" {
6051    pub fn g_mutex_clear(mutex: *mut GMutex);
6052}
6053extern "C" {
6054    pub fn g_mutex_lock(mutex: *mut GMutex);
6055}
6056extern "C" {
6057    pub fn g_mutex_trylock(mutex: *mut GMutex) -> gboolean;
6058}
6059extern "C" {
6060    pub fn g_mutex_unlock(mutex: *mut GMutex);
6061}
6062extern "C" {
6063    pub fn g_rw_lock_init(rw_lock: *mut GRWLock);
6064}
6065extern "C" {
6066    pub fn g_rw_lock_clear(rw_lock: *mut GRWLock);
6067}
6068extern "C" {
6069    pub fn g_rw_lock_writer_lock(rw_lock: *mut GRWLock);
6070}
6071extern "C" {
6072    pub fn g_rw_lock_writer_trylock(rw_lock: *mut GRWLock) -> gboolean;
6073}
6074extern "C" {
6075    pub fn g_rw_lock_writer_unlock(rw_lock: *mut GRWLock);
6076}
6077extern "C" {
6078    pub fn g_rw_lock_reader_lock(rw_lock: *mut GRWLock);
6079}
6080extern "C" {
6081    pub fn g_rw_lock_reader_trylock(rw_lock: *mut GRWLock) -> gboolean;
6082}
6083extern "C" {
6084    pub fn g_rw_lock_reader_unlock(rw_lock: *mut GRWLock);
6085}
6086extern "C" {
6087    pub fn g_rec_mutex_init(rec_mutex: *mut GRecMutex);
6088}
6089extern "C" {
6090    pub fn g_rec_mutex_clear(rec_mutex: *mut GRecMutex);
6091}
6092extern "C" {
6093    pub fn g_rec_mutex_lock(rec_mutex: *mut GRecMutex);
6094}
6095extern "C" {
6096    pub fn g_rec_mutex_trylock(rec_mutex: *mut GRecMutex) -> gboolean;
6097}
6098extern "C" {
6099    pub fn g_rec_mutex_unlock(rec_mutex: *mut GRecMutex);
6100}
6101extern "C" {
6102    pub fn g_cond_init(cond: *mut GCond);
6103}
6104extern "C" {
6105    pub fn g_cond_clear(cond: *mut GCond);
6106}
6107extern "C" {
6108    pub fn g_cond_wait(cond: *mut GCond, mutex: *mut GMutex);
6109}
6110extern "C" {
6111    pub fn g_cond_signal(cond: *mut GCond);
6112}
6113extern "C" {
6114    pub fn g_cond_broadcast(cond: *mut GCond);
6115}
6116extern "C" {
6117    pub fn g_cond_wait_until(cond: *mut GCond, mutex: *mut GMutex, end_time: gint64) -> gboolean;
6118}
6119extern "C" {
6120    pub fn g_private_get(key: *mut GPrivate) -> gpointer;
6121}
6122extern "C" {
6123    pub fn g_private_set(key: *mut GPrivate, value: gpointer);
6124}
6125extern "C" {
6126    pub fn g_private_replace(key: *mut GPrivate, value: gpointer);
6127}
6128extern "C" {
6129    pub fn g_once_impl(once: *mut GOnce, func: GThreadFunc, arg: gpointer) -> gpointer;
6130}
6131extern "C" {
6132    pub fn g_once_init_enter(location: *mut ::std::os::raw::c_void) -> gboolean;
6133}
6134extern "C" {
6135    pub fn g_once_init_leave(location: *mut ::std::os::raw::c_void, result: gsize);
6136}
6137extern "C" {
6138    pub fn g_get_num_processors() -> guint;
6139}
6140pub type GMutexLocker = ::std::os::raw::c_void;
6141pub type GRecMutexLocker = ::std::os::raw::c_void;
6142pub type GRWLockWriterLocker = ::std::os::raw::c_void;
6143pub type GRWLockReaderLocker = ::std::os::raw::c_void;
6144#[repr(C)]
6145#[derive(Debug, Copy, Clone)]
6146pub struct _GAsyncQueue {
6147    _unused: [u8; 0],
6148}
6149pub type GAsyncQueue = _GAsyncQueue;
6150extern "C" {
6151    pub fn g_async_queue_new() -> *mut GAsyncQueue;
6152}
6153extern "C" {
6154    pub fn g_async_queue_new_full(item_free_func: GDestroyNotify) -> *mut GAsyncQueue;
6155}
6156extern "C" {
6157    pub fn g_async_queue_lock(queue: *mut GAsyncQueue);
6158}
6159extern "C" {
6160    pub fn g_async_queue_unlock(queue: *mut GAsyncQueue);
6161}
6162extern "C" {
6163    pub fn g_async_queue_ref(queue: *mut GAsyncQueue) -> *mut GAsyncQueue;
6164}
6165extern "C" {
6166    pub fn g_async_queue_unref(queue: *mut GAsyncQueue);
6167}
6168extern "C" {
6169    pub fn g_async_queue_ref_unlocked(queue: *mut GAsyncQueue);
6170}
6171extern "C" {
6172    pub fn g_async_queue_unref_and_unlock(queue: *mut GAsyncQueue);
6173}
6174extern "C" {
6175    pub fn g_async_queue_push(queue: *mut GAsyncQueue, data: gpointer);
6176}
6177extern "C" {
6178    pub fn g_async_queue_push_unlocked(queue: *mut GAsyncQueue, data: gpointer);
6179}
6180extern "C" {
6181    pub fn g_async_queue_push_sorted(
6182        queue: *mut GAsyncQueue,
6183        data: gpointer,
6184        func: GCompareDataFunc,
6185        user_data: gpointer,
6186    );
6187}
6188extern "C" {
6189    pub fn g_async_queue_push_sorted_unlocked(
6190        queue: *mut GAsyncQueue,
6191        data: gpointer,
6192        func: GCompareDataFunc,
6193        user_data: gpointer,
6194    );
6195}
6196extern "C" {
6197    pub fn g_async_queue_pop(queue: *mut GAsyncQueue) -> gpointer;
6198}
6199extern "C" {
6200    pub fn g_async_queue_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
6201}
6202extern "C" {
6203    pub fn g_async_queue_try_pop(queue: *mut GAsyncQueue) -> gpointer;
6204}
6205extern "C" {
6206    pub fn g_async_queue_try_pop_unlocked(queue: *mut GAsyncQueue) -> gpointer;
6207}
6208extern "C" {
6209    pub fn g_async_queue_timeout_pop(queue: *mut GAsyncQueue, timeout: guint64) -> gpointer;
6210}
6211extern "C" {
6212    pub fn g_async_queue_timeout_pop_unlocked(
6213        queue: *mut GAsyncQueue,
6214        timeout: guint64,
6215    ) -> gpointer;
6216}
6217extern "C" {
6218    pub fn g_async_queue_length(queue: *mut GAsyncQueue) -> gint;
6219}
6220extern "C" {
6221    pub fn g_async_queue_length_unlocked(queue: *mut GAsyncQueue) -> gint;
6222}
6223extern "C" {
6224    pub fn g_async_queue_sort(queue: *mut GAsyncQueue, func: GCompareDataFunc, user_data: gpointer);
6225}
6226extern "C" {
6227    pub fn g_async_queue_sort_unlocked(
6228        queue: *mut GAsyncQueue,
6229        func: GCompareDataFunc,
6230        user_data: gpointer,
6231    );
6232}
6233extern "C" {
6234    pub fn g_async_queue_remove(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
6235}
6236extern "C" {
6237    pub fn g_async_queue_remove_unlocked(queue: *mut GAsyncQueue, item: gpointer) -> gboolean;
6238}
6239extern "C" {
6240    pub fn g_async_queue_push_front(queue: *mut GAsyncQueue, item: gpointer);
6241}
6242extern "C" {
6243    pub fn g_async_queue_push_front_unlocked(queue: *mut GAsyncQueue, item: gpointer);
6244}
6245extern "C" {
6246    pub fn g_async_queue_timed_pop(queue: *mut GAsyncQueue, end_time: *mut GTimeVal) -> gpointer;
6247}
6248extern "C" {
6249    pub fn g_async_queue_timed_pop_unlocked(
6250        queue: *mut GAsyncQueue,
6251        end_time: *mut GTimeVal,
6252    ) -> gpointer;
6253}
6254pub type sig_atomic_t = __sig_atomic_t;
6255#[repr(C)]
6256#[derive(Copy, Clone)]
6257pub union sigval {
6258    pub sival_int: ::std::os::raw::c_int,
6259    pub sival_ptr: *mut ::std::os::raw::c_void,
6260}
6261#[test]
6262fn bindgen_test_layout_sigval() {
6263    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
6264    let ptr = UNINIT.as_ptr();
6265    assert_eq!(
6266        ::std::mem::size_of::<sigval>(),
6267        8usize,
6268        concat!("Size of: ", stringify!(sigval))
6269    );
6270    assert_eq!(
6271        ::std::mem::align_of::<sigval>(),
6272        8usize,
6273        concat!("Alignment of ", stringify!(sigval))
6274    );
6275    assert_eq!(
6276        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
6277        0usize,
6278        concat!(
6279            "Offset of field: ",
6280            stringify!(sigval),
6281            "::",
6282            stringify!(sival_int)
6283        )
6284    );
6285    assert_eq!(
6286        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
6287        0usize,
6288        concat!(
6289            "Offset of field: ",
6290            stringify!(sigval),
6291            "::",
6292            stringify!(sival_ptr)
6293        )
6294    );
6295}
6296pub type __sigval_t = sigval;
6297#[repr(C)]
6298#[derive(Copy, Clone)]
6299pub struct siginfo_t {
6300    pub si_signo: ::std::os::raw::c_int,
6301    pub si_errno: ::std::os::raw::c_int,
6302    pub si_code: ::std::os::raw::c_int,
6303    pub __pad0: ::std::os::raw::c_int,
6304    pub _sifields: siginfo_t__bindgen_ty_1,
6305}
6306#[repr(C)]
6307#[derive(Copy, Clone)]
6308pub union siginfo_t__bindgen_ty_1 {
6309    pub _pad: [::std::os::raw::c_int; 28usize],
6310    pub _kill: siginfo_t__bindgen_ty_1__bindgen_ty_1,
6311    pub _timer: siginfo_t__bindgen_ty_1__bindgen_ty_2,
6312    pub _rt: siginfo_t__bindgen_ty_1__bindgen_ty_3,
6313    pub _sigchld: siginfo_t__bindgen_ty_1__bindgen_ty_4,
6314    pub _sigfault: siginfo_t__bindgen_ty_1__bindgen_ty_5,
6315    pub _sigpoll: siginfo_t__bindgen_ty_1__bindgen_ty_6,
6316    pub _sigsys: siginfo_t__bindgen_ty_1__bindgen_ty_7,
6317}
6318#[repr(C)]
6319#[derive(Debug, Copy, Clone)]
6320pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 {
6321    pub si_pid: __pid_t,
6322    pub si_uid: __uid_t,
6323}
6324#[test]
6325fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1() {
6326    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_1> =
6327        ::std::mem::MaybeUninit::uninit();
6328    let ptr = UNINIT.as_ptr();
6329    assert_eq!(
6330        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
6331        8usize,
6332        concat!(
6333            "Size of: ",
6334            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
6335        )
6336    );
6337    assert_eq!(
6338        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_1>(),
6339        4usize,
6340        concat!(
6341            "Alignment of ",
6342            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1)
6343        )
6344    );
6345    assert_eq!(
6346        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
6347        0usize,
6348        concat!(
6349            "Offset of field: ",
6350            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
6351            "::",
6352            stringify!(si_pid)
6353        )
6354    );
6355    assert_eq!(
6356        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
6357        4usize,
6358        concat!(
6359            "Offset of field: ",
6360            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_1),
6361            "::",
6362            stringify!(si_uid)
6363        )
6364    );
6365}
6366#[repr(C)]
6367#[derive(Copy, Clone)]
6368pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 {
6369    pub si_tid: ::std::os::raw::c_int,
6370    pub si_overrun: ::std::os::raw::c_int,
6371    pub si_sigval: __sigval_t,
6372}
6373#[test]
6374fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2() {
6375    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_2> =
6376        ::std::mem::MaybeUninit::uninit();
6377    let ptr = UNINIT.as_ptr();
6378    assert_eq!(
6379        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
6380        16usize,
6381        concat!(
6382            "Size of: ",
6383            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
6384        )
6385    );
6386    assert_eq!(
6387        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_2>(),
6388        8usize,
6389        concat!(
6390            "Alignment of ",
6391            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2)
6392        )
6393    );
6394    assert_eq!(
6395        unsafe { ::std::ptr::addr_of!((*ptr).si_tid) as usize - ptr as usize },
6396        0usize,
6397        concat!(
6398            "Offset of field: ",
6399            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
6400            "::",
6401            stringify!(si_tid)
6402        )
6403    );
6404    assert_eq!(
6405        unsafe { ::std::ptr::addr_of!((*ptr).si_overrun) as usize - ptr as usize },
6406        4usize,
6407        concat!(
6408            "Offset of field: ",
6409            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
6410            "::",
6411            stringify!(si_overrun)
6412        )
6413    );
6414    assert_eq!(
6415        unsafe { ::std::ptr::addr_of!((*ptr).si_sigval) as usize - ptr as usize },
6416        8usize,
6417        concat!(
6418            "Offset of field: ",
6419            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_2),
6420            "::",
6421            stringify!(si_sigval)
6422        )
6423    );
6424}
6425#[repr(C)]
6426#[derive(Copy, Clone)]
6427pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 {
6428    pub si_pid: __pid_t,
6429    pub si_uid: __uid_t,
6430    pub si_sigval: __sigval_t,
6431}
6432#[test]
6433fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3() {
6434    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_3> =
6435        ::std::mem::MaybeUninit::uninit();
6436    let ptr = UNINIT.as_ptr();
6437    assert_eq!(
6438        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
6439        16usize,
6440        concat!(
6441            "Size of: ",
6442            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
6443        )
6444    );
6445    assert_eq!(
6446        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_3>(),
6447        8usize,
6448        concat!(
6449            "Alignment of ",
6450            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3)
6451        )
6452    );
6453    assert_eq!(
6454        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
6455        0usize,
6456        concat!(
6457            "Offset of field: ",
6458            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
6459            "::",
6460            stringify!(si_pid)
6461        )
6462    );
6463    assert_eq!(
6464        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
6465        4usize,
6466        concat!(
6467            "Offset of field: ",
6468            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
6469            "::",
6470            stringify!(si_uid)
6471        )
6472    );
6473    assert_eq!(
6474        unsafe { ::std::ptr::addr_of!((*ptr).si_sigval) as usize - ptr as usize },
6475        8usize,
6476        concat!(
6477            "Offset of field: ",
6478            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_3),
6479            "::",
6480            stringify!(si_sigval)
6481        )
6482    );
6483}
6484#[repr(C)]
6485#[derive(Debug, Copy, Clone)]
6486pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 {
6487    pub si_pid: __pid_t,
6488    pub si_uid: __uid_t,
6489    pub si_status: ::std::os::raw::c_int,
6490    pub si_utime: __clock_t,
6491    pub si_stime: __clock_t,
6492}
6493#[test]
6494fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4() {
6495    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_4> =
6496        ::std::mem::MaybeUninit::uninit();
6497    let ptr = UNINIT.as_ptr();
6498    assert_eq!(
6499        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
6500        32usize,
6501        concat!(
6502            "Size of: ",
6503            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
6504        )
6505    );
6506    assert_eq!(
6507        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_4>(),
6508        8usize,
6509        concat!(
6510            "Alignment of ",
6511            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4)
6512        )
6513    );
6514    assert_eq!(
6515        unsafe { ::std::ptr::addr_of!((*ptr).si_pid) as usize - ptr as usize },
6516        0usize,
6517        concat!(
6518            "Offset of field: ",
6519            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
6520            "::",
6521            stringify!(si_pid)
6522        )
6523    );
6524    assert_eq!(
6525        unsafe { ::std::ptr::addr_of!((*ptr).si_uid) as usize - ptr as usize },
6526        4usize,
6527        concat!(
6528            "Offset of field: ",
6529            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
6530            "::",
6531            stringify!(si_uid)
6532        )
6533    );
6534    assert_eq!(
6535        unsafe { ::std::ptr::addr_of!((*ptr).si_status) as usize - ptr as usize },
6536        8usize,
6537        concat!(
6538            "Offset of field: ",
6539            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
6540            "::",
6541            stringify!(si_status)
6542        )
6543    );
6544    assert_eq!(
6545        unsafe { ::std::ptr::addr_of!((*ptr).si_utime) as usize - ptr as usize },
6546        16usize,
6547        concat!(
6548            "Offset of field: ",
6549            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
6550            "::",
6551            stringify!(si_utime)
6552        )
6553    );
6554    assert_eq!(
6555        unsafe { ::std::ptr::addr_of!((*ptr).si_stime) as usize - ptr as usize },
6556        24usize,
6557        concat!(
6558            "Offset of field: ",
6559            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_4),
6560            "::",
6561            stringify!(si_stime)
6562        )
6563    );
6564}
6565#[repr(C)]
6566#[derive(Copy, Clone)]
6567pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 {
6568    pub si_addr: *mut ::std::os::raw::c_void,
6569    pub si_addr_lsb: ::std::os::raw::c_short,
6570    pub _bounds: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1,
6571}
6572#[repr(C)]
6573#[derive(Copy, Clone)]
6574pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 {
6575    pub _addr_bnd: siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
6576    pub _pkey: __uint32_t,
6577}
6578#[repr(C)]
6579#[derive(Debug, Copy, Clone)]
6580pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
6581    pub _lower: *mut ::std::os::raw::c_void,
6582    pub _upper: *mut ::std::os::raw::c_void,
6583}
6584#[test]
6585fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
6586    const UNINIT: ::std::mem::MaybeUninit<
6587        siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
6588    > = ::std::mem::MaybeUninit::uninit();
6589    let ptr = UNINIT.as_ptr();
6590    assert_eq!(
6591        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
6592        16usize,
6593        concat!(
6594            "Size of: ",
6595            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
6596        )
6597    );
6598    assert_eq!(
6599        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
6600        8usize,
6601        concat!(
6602            "Alignment of ",
6603            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
6604        )
6605    );
6606    assert_eq!(
6607        unsafe { ::std::ptr::addr_of!((*ptr)._lower) as usize - ptr as usize },
6608        0usize,
6609        concat!(
6610            "Offset of field: ",
6611            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
6612            "::",
6613            stringify!(_lower)
6614        )
6615    );
6616    assert_eq!(
6617        unsafe { ::std::ptr::addr_of!((*ptr)._upper) as usize - ptr as usize },
6618        8usize,
6619        concat!(
6620            "Offset of field: ",
6621            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
6622            "::",
6623            stringify!(_upper)
6624        )
6625    );
6626}
6627#[test]
6628fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1() {
6629    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1> =
6630        ::std::mem::MaybeUninit::uninit();
6631    let ptr = UNINIT.as_ptr();
6632    assert_eq!(
6633        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
6634        16usize,
6635        concat!(
6636            "Size of: ",
6637            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
6638        )
6639    );
6640    assert_eq!(
6641        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1>(),
6642        8usize,
6643        concat!(
6644            "Alignment of ",
6645            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1)
6646        )
6647    );
6648    assert_eq!(
6649        unsafe { ::std::ptr::addr_of!((*ptr)._addr_bnd) as usize - ptr as usize },
6650        0usize,
6651        concat!(
6652            "Offset of field: ",
6653            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
6654            "::",
6655            stringify!(_addr_bnd)
6656        )
6657    );
6658    assert_eq!(
6659        unsafe { ::std::ptr::addr_of!((*ptr)._pkey) as usize - ptr as usize },
6660        0usize,
6661        concat!(
6662            "Offset of field: ",
6663            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1),
6664            "::",
6665            stringify!(_pkey)
6666        )
6667    );
6668}
6669#[test]
6670fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5() {
6671    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_5> =
6672        ::std::mem::MaybeUninit::uninit();
6673    let ptr = UNINIT.as_ptr();
6674    assert_eq!(
6675        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
6676        32usize,
6677        concat!(
6678            "Size of: ",
6679            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
6680        )
6681    );
6682    assert_eq!(
6683        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_5>(),
6684        8usize,
6685        concat!(
6686            "Alignment of ",
6687            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5)
6688        )
6689    );
6690    assert_eq!(
6691        unsafe { ::std::ptr::addr_of!((*ptr).si_addr) as usize - ptr as usize },
6692        0usize,
6693        concat!(
6694            "Offset of field: ",
6695            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6696            "::",
6697            stringify!(si_addr)
6698        )
6699    );
6700    assert_eq!(
6701        unsafe { ::std::ptr::addr_of!((*ptr).si_addr_lsb) as usize - ptr as usize },
6702        8usize,
6703        concat!(
6704            "Offset of field: ",
6705            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6706            "::",
6707            stringify!(si_addr_lsb)
6708        )
6709    );
6710    assert_eq!(
6711        unsafe { ::std::ptr::addr_of!((*ptr)._bounds) as usize - ptr as usize },
6712        16usize,
6713        concat!(
6714            "Offset of field: ",
6715            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_5),
6716            "::",
6717            stringify!(_bounds)
6718        )
6719    );
6720}
6721#[repr(C)]
6722#[derive(Debug, Copy, Clone)]
6723pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 {
6724    pub si_band: ::std::os::raw::c_long,
6725    pub si_fd: ::std::os::raw::c_int,
6726}
6727#[test]
6728fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6() {
6729    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_6> =
6730        ::std::mem::MaybeUninit::uninit();
6731    let ptr = UNINIT.as_ptr();
6732    assert_eq!(
6733        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
6734        16usize,
6735        concat!(
6736            "Size of: ",
6737            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
6738        )
6739    );
6740    assert_eq!(
6741        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_6>(),
6742        8usize,
6743        concat!(
6744            "Alignment of ",
6745            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6)
6746        )
6747    );
6748    assert_eq!(
6749        unsafe { ::std::ptr::addr_of!((*ptr).si_band) as usize - ptr as usize },
6750        0usize,
6751        concat!(
6752            "Offset of field: ",
6753            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
6754            "::",
6755            stringify!(si_band)
6756        )
6757    );
6758    assert_eq!(
6759        unsafe { ::std::ptr::addr_of!((*ptr).si_fd) as usize - ptr as usize },
6760        8usize,
6761        concat!(
6762            "Offset of field: ",
6763            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_6),
6764            "::",
6765            stringify!(si_fd)
6766        )
6767    );
6768}
6769#[repr(C)]
6770#[derive(Debug, Copy, Clone)]
6771pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 {
6772    pub _call_addr: *mut ::std::os::raw::c_void,
6773    pub _syscall: ::std::os::raw::c_int,
6774    pub _arch: ::std::os::raw::c_uint,
6775}
6776#[test]
6777fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7() {
6778    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1__bindgen_ty_7> =
6779        ::std::mem::MaybeUninit::uninit();
6780    let ptr = UNINIT.as_ptr();
6781    assert_eq!(
6782        ::std::mem::size_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
6783        16usize,
6784        concat!(
6785            "Size of: ",
6786            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
6787        )
6788    );
6789    assert_eq!(
6790        ::std::mem::align_of::<siginfo_t__bindgen_ty_1__bindgen_ty_7>(),
6791        8usize,
6792        concat!(
6793            "Alignment of ",
6794            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7)
6795        )
6796    );
6797    assert_eq!(
6798        unsafe { ::std::ptr::addr_of!((*ptr)._call_addr) as usize - ptr as usize },
6799        0usize,
6800        concat!(
6801            "Offset of field: ",
6802            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6803            "::",
6804            stringify!(_call_addr)
6805        )
6806    );
6807    assert_eq!(
6808        unsafe { ::std::ptr::addr_of!((*ptr)._syscall) as usize - ptr as usize },
6809        8usize,
6810        concat!(
6811            "Offset of field: ",
6812            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6813            "::",
6814            stringify!(_syscall)
6815        )
6816    );
6817    assert_eq!(
6818        unsafe { ::std::ptr::addr_of!((*ptr)._arch) as usize - ptr as usize },
6819        12usize,
6820        concat!(
6821            "Offset of field: ",
6822            stringify!(siginfo_t__bindgen_ty_1__bindgen_ty_7),
6823            "::",
6824            stringify!(_arch)
6825        )
6826    );
6827}
6828#[test]
6829fn bindgen_test_layout_siginfo_t__bindgen_ty_1() {
6830    const UNINIT: ::std::mem::MaybeUninit<siginfo_t__bindgen_ty_1> =
6831        ::std::mem::MaybeUninit::uninit();
6832    let ptr = UNINIT.as_ptr();
6833    assert_eq!(
6834        ::std::mem::size_of::<siginfo_t__bindgen_ty_1>(),
6835        112usize,
6836        concat!("Size of: ", stringify!(siginfo_t__bindgen_ty_1))
6837    );
6838    assert_eq!(
6839        ::std::mem::align_of::<siginfo_t__bindgen_ty_1>(),
6840        8usize,
6841        concat!("Alignment of ", stringify!(siginfo_t__bindgen_ty_1))
6842    );
6843    assert_eq!(
6844        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
6845        0usize,
6846        concat!(
6847            "Offset of field: ",
6848            stringify!(siginfo_t__bindgen_ty_1),
6849            "::",
6850            stringify!(_pad)
6851        )
6852    );
6853    assert_eq!(
6854        unsafe { ::std::ptr::addr_of!((*ptr)._kill) as usize - ptr as usize },
6855        0usize,
6856        concat!(
6857            "Offset of field: ",
6858            stringify!(siginfo_t__bindgen_ty_1),
6859            "::",
6860            stringify!(_kill)
6861        )
6862    );
6863    assert_eq!(
6864        unsafe { ::std::ptr::addr_of!((*ptr)._timer) as usize - ptr as usize },
6865        0usize,
6866        concat!(
6867            "Offset of field: ",
6868            stringify!(siginfo_t__bindgen_ty_1),
6869            "::",
6870            stringify!(_timer)
6871        )
6872    );
6873    assert_eq!(
6874        unsafe { ::std::ptr::addr_of!((*ptr)._rt) as usize - ptr as usize },
6875        0usize,
6876        concat!(
6877            "Offset of field: ",
6878            stringify!(siginfo_t__bindgen_ty_1),
6879            "::",
6880            stringify!(_rt)
6881        )
6882    );
6883    assert_eq!(
6884        unsafe { ::std::ptr::addr_of!((*ptr)._sigchld) as usize - ptr as usize },
6885        0usize,
6886        concat!(
6887            "Offset of field: ",
6888            stringify!(siginfo_t__bindgen_ty_1),
6889            "::",
6890            stringify!(_sigchld)
6891        )
6892    );
6893    assert_eq!(
6894        unsafe { ::std::ptr::addr_of!((*ptr)._sigfault) as usize - ptr as usize },
6895        0usize,
6896        concat!(
6897            "Offset of field: ",
6898            stringify!(siginfo_t__bindgen_ty_1),
6899            "::",
6900            stringify!(_sigfault)
6901        )
6902    );
6903    assert_eq!(
6904        unsafe { ::std::ptr::addr_of!((*ptr)._sigpoll) as usize - ptr as usize },
6905        0usize,
6906        concat!(
6907            "Offset of field: ",
6908            stringify!(siginfo_t__bindgen_ty_1),
6909            "::",
6910            stringify!(_sigpoll)
6911        )
6912    );
6913    assert_eq!(
6914        unsafe { ::std::ptr::addr_of!((*ptr)._sigsys) as usize - ptr as usize },
6915        0usize,
6916        concat!(
6917            "Offset of field: ",
6918            stringify!(siginfo_t__bindgen_ty_1),
6919            "::",
6920            stringify!(_sigsys)
6921        )
6922    );
6923}
6924#[test]
6925fn bindgen_test_layout_siginfo_t() {
6926    const UNINIT: ::std::mem::MaybeUninit<siginfo_t> = ::std::mem::MaybeUninit::uninit();
6927    let ptr = UNINIT.as_ptr();
6928    assert_eq!(
6929        ::std::mem::size_of::<siginfo_t>(),
6930        128usize,
6931        concat!("Size of: ", stringify!(siginfo_t))
6932    );
6933    assert_eq!(
6934        ::std::mem::align_of::<siginfo_t>(),
6935        8usize,
6936        concat!("Alignment of ", stringify!(siginfo_t))
6937    );
6938    assert_eq!(
6939        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
6940        0usize,
6941        concat!(
6942            "Offset of field: ",
6943            stringify!(siginfo_t),
6944            "::",
6945            stringify!(si_signo)
6946        )
6947    );
6948    assert_eq!(
6949        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
6950        4usize,
6951        concat!(
6952            "Offset of field: ",
6953            stringify!(siginfo_t),
6954            "::",
6955            stringify!(si_errno)
6956        )
6957    );
6958    assert_eq!(
6959        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
6960        8usize,
6961        concat!(
6962            "Offset of field: ",
6963            stringify!(siginfo_t),
6964            "::",
6965            stringify!(si_code)
6966        )
6967    );
6968    assert_eq!(
6969        unsafe { ::std::ptr::addr_of!((*ptr).__pad0) as usize - ptr as usize },
6970        12usize,
6971        concat!(
6972            "Offset of field: ",
6973            stringify!(siginfo_t),
6974            "::",
6975            stringify!(__pad0)
6976        )
6977    );
6978    assert_eq!(
6979        unsafe { ::std::ptr::addr_of!((*ptr)._sifields) as usize - ptr as usize },
6980        16usize,
6981        concat!(
6982            "Offset of field: ",
6983            stringify!(siginfo_t),
6984            "::",
6985            stringify!(_sifields)
6986        )
6987    );
6988}
6989pub const SI_ASYNCNL: _bindgen_ty_1 = -60;
6990pub const SI_DETHREAD: _bindgen_ty_1 = -7;
6991pub const SI_TKILL: _bindgen_ty_1 = -6;
6992pub const SI_SIGIO: _bindgen_ty_1 = -5;
6993pub const SI_ASYNCIO: _bindgen_ty_1 = -4;
6994pub const SI_MESGQ: _bindgen_ty_1 = -3;
6995pub const SI_TIMER: _bindgen_ty_1 = -2;
6996pub const SI_QUEUE: _bindgen_ty_1 = -1;
6997pub const SI_USER: _bindgen_ty_1 = 0;
6998pub const SI_KERNEL: _bindgen_ty_1 = 128;
6999pub type _bindgen_ty_1 = ::std::os::raw::c_int;
7000pub const ILL_ILLOPC: _bindgen_ty_2 = 1;
7001pub const ILL_ILLOPN: _bindgen_ty_2 = 2;
7002pub const ILL_ILLADR: _bindgen_ty_2 = 3;
7003pub const ILL_ILLTRP: _bindgen_ty_2 = 4;
7004pub const ILL_PRVOPC: _bindgen_ty_2 = 5;
7005pub const ILL_PRVREG: _bindgen_ty_2 = 6;
7006pub const ILL_COPROC: _bindgen_ty_2 = 7;
7007pub const ILL_BADSTK: _bindgen_ty_2 = 8;
7008pub const ILL_BADIADDR: _bindgen_ty_2 = 9;
7009pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
7010pub const FPE_INTDIV: _bindgen_ty_3 = 1;
7011pub const FPE_INTOVF: _bindgen_ty_3 = 2;
7012pub const FPE_FLTDIV: _bindgen_ty_3 = 3;
7013pub const FPE_FLTOVF: _bindgen_ty_3 = 4;
7014pub const FPE_FLTUND: _bindgen_ty_3 = 5;
7015pub const FPE_FLTRES: _bindgen_ty_3 = 6;
7016pub const FPE_FLTINV: _bindgen_ty_3 = 7;
7017pub const FPE_FLTSUB: _bindgen_ty_3 = 8;
7018pub const FPE_FLTUNK: _bindgen_ty_3 = 14;
7019pub const FPE_CONDTRAP: _bindgen_ty_3 = 15;
7020pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
7021pub const SEGV_MAPERR: _bindgen_ty_4 = 1;
7022pub const SEGV_ACCERR: _bindgen_ty_4 = 2;
7023pub const SEGV_BNDERR: _bindgen_ty_4 = 3;
7024pub const SEGV_PKUERR: _bindgen_ty_4 = 4;
7025pub const SEGV_ACCADI: _bindgen_ty_4 = 5;
7026pub const SEGV_ADIDERR: _bindgen_ty_4 = 6;
7027pub const SEGV_ADIPERR: _bindgen_ty_4 = 7;
7028pub const SEGV_MTEAERR: _bindgen_ty_4 = 8;
7029pub const SEGV_MTESERR: _bindgen_ty_4 = 9;
7030pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
7031pub const BUS_ADRALN: _bindgen_ty_5 = 1;
7032pub const BUS_ADRERR: _bindgen_ty_5 = 2;
7033pub const BUS_OBJERR: _bindgen_ty_5 = 3;
7034pub const BUS_MCEERR_AR: _bindgen_ty_5 = 4;
7035pub const BUS_MCEERR_AO: _bindgen_ty_5 = 5;
7036pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
7037pub const CLD_EXITED: _bindgen_ty_6 = 1;
7038pub const CLD_KILLED: _bindgen_ty_6 = 2;
7039pub const CLD_DUMPED: _bindgen_ty_6 = 3;
7040pub const CLD_TRAPPED: _bindgen_ty_6 = 4;
7041pub const CLD_STOPPED: _bindgen_ty_6 = 5;
7042pub const CLD_CONTINUED: _bindgen_ty_6 = 6;
7043pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
7044pub const POLL_IN: _bindgen_ty_7 = 1;
7045pub const POLL_OUT: _bindgen_ty_7 = 2;
7046pub const POLL_MSG: _bindgen_ty_7 = 3;
7047pub const POLL_ERR: _bindgen_ty_7 = 4;
7048pub const POLL_PRI: _bindgen_ty_7 = 5;
7049pub const POLL_HUP: _bindgen_ty_7 = 6;
7050pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
7051pub type sigval_t = __sigval_t;
7052#[repr(C)]
7053#[derive(Copy, Clone)]
7054pub struct sigevent {
7055    pub sigev_value: __sigval_t,
7056    pub sigev_signo: ::std::os::raw::c_int,
7057    pub sigev_notify: ::std::os::raw::c_int,
7058    pub _sigev_un: sigevent__bindgen_ty_1,
7059}
7060#[repr(C)]
7061#[derive(Copy, Clone)]
7062pub union sigevent__bindgen_ty_1 {
7063    pub _pad: [::std::os::raw::c_int; 12usize],
7064    pub _tid: __pid_t,
7065    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
7066}
7067#[repr(C)]
7068#[derive(Debug, Copy, Clone)]
7069pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
7070    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: __sigval_t)>,
7071    pub _attribute: *mut pthread_attr_t,
7072}
7073#[test]
7074fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
7075    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
7076        ::std::mem::MaybeUninit::uninit();
7077    let ptr = UNINIT.as_ptr();
7078    assert_eq!(
7079        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
7080        16usize,
7081        concat!(
7082            "Size of: ",
7083            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
7084        )
7085    );
7086    assert_eq!(
7087        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
7088        8usize,
7089        concat!(
7090            "Alignment of ",
7091            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
7092        )
7093    );
7094    assert_eq!(
7095        unsafe { ::std::ptr::addr_of!((*ptr)._function) as usize - ptr as usize },
7096        0usize,
7097        concat!(
7098            "Offset of field: ",
7099            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
7100            "::",
7101            stringify!(_function)
7102        )
7103    );
7104    assert_eq!(
7105        unsafe { ::std::ptr::addr_of!((*ptr)._attribute) as usize - ptr as usize },
7106        8usize,
7107        concat!(
7108            "Offset of field: ",
7109            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
7110            "::",
7111            stringify!(_attribute)
7112        )
7113    );
7114}
7115#[test]
7116fn bindgen_test_layout_sigevent__bindgen_ty_1() {
7117    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
7118        ::std::mem::MaybeUninit::uninit();
7119    let ptr = UNINIT.as_ptr();
7120    assert_eq!(
7121        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
7122        48usize,
7123        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
7124    );
7125    assert_eq!(
7126        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
7127        8usize,
7128        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
7129    );
7130    assert_eq!(
7131        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
7132        0usize,
7133        concat!(
7134            "Offset of field: ",
7135            stringify!(sigevent__bindgen_ty_1),
7136            "::",
7137            stringify!(_pad)
7138        )
7139    );
7140    assert_eq!(
7141        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
7142        0usize,
7143        concat!(
7144            "Offset of field: ",
7145            stringify!(sigevent__bindgen_ty_1),
7146            "::",
7147            stringify!(_tid)
7148        )
7149    );
7150    assert_eq!(
7151        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_thread) as usize - ptr as usize },
7152        0usize,
7153        concat!(
7154            "Offset of field: ",
7155            stringify!(sigevent__bindgen_ty_1),
7156            "::",
7157            stringify!(_sigev_thread)
7158        )
7159    );
7160}
7161#[test]
7162fn bindgen_test_layout_sigevent() {
7163    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
7164    let ptr = UNINIT.as_ptr();
7165    assert_eq!(
7166        ::std::mem::size_of::<sigevent>(),
7167        64usize,
7168        concat!("Size of: ", stringify!(sigevent))
7169    );
7170    assert_eq!(
7171        ::std::mem::align_of::<sigevent>(),
7172        8usize,
7173        concat!("Alignment of ", stringify!(sigevent))
7174    );
7175    assert_eq!(
7176        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
7177        0usize,
7178        concat!(
7179            "Offset of field: ",
7180            stringify!(sigevent),
7181            "::",
7182            stringify!(sigev_value)
7183        )
7184    );
7185    assert_eq!(
7186        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
7187        8usize,
7188        concat!(
7189            "Offset of field: ",
7190            stringify!(sigevent),
7191            "::",
7192            stringify!(sigev_signo)
7193        )
7194    );
7195    assert_eq!(
7196        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
7197        12usize,
7198        concat!(
7199            "Offset of field: ",
7200            stringify!(sigevent),
7201            "::",
7202            stringify!(sigev_notify)
7203        )
7204    );
7205    assert_eq!(
7206        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_un) as usize - ptr as usize },
7207        16usize,
7208        concat!(
7209            "Offset of field: ",
7210            stringify!(sigevent),
7211            "::",
7212            stringify!(_sigev_un)
7213        )
7214    );
7215}
7216pub type sigevent_t = sigevent;
7217pub const SIGEV_SIGNAL: _bindgen_ty_8 = 0;
7218pub const SIGEV_NONE: _bindgen_ty_8 = 1;
7219pub const SIGEV_THREAD: _bindgen_ty_8 = 2;
7220pub const SIGEV_THREAD_ID: _bindgen_ty_8 = 4;
7221pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
7222pub type __sighandler_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
7223extern "C" {
7224    pub fn __sysv_signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t)
7225        -> __sighandler_t;
7226}
7227extern "C" {
7228    pub fn signal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
7229}
7230extern "C" {
7231    pub fn kill(__pid: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7232}
7233extern "C" {
7234    pub fn killpg(__pgrp: __pid_t, __sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7235}
7236extern "C" {
7237    pub fn raise(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7238}
7239extern "C" {
7240    pub fn ssignal(__sig: ::std::os::raw::c_int, __handler: __sighandler_t) -> __sighandler_t;
7241}
7242extern "C" {
7243    pub fn gsignal(__sig: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7244}
7245extern "C" {
7246    pub fn psignal(__sig: ::std::os::raw::c_int, __s: *const ::std::os::raw::c_char);
7247}
7248extern "C" {
7249    pub fn psiginfo(__pinfo: *const siginfo_t, __s: *const ::std::os::raw::c_char);
7250}
7251extern "C" {
7252    pub fn sigblock(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7253}
7254extern "C" {
7255    pub fn sigsetmask(__mask: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7256}
7257extern "C" {
7258    pub fn siggetmask() -> ::std::os::raw::c_int;
7259}
7260pub type sig_t = __sighandler_t;
7261extern "C" {
7262    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
7263}
7264extern "C" {
7265    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
7266}
7267extern "C" {
7268    pub fn sigaddset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
7269        -> ::std::os::raw::c_int;
7270}
7271extern "C" {
7272    pub fn sigdelset(__set: *mut sigset_t, __signo: ::std::os::raw::c_int)
7273        -> ::std::os::raw::c_int;
7274}
7275extern "C" {
7276    pub fn sigismember(
7277        __set: *const sigset_t,
7278        __signo: ::std::os::raw::c_int,
7279    ) -> ::std::os::raw::c_int;
7280}
7281#[repr(C)]
7282#[derive(Copy, Clone)]
7283pub struct sigaction {
7284    pub __sigaction_handler: sigaction__bindgen_ty_1,
7285    pub sa_mask: __sigset_t,
7286    pub sa_flags: ::std::os::raw::c_int,
7287    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
7288}
7289#[repr(C)]
7290#[derive(Copy, Clone)]
7291pub union sigaction__bindgen_ty_1 {
7292    pub sa_handler: __sighandler_t,
7293    pub sa_sigaction: ::std::option::Option<
7294        unsafe extern "C" fn(
7295            arg1: ::std::os::raw::c_int,
7296            arg2: *mut siginfo_t,
7297            arg3: *mut ::std::os::raw::c_void,
7298        ),
7299    >,
7300}
7301#[test]
7302fn bindgen_test_layout_sigaction__bindgen_ty_1() {
7303    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
7304        ::std::mem::MaybeUninit::uninit();
7305    let ptr = UNINIT.as_ptr();
7306    assert_eq!(
7307        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
7308        8usize,
7309        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
7310    );
7311    assert_eq!(
7312        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
7313        8usize,
7314        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
7315    );
7316    assert_eq!(
7317        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
7318        0usize,
7319        concat!(
7320            "Offset of field: ",
7321            stringify!(sigaction__bindgen_ty_1),
7322            "::",
7323            stringify!(sa_handler)
7324        )
7325    );
7326    assert_eq!(
7327        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
7328        0usize,
7329        concat!(
7330            "Offset of field: ",
7331            stringify!(sigaction__bindgen_ty_1),
7332            "::",
7333            stringify!(sa_sigaction)
7334        )
7335    );
7336}
7337#[test]
7338fn bindgen_test_layout_sigaction() {
7339    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
7340    let ptr = UNINIT.as_ptr();
7341    assert_eq!(
7342        ::std::mem::size_of::<sigaction>(),
7343        152usize,
7344        concat!("Size of: ", stringify!(sigaction))
7345    );
7346    assert_eq!(
7347        ::std::mem::align_of::<sigaction>(),
7348        8usize,
7349        concat!("Alignment of ", stringify!(sigaction))
7350    );
7351    assert_eq!(
7352        unsafe { ::std::ptr::addr_of!((*ptr).__sigaction_handler) as usize - ptr as usize },
7353        0usize,
7354        concat!(
7355            "Offset of field: ",
7356            stringify!(sigaction),
7357            "::",
7358            stringify!(__sigaction_handler)
7359        )
7360    );
7361    assert_eq!(
7362        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
7363        8usize,
7364        concat!(
7365            "Offset of field: ",
7366            stringify!(sigaction),
7367            "::",
7368            stringify!(sa_mask)
7369        )
7370    );
7371    assert_eq!(
7372        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
7373        136usize,
7374        concat!(
7375            "Offset of field: ",
7376            stringify!(sigaction),
7377            "::",
7378            stringify!(sa_flags)
7379        )
7380    );
7381    assert_eq!(
7382        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
7383        144usize,
7384        concat!(
7385            "Offset of field: ",
7386            stringify!(sigaction),
7387            "::",
7388            stringify!(sa_restorer)
7389        )
7390    );
7391}
7392extern "C" {
7393    pub fn sigprocmask(
7394        __how: ::std::os::raw::c_int,
7395        __set: *const sigset_t,
7396        __oset: *mut sigset_t,
7397    ) -> ::std::os::raw::c_int;
7398}
7399extern "C" {
7400    pub fn sigsuspend(__set: *const sigset_t) -> ::std::os::raw::c_int;
7401}
7402extern "C" {
7403    pub fn sigaction(
7404        __sig: ::std::os::raw::c_int,
7405        __act: *const sigaction,
7406        __oact: *mut sigaction,
7407    ) -> ::std::os::raw::c_int;
7408}
7409extern "C" {
7410    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
7411}
7412extern "C" {
7413    pub fn sigwait(
7414        __set: *const sigset_t,
7415        __sig: *mut ::std::os::raw::c_int,
7416    ) -> ::std::os::raw::c_int;
7417}
7418extern "C" {
7419    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    pub fn sigtimedwait(
7423        __set: *const sigset_t,
7424        __info: *mut siginfo_t,
7425        __timeout: *const timespec,
7426    ) -> ::std::os::raw::c_int;
7427}
7428extern "C" {
7429    pub fn sigqueue(
7430        __pid: __pid_t,
7431        __sig: ::std::os::raw::c_int,
7432        __val: sigval,
7433    ) -> ::std::os::raw::c_int;
7434}
7435#[repr(C)]
7436#[derive(Debug, Copy, Clone)]
7437pub struct _fpx_sw_bytes {
7438    pub magic1: __uint32_t,
7439    pub extended_size: __uint32_t,
7440    pub xstate_bv: __uint64_t,
7441    pub xstate_size: __uint32_t,
7442    pub __glibc_reserved1: [__uint32_t; 7usize],
7443}
7444#[test]
7445fn bindgen_test_layout__fpx_sw_bytes() {
7446    const UNINIT: ::std::mem::MaybeUninit<_fpx_sw_bytes> = ::std::mem::MaybeUninit::uninit();
7447    let ptr = UNINIT.as_ptr();
7448    assert_eq!(
7449        ::std::mem::size_of::<_fpx_sw_bytes>(),
7450        48usize,
7451        concat!("Size of: ", stringify!(_fpx_sw_bytes))
7452    );
7453    assert_eq!(
7454        ::std::mem::align_of::<_fpx_sw_bytes>(),
7455        8usize,
7456        concat!("Alignment of ", stringify!(_fpx_sw_bytes))
7457    );
7458    assert_eq!(
7459        unsafe { ::std::ptr::addr_of!((*ptr).magic1) as usize - ptr as usize },
7460        0usize,
7461        concat!(
7462            "Offset of field: ",
7463            stringify!(_fpx_sw_bytes),
7464            "::",
7465            stringify!(magic1)
7466        )
7467    );
7468    assert_eq!(
7469        unsafe { ::std::ptr::addr_of!((*ptr).extended_size) as usize - ptr as usize },
7470        4usize,
7471        concat!(
7472            "Offset of field: ",
7473            stringify!(_fpx_sw_bytes),
7474            "::",
7475            stringify!(extended_size)
7476        )
7477    );
7478    assert_eq!(
7479        unsafe { ::std::ptr::addr_of!((*ptr).xstate_bv) as usize - ptr as usize },
7480        8usize,
7481        concat!(
7482            "Offset of field: ",
7483            stringify!(_fpx_sw_bytes),
7484            "::",
7485            stringify!(xstate_bv)
7486        )
7487    );
7488    assert_eq!(
7489        unsafe { ::std::ptr::addr_of!((*ptr).xstate_size) as usize - ptr as usize },
7490        16usize,
7491        concat!(
7492            "Offset of field: ",
7493            stringify!(_fpx_sw_bytes),
7494            "::",
7495            stringify!(xstate_size)
7496        )
7497    );
7498    assert_eq!(
7499        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
7500        20usize,
7501        concat!(
7502            "Offset of field: ",
7503            stringify!(_fpx_sw_bytes),
7504            "::",
7505            stringify!(__glibc_reserved1)
7506        )
7507    );
7508}
7509#[repr(C)]
7510#[derive(Debug, Copy, Clone)]
7511pub struct _fpreg {
7512    pub significand: [::std::os::raw::c_ushort; 4usize],
7513    pub exponent: ::std::os::raw::c_ushort,
7514}
7515#[test]
7516fn bindgen_test_layout__fpreg() {
7517    const UNINIT: ::std::mem::MaybeUninit<_fpreg> = ::std::mem::MaybeUninit::uninit();
7518    let ptr = UNINIT.as_ptr();
7519    assert_eq!(
7520        ::std::mem::size_of::<_fpreg>(),
7521        10usize,
7522        concat!("Size of: ", stringify!(_fpreg))
7523    );
7524    assert_eq!(
7525        ::std::mem::align_of::<_fpreg>(),
7526        2usize,
7527        concat!("Alignment of ", stringify!(_fpreg))
7528    );
7529    assert_eq!(
7530        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
7531        0usize,
7532        concat!(
7533            "Offset of field: ",
7534            stringify!(_fpreg),
7535            "::",
7536            stringify!(significand)
7537        )
7538    );
7539    assert_eq!(
7540        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
7541        8usize,
7542        concat!(
7543            "Offset of field: ",
7544            stringify!(_fpreg),
7545            "::",
7546            stringify!(exponent)
7547        )
7548    );
7549}
7550#[repr(C)]
7551#[derive(Debug, Copy, Clone)]
7552pub struct _fpxreg {
7553    pub significand: [::std::os::raw::c_ushort; 4usize],
7554    pub exponent: ::std::os::raw::c_ushort,
7555    pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
7556}
7557#[test]
7558fn bindgen_test_layout__fpxreg() {
7559    const UNINIT: ::std::mem::MaybeUninit<_fpxreg> = ::std::mem::MaybeUninit::uninit();
7560    let ptr = UNINIT.as_ptr();
7561    assert_eq!(
7562        ::std::mem::size_of::<_fpxreg>(),
7563        16usize,
7564        concat!("Size of: ", stringify!(_fpxreg))
7565    );
7566    assert_eq!(
7567        ::std::mem::align_of::<_fpxreg>(),
7568        2usize,
7569        concat!("Alignment of ", stringify!(_fpxreg))
7570    );
7571    assert_eq!(
7572        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
7573        0usize,
7574        concat!(
7575            "Offset of field: ",
7576            stringify!(_fpxreg),
7577            "::",
7578            stringify!(significand)
7579        )
7580    );
7581    assert_eq!(
7582        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
7583        8usize,
7584        concat!(
7585            "Offset of field: ",
7586            stringify!(_fpxreg),
7587            "::",
7588            stringify!(exponent)
7589        )
7590    );
7591    assert_eq!(
7592        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
7593        10usize,
7594        concat!(
7595            "Offset of field: ",
7596            stringify!(_fpxreg),
7597            "::",
7598            stringify!(__glibc_reserved1)
7599        )
7600    );
7601}
7602#[repr(C)]
7603#[derive(Debug, Copy, Clone)]
7604pub struct _xmmreg {
7605    pub element: [__uint32_t; 4usize],
7606}
7607#[test]
7608fn bindgen_test_layout__xmmreg() {
7609    const UNINIT: ::std::mem::MaybeUninit<_xmmreg> = ::std::mem::MaybeUninit::uninit();
7610    let ptr = UNINIT.as_ptr();
7611    assert_eq!(
7612        ::std::mem::size_of::<_xmmreg>(),
7613        16usize,
7614        concat!("Size of: ", stringify!(_xmmreg))
7615    );
7616    assert_eq!(
7617        ::std::mem::align_of::<_xmmreg>(),
7618        4usize,
7619        concat!("Alignment of ", stringify!(_xmmreg))
7620    );
7621    assert_eq!(
7622        unsafe { ::std::ptr::addr_of!((*ptr).element) as usize - ptr as usize },
7623        0usize,
7624        concat!(
7625            "Offset of field: ",
7626            stringify!(_xmmreg),
7627            "::",
7628            stringify!(element)
7629        )
7630    );
7631}
7632#[repr(C)]
7633#[derive(Debug, Copy, Clone)]
7634pub struct _fpstate {
7635    pub cwd: __uint16_t,
7636    pub swd: __uint16_t,
7637    pub ftw: __uint16_t,
7638    pub fop: __uint16_t,
7639    pub rip: __uint64_t,
7640    pub rdp: __uint64_t,
7641    pub mxcsr: __uint32_t,
7642    pub mxcr_mask: __uint32_t,
7643    pub _st: [_fpxreg; 8usize],
7644    pub _xmm: [_xmmreg; 16usize],
7645    pub __glibc_reserved1: [__uint32_t; 24usize],
7646}
7647#[test]
7648fn bindgen_test_layout__fpstate() {
7649    const UNINIT: ::std::mem::MaybeUninit<_fpstate> = ::std::mem::MaybeUninit::uninit();
7650    let ptr = UNINIT.as_ptr();
7651    assert_eq!(
7652        ::std::mem::size_of::<_fpstate>(),
7653        512usize,
7654        concat!("Size of: ", stringify!(_fpstate))
7655    );
7656    assert_eq!(
7657        ::std::mem::align_of::<_fpstate>(),
7658        8usize,
7659        concat!("Alignment of ", stringify!(_fpstate))
7660    );
7661    assert_eq!(
7662        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
7663        0usize,
7664        concat!(
7665            "Offset of field: ",
7666            stringify!(_fpstate),
7667            "::",
7668            stringify!(cwd)
7669        )
7670    );
7671    assert_eq!(
7672        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
7673        2usize,
7674        concat!(
7675            "Offset of field: ",
7676            stringify!(_fpstate),
7677            "::",
7678            stringify!(swd)
7679        )
7680    );
7681    assert_eq!(
7682        unsafe { ::std::ptr::addr_of!((*ptr).ftw) as usize - ptr as usize },
7683        4usize,
7684        concat!(
7685            "Offset of field: ",
7686            stringify!(_fpstate),
7687            "::",
7688            stringify!(ftw)
7689        )
7690    );
7691    assert_eq!(
7692        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
7693        6usize,
7694        concat!(
7695            "Offset of field: ",
7696            stringify!(_fpstate),
7697            "::",
7698            stringify!(fop)
7699        )
7700    );
7701    assert_eq!(
7702        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
7703        8usize,
7704        concat!(
7705            "Offset of field: ",
7706            stringify!(_fpstate),
7707            "::",
7708            stringify!(rip)
7709        )
7710    );
7711    assert_eq!(
7712        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
7713        16usize,
7714        concat!(
7715            "Offset of field: ",
7716            stringify!(_fpstate),
7717            "::",
7718            stringify!(rdp)
7719        )
7720    );
7721    assert_eq!(
7722        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
7723        24usize,
7724        concat!(
7725            "Offset of field: ",
7726            stringify!(_fpstate),
7727            "::",
7728            stringify!(mxcsr)
7729        )
7730    );
7731    assert_eq!(
7732        unsafe { ::std::ptr::addr_of!((*ptr).mxcr_mask) as usize - ptr as usize },
7733        28usize,
7734        concat!(
7735            "Offset of field: ",
7736            stringify!(_fpstate),
7737            "::",
7738            stringify!(mxcr_mask)
7739        )
7740    );
7741    assert_eq!(
7742        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
7743        32usize,
7744        concat!(
7745            "Offset of field: ",
7746            stringify!(_fpstate),
7747            "::",
7748            stringify!(_st)
7749        )
7750    );
7751    assert_eq!(
7752        unsafe { ::std::ptr::addr_of!((*ptr)._xmm) as usize - ptr as usize },
7753        160usize,
7754        concat!(
7755            "Offset of field: ",
7756            stringify!(_fpstate),
7757            "::",
7758            stringify!(_xmm)
7759        )
7760    );
7761    assert_eq!(
7762        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
7763        416usize,
7764        concat!(
7765            "Offset of field: ",
7766            stringify!(_fpstate),
7767            "::",
7768            stringify!(__glibc_reserved1)
7769        )
7770    );
7771}
7772#[repr(C)]
7773#[derive(Copy, Clone)]
7774pub struct sigcontext {
7775    pub r8: __uint64_t,
7776    pub r9: __uint64_t,
7777    pub r10: __uint64_t,
7778    pub r11: __uint64_t,
7779    pub r12: __uint64_t,
7780    pub r13: __uint64_t,
7781    pub r14: __uint64_t,
7782    pub r15: __uint64_t,
7783    pub rdi: __uint64_t,
7784    pub rsi: __uint64_t,
7785    pub rbp: __uint64_t,
7786    pub rbx: __uint64_t,
7787    pub rdx: __uint64_t,
7788    pub rax: __uint64_t,
7789    pub rcx: __uint64_t,
7790    pub rsp: __uint64_t,
7791    pub rip: __uint64_t,
7792    pub eflags: __uint64_t,
7793    pub cs: ::std::os::raw::c_ushort,
7794    pub gs: ::std::os::raw::c_ushort,
7795    pub fs: ::std::os::raw::c_ushort,
7796    pub __pad0: ::std::os::raw::c_ushort,
7797    pub err: __uint64_t,
7798    pub trapno: __uint64_t,
7799    pub oldmask: __uint64_t,
7800    pub cr2: __uint64_t,
7801    pub __bindgen_anon_1: sigcontext__bindgen_ty_1,
7802    pub __reserved1: [__uint64_t; 8usize],
7803}
7804#[repr(C)]
7805#[derive(Copy, Clone)]
7806pub union sigcontext__bindgen_ty_1 {
7807    pub fpstate: *mut _fpstate,
7808    pub __fpstate_word: __uint64_t,
7809}
7810#[test]
7811fn bindgen_test_layout_sigcontext__bindgen_ty_1() {
7812    const UNINIT: ::std::mem::MaybeUninit<sigcontext__bindgen_ty_1> =
7813        ::std::mem::MaybeUninit::uninit();
7814    let ptr = UNINIT.as_ptr();
7815    assert_eq!(
7816        ::std::mem::size_of::<sigcontext__bindgen_ty_1>(),
7817        8usize,
7818        concat!("Size of: ", stringify!(sigcontext__bindgen_ty_1))
7819    );
7820    assert_eq!(
7821        ::std::mem::align_of::<sigcontext__bindgen_ty_1>(),
7822        8usize,
7823        concat!("Alignment of ", stringify!(sigcontext__bindgen_ty_1))
7824    );
7825    assert_eq!(
7826        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
7827        0usize,
7828        concat!(
7829            "Offset of field: ",
7830            stringify!(sigcontext__bindgen_ty_1),
7831            "::",
7832            stringify!(fpstate)
7833        )
7834    );
7835    assert_eq!(
7836        unsafe { ::std::ptr::addr_of!((*ptr).__fpstate_word) as usize - ptr as usize },
7837        0usize,
7838        concat!(
7839            "Offset of field: ",
7840            stringify!(sigcontext__bindgen_ty_1),
7841            "::",
7842            stringify!(__fpstate_word)
7843        )
7844    );
7845}
7846#[test]
7847fn bindgen_test_layout_sigcontext() {
7848    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
7849    let ptr = UNINIT.as_ptr();
7850    assert_eq!(
7851        ::std::mem::size_of::<sigcontext>(),
7852        256usize,
7853        concat!("Size of: ", stringify!(sigcontext))
7854    );
7855    assert_eq!(
7856        ::std::mem::align_of::<sigcontext>(),
7857        8usize,
7858        concat!("Alignment of ", stringify!(sigcontext))
7859    );
7860    assert_eq!(
7861        unsafe { ::std::ptr::addr_of!((*ptr).r8) as usize - ptr as usize },
7862        0usize,
7863        concat!(
7864            "Offset of field: ",
7865            stringify!(sigcontext),
7866            "::",
7867            stringify!(r8)
7868        )
7869    );
7870    assert_eq!(
7871        unsafe { ::std::ptr::addr_of!((*ptr).r9) as usize - ptr as usize },
7872        8usize,
7873        concat!(
7874            "Offset of field: ",
7875            stringify!(sigcontext),
7876            "::",
7877            stringify!(r9)
7878        )
7879    );
7880    assert_eq!(
7881        unsafe { ::std::ptr::addr_of!((*ptr).r10) as usize - ptr as usize },
7882        16usize,
7883        concat!(
7884            "Offset of field: ",
7885            stringify!(sigcontext),
7886            "::",
7887            stringify!(r10)
7888        )
7889    );
7890    assert_eq!(
7891        unsafe { ::std::ptr::addr_of!((*ptr).r11) as usize - ptr as usize },
7892        24usize,
7893        concat!(
7894            "Offset of field: ",
7895            stringify!(sigcontext),
7896            "::",
7897            stringify!(r11)
7898        )
7899    );
7900    assert_eq!(
7901        unsafe { ::std::ptr::addr_of!((*ptr).r12) as usize - ptr as usize },
7902        32usize,
7903        concat!(
7904            "Offset of field: ",
7905            stringify!(sigcontext),
7906            "::",
7907            stringify!(r12)
7908        )
7909    );
7910    assert_eq!(
7911        unsafe { ::std::ptr::addr_of!((*ptr).r13) as usize - ptr as usize },
7912        40usize,
7913        concat!(
7914            "Offset of field: ",
7915            stringify!(sigcontext),
7916            "::",
7917            stringify!(r13)
7918        )
7919    );
7920    assert_eq!(
7921        unsafe { ::std::ptr::addr_of!((*ptr).r14) as usize - ptr as usize },
7922        48usize,
7923        concat!(
7924            "Offset of field: ",
7925            stringify!(sigcontext),
7926            "::",
7927            stringify!(r14)
7928        )
7929    );
7930    assert_eq!(
7931        unsafe { ::std::ptr::addr_of!((*ptr).r15) as usize - ptr as usize },
7932        56usize,
7933        concat!(
7934            "Offset of field: ",
7935            stringify!(sigcontext),
7936            "::",
7937            stringify!(r15)
7938        )
7939    );
7940    assert_eq!(
7941        unsafe { ::std::ptr::addr_of!((*ptr).rdi) as usize - ptr as usize },
7942        64usize,
7943        concat!(
7944            "Offset of field: ",
7945            stringify!(sigcontext),
7946            "::",
7947            stringify!(rdi)
7948        )
7949    );
7950    assert_eq!(
7951        unsafe { ::std::ptr::addr_of!((*ptr).rsi) as usize - ptr as usize },
7952        72usize,
7953        concat!(
7954            "Offset of field: ",
7955            stringify!(sigcontext),
7956            "::",
7957            stringify!(rsi)
7958        )
7959    );
7960    assert_eq!(
7961        unsafe { ::std::ptr::addr_of!((*ptr).rbp) as usize - ptr as usize },
7962        80usize,
7963        concat!(
7964            "Offset of field: ",
7965            stringify!(sigcontext),
7966            "::",
7967            stringify!(rbp)
7968        )
7969    );
7970    assert_eq!(
7971        unsafe { ::std::ptr::addr_of!((*ptr).rbx) as usize - ptr as usize },
7972        88usize,
7973        concat!(
7974            "Offset of field: ",
7975            stringify!(sigcontext),
7976            "::",
7977            stringify!(rbx)
7978        )
7979    );
7980    assert_eq!(
7981        unsafe { ::std::ptr::addr_of!((*ptr).rdx) as usize - ptr as usize },
7982        96usize,
7983        concat!(
7984            "Offset of field: ",
7985            stringify!(sigcontext),
7986            "::",
7987            stringify!(rdx)
7988        )
7989    );
7990    assert_eq!(
7991        unsafe { ::std::ptr::addr_of!((*ptr).rax) as usize - ptr as usize },
7992        104usize,
7993        concat!(
7994            "Offset of field: ",
7995            stringify!(sigcontext),
7996            "::",
7997            stringify!(rax)
7998        )
7999    );
8000    assert_eq!(
8001        unsafe { ::std::ptr::addr_of!((*ptr).rcx) as usize - ptr as usize },
8002        112usize,
8003        concat!(
8004            "Offset of field: ",
8005            stringify!(sigcontext),
8006            "::",
8007            stringify!(rcx)
8008        )
8009    );
8010    assert_eq!(
8011        unsafe { ::std::ptr::addr_of!((*ptr).rsp) as usize - ptr as usize },
8012        120usize,
8013        concat!(
8014            "Offset of field: ",
8015            stringify!(sigcontext),
8016            "::",
8017            stringify!(rsp)
8018        )
8019    );
8020    assert_eq!(
8021        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
8022        128usize,
8023        concat!(
8024            "Offset of field: ",
8025            stringify!(sigcontext),
8026            "::",
8027            stringify!(rip)
8028        )
8029    );
8030    assert_eq!(
8031        unsafe { ::std::ptr::addr_of!((*ptr).eflags) as usize - ptr as usize },
8032        136usize,
8033        concat!(
8034            "Offset of field: ",
8035            stringify!(sigcontext),
8036            "::",
8037            stringify!(eflags)
8038        )
8039    );
8040    assert_eq!(
8041        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
8042        144usize,
8043        concat!(
8044            "Offset of field: ",
8045            stringify!(sigcontext),
8046            "::",
8047            stringify!(cs)
8048        )
8049    );
8050    assert_eq!(
8051        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
8052        146usize,
8053        concat!(
8054            "Offset of field: ",
8055            stringify!(sigcontext),
8056            "::",
8057            stringify!(gs)
8058        )
8059    );
8060    assert_eq!(
8061        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
8062        148usize,
8063        concat!(
8064            "Offset of field: ",
8065            stringify!(sigcontext),
8066            "::",
8067            stringify!(fs)
8068        )
8069    );
8070    assert_eq!(
8071        unsafe { ::std::ptr::addr_of!((*ptr).__pad0) as usize - ptr as usize },
8072        150usize,
8073        concat!(
8074            "Offset of field: ",
8075            stringify!(sigcontext),
8076            "::",
8077            stringify!(__pad0)
8078        )
8079    );
8080    assert_eq!(
8081        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
8082        152usize,
8083        concat!(
8084            "Offset of field: ",
8085            stringify!(sigcontext),
8086            "::",
8087            stringify!(err)
8088        )
8089    );
8090    assert_eq!(
8091        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
8092        160usize,
8093        concat!(
8094            "Offset of field: ",
8095            stringify!(sigcontext),
8096            "::",
8097            stringify!(trapno)
8098        )
8099    );
8100    assert_eq!(
8101        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
8102        168usize,
8103        concat!(
8104            "Offset of field: ",
8105            stringify!(sigcontext),
8106            "::",
8107            stringify!(oldmask)
8108        )
8109    );
8110    assert_eq!(
8111        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
8112        176usize,
8113        concat!(
8114            "Offset of field: ",
8115            stringify!(sigcontext),
8116            "::",
8117            stringify!(cr2)
8118        )
8119    );
8120    assert_eq!(
8121        unsafe { ::std::ptr::addr_of!((*ptr).__reserved1) as usize - ptr as usize },
8122        192usize,
8123        concat!(
8124            "Offset of field: ",
8125            stringify!(sigcontext),
8126            "::",
8127            stringify!(__reserved1)
8128        )
8129    );
8130}
8131#[repr(C)]
8132#[derive(Debug, Copy, Clone)]
8133pub struct _xsave_hdr {
8134    pub xstate_bv: __uint64_t,
8135    pub __glibc_reserved1: [__uint64_t; 2usize],
8136    pub __glibc_reserved2: [__uint64_t; 5usize],
8137}
8138#[test]
8139fn bindgen_test_layout__xsave_hdr() {
8140    const UNINIT: ::std::mem::MaybeUninit<_xsave_hdr> = ::std::mem::MaybeUninit::uninit();
8141    let ptr = UNINIT.as_ptr();
8142    assert_eq!(
8143        ::std::mem::size_of::<_xsave_hdr>(),
8144        64usize,
8145        concat!("Size of: ", stringify!(_xsave_hdr))
8146    );
8147    assert_eq!(
8148        ::std::mem::align_of::<_xsave_hdr>(),
8149        8usize,
8150        concat!("Alignment of ", stringify!(_xsave_hdr))
8151    );
8152    assert_eq!(
8153        unsafe { ::std::ptr::addr_of!((*ptr).xstate_bv) as usize - ptr as usize },
8154        0usize,
8155        concat!(
8156            "Offset of field: ",
8157            stringify!(_xsave_hdr),
8158            "::",
8159            stringify!(xstate_bv)
8160        )
8161    );
8162    assert_eq!(
8163        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
8164        8usize,
8165        concat!(
8166            "Offset of field: ",
8167            stringify!(_xsave_hdr),
8168            "::",
8169            stringify!(__glibc_reserved1)
8170        )
8171    );
8172    assert_eq!(
8173        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved2) as usize - ptr as usize },
8174        24usize,
8175        concat!(
8176            "Offset of field: ",
8177            stringify!(_xsave_hdr),
8178            "::",
8179            stringify!(__glibc_reserved2)
8180        )
8181    );
8182}
8183#[repr(C)]
8184#[derive(Debug, Copy, Clone)]
8185pub struct _ymmh_state {
8186    pub ymmh_space: [__uint32_t; 64usize],
8187}
8188#[test]
8189fn bindgen_test_layout__ymmh_state() {
8190    const UNINIT: ::std::mem::MaybeUninit<_ymmh_state> = ::std::mem::MaybeUninit::uninit();
8191    let ptr = UNINIT.as_ptr();
8192    assert_eq!(
8193        ::std::mem::size_of::<_ymmh_state>(),
8194        256usize,
8195        concat!("Size of: ", stringify!(_ymmh_state))
8196    );
8197    assert_eq!(
8198        ::std::mem::align_of::<_ymmh_state>(),
8199        4usize,
8200        concat!("Alignment of ", stringify!(_ymmh_state))
8201    );
8202    assert_eq!(
8203        unsafe { ::std::ptr::addr_of!((*ptr).ymmh_space) as usize - ptr as usize },
8204        0usize,
8205        concat!(
8206            "Offset of field: ",
8207            stringify!(_ymmh_state),
8208            "::",
8209            stringify!(ymmh_space)
8210        )
8211    );
8212}
8213#[repr(C)]
8214#[derive(Debug, Copy, Clone)]
8215pub struct _xstate {
8216    pub fpstate: _fpstate,
8217    pub xstate_hdr: _xsave_hdr,
8218    pub ymmh: _ymmh_state,
8219}
8220#[test]
8221fn bindgen_test_layout__xstate() {
8222    const UNINIT: ::std::mem::MaybeUninit<_xstate> = ::std::mem::MaybeUninit::uninit();
8223    let ptr = UNINIT.as_ptr();
8224    assert_eq!(
8225        ::std::mem::size_of::<_xstate>(),
8226        832usize,
8227        concat!("Size of: ", stringify!(_xstate))
8228    );
8229    assert_eq!(
8230        ::std::mem::align_of::<_xstate>(),
8231        8usize,
8232        concat!("Alignment of ", stringify!(_xstate))
8233    );
8234    assert_eq!(
8235        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
8236        0usize,
8237        concat!(
8238            "Offset of field: ",
8239            stringify!(_xstate),
8240            "::",
8241            stringify!(fpstate)
8242        )
8243    );
8244    assert_eq!(
8245        unsafe { ::std::ptr::addr_of!((*ptr).xstate_hdr) as usize - ptr as usize },
8246        512usize,
8247        concat!(
8248            "Offset of field: ",
8249            stringify!(_xstate),
8250            "::",
8251            stringify!(xstate_hdr)
8252        )
8253    );
8254    assert_eq!(
8255        unsafe { ::std::ptr::addr_of!((*ptr).ymmh) as usize - ptr as usize },
8256        576usize,
8257        concat!(
8258            "Offset of field: ",
8259            stringify!(_xstate),
8260            "::",
8261            stringify!(ymmh)
8262        )
8263    );
8264}
8265extern "C" {
8266    pub fn sigreturn(__scp: *mut sigcontext) -> ::std::os::raw::c_int;
8267}
8268#[repr(C)]
8269#[derive(Debug, Copy, Clone)]
8270pub struct stack_t {
8271    pub ss_sp: *mut ::std::os::raw::c_void,
8272    pub ss_flags: ::std::os::raw::c_int,
8273    pub ss_size: usize,
8274}
8275#[test]
8276fn bindgen_test_layout_stack_t() {
8277    const UNINIT: ::std::mem::MaybeUninit<stack_t> = ::std::mem::MaybeUninit::uninit();
8278    let ptr = UNINIT.as_ptr();
8279    assert_eq!(
8280        ::std::mem::size_of::<stack_t>(),
8281        24usize,
8282        concat!("Size of: ", stringify!(stack_t))
8283    );
8284    assert_eq!(
8285        ::std::mem::align_of::<stack_t>(),
8286        8usize,
8287        concat!("Alignment of ", stringify!(stack_t))
8288    );
8289    assert_eq!(
8290        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
8291        0usize,
8292        concat!(
8293            "Offset of field: ",
8294            stringify!(stack_t),
8295            "::",
8296            stringify!(ss_sp)
8297        )
8298    );
8299    assert_eq!(
8300        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
8301        8usize,
8302        concat!(
8303            "Offset of field: ",
8304            stringify!(stack_t),
8305            "::",
8306            stringify!(ss_flags)
8307        )
8308    );
8309    assert_eq!(
8310        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
8311        16usize,
8312        concat!(
8313            "Offset of field: ",
8314            stringify!(stack_t),
8315            "::",
8316            stringify!(ss_size)
8317        )
8318    );
8319}
8320pub type greg_t = ::std::os::raw::c_longlong;
8321pub type gregset_t = [greg_t; 23usize];
8322#[repr(C)]
8323#[derive(Debug, Copy, Clone)]
8324pub struct _libc_fpxreg {
8325    pub significand: [::std::os::raw::c_ushort; 4usize],
8326    pub exponent: ::std::os::raw::c_ushort,
8327    pub __glibc_reserved1: [::std::os::raw::c_ushort; 3usize],
8328}
8329#[test]
8330fn bindgen_test_layout__libc_fpxreg() {
8331    const UNINIT: ::std::mem::MaybeUninit<_libc_fpxreg> = ::std::mem::MaybeUninit::uninit();
8332    let ptr = UNINIT.as_ptr();
8333    assert_eq!(
8334        ::std::mem::size_of::<_libc_fpxreg>(),
8335        16usize,
8336        concat!("Size of: ", stringify!(_libc_fpxreg))
8337    );
8338    assert_eq!(
8339        ::std::mem::align_of::<_libc_fpxreg>(),
8340        2usize,
8341        concat!("Alignment of ", stringify!(_libc_fpxreg))
8342    );
8343    assert_eq!(
8344        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
8345        0usize,
8346        concat!(
8347            "Offset of field: ",
8348            stringify!(_libc_fpxreg),
8349            "::",
8350            stringify!(significand)
8351        )
8352    );
8353    assert_eq!(
8354        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
8355        8usize,
8356        concat!(
8357            "Offset of field: ",
8358            stringify!(_libc_fpxreg),
8359            "::",
8360            stringify!(exponent)
8361        )
8362    );
8363    assert_eq!(
8364        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
8365        10usize,
8366        concat!(
8367            "Offset of field: ",
8368            stringify!(_libc_fpxreg),
8369            "::",
8370            stringify!(__glibc_reserved1)
8371        )
8372    );
8373}
8374#[repr(C)]
8375#[derive(Debug, Copy, Clone)]
8376pub struct _libc_xmmreg {
8377    pub element: [__uint32_t; 4usize],
8378}
8379#[test]
8380fn bindgen_test_layout__libc_xmmreg() {
8381    const UNINIT: ::std::mem::MaybeUninit<_libc_xmmreg> = ::std::mem::MaybeUninit::uninit();
8382    let ptr = UNINIT.as_ptr();
8383    assert_eq!(
8384        ::std::mem::size_of::<_libc_xmmreg>(),
8385        16usize,
8386        concat!("Size of: ", stringify!(_libc_xmmreg))
8387    );
8388    assert_eq!(
8389        ::std::mem::align_of::<_libc_xmmreg>(),
8390        4usize,
8391        concat!("Alignment of ", stringify!(_libc_xmmreg))
8392    );
8393    assert_eq!(
8394        unsafe { ::std::ptr::addr_of!((*ptr).element) as usize - ptr as usize },
8395        0usize,
8396        concat!(
8397            "Offset of field: ",
8398            stringify!(_libc_xmmreg),
8399            "::",
8400            stringify!(element)
8401        )
8402    );
8403}
8404#[repr(C)]
8405#[derive(Debug, Copy, Clone)]
8406pub struct _libc_fpstate {
8407    pub cwd: __uint16_t,
8408    pub swd: __uint16_t,
8409    pub ftw: __uint16_t,
8410    pub fop: __uint16_t,
8411    pub rip: __uint64_t,
8412    pub rdp: __uint64_t,
8413    pub mxcsr: __uint32_t,
8414    pub mxcr_mask: __uint32_t,
8415    pub _st: [_libc_fpxreg; 8usize],
8416    pub _xmm: [_libc_xmmreg; 16usize],
8417    pub __glibc_reserved1: [__uint32_t; 24usize],
8418}
8419#[test]
8420fn bindgen_test_layout__libc_fpstate() {
8421    const UNINIT: ::std::mem::MaybeUninit<_libc_fpstate> = ::std::mem::MaybeUninit::uninit();
8422    let ptr = UNINIT.as_ptr();
8423    assert_eq!(
8424        ::std::mem::size_of::<_libc_fpstate>(),
8425        512usize,
8426        concat!("Size of: ", stringify!(_libc_fpstate))
8427    );
8428    assert_eq!(
8429        ::std::mem::align_of::<_libc_fpstate>(),
8430        8usize,
8431        concat!("Alignment of ", stringify!(_libc_fpstate))
8432    );
8433    assert_eq!(
8434        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
8435        0usize,
8436        concat!(
8437            "Offset of field: ",
8438            stringify!(_libc_fpstate),
8439            "::",
8440            stringify!(cwd)
8441        )
8442    );
8443    assert_eq!(
8444        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
8445        2usize,
8446        concat!(
8447            "Offset of field: ",
8448            stringify!(_libc_fpstate),
8449            "::",
8450            stringify!(swd)
8451        )
8452    );
8453    assert_eq!(
8454        unsafe { ::std::ptr::addr_of!((*ptr).ftw) as usize - ptr as usize },
8455        4usize,
8456        concat!(
8457            "Offset of field: ",
8458            stringify!(_libc_fpstate),
8459            "::",
8460            stringify!(ftw)
8461        )
8462    );
8463    assert_eq!(
8464        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
8465        6usize,
8466        concat!(
8467            "Offset of field: ",
8468            stringify!(_libc_fpstate),
8469            "::",
8470            stringify!(fop)
8471        )
8472    );
8473    assert_eq!(
8474        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
8475        8usize,
8476        concat!(
8477            "Offset of field: ",
8478            stringify!(_libc_fpstate),
8479            "::",
8480            stringify!(rip)
8481        )
8482    );
8483    assert_eq!(
8484        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
8485        16usize,
8486        concat!(
8487            "Offset of field: ",
8488            stringify!(_libc_fpstate),
8489            "::",
8490            stringify!(rdp)
8491        )
8492    );
8493    assert_eq!(
8494        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
8495        24usize,
8496        concat!(
8497            "Offset of field: ",
8498            stringify!(_libc_fpstate),
8499            "::",
8500            stringify!(mxcsr)
8501        )
8502    );
8503    assert_eq!(
8504        unsafe { ::std::ptr::addr_of!((*ptr).mxcr_mask) as usize - ptr as usize },
8505        28usize,
8506        concat!(
8507            "Offset of field: ",
8508            stringify!(_libc_fpstate),
8509            "::",
8510            stringify!(mxcr_mask)
8511        )
8512    );
8513    assert_eq!(
8514        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
8515        32usize,
8516        concat!(
8517            "Offset of field: ",
8518            stringify!(_libc_fpstate),
8519            "::",
8520            stringify!(_st)
8521        )
8522    );
8523    assert_eq!(
8524        unsafe { ::std::ptr::addr_of!((*ptr)._xmm) as usize - ptr as usize },
8525        160usize,
8526        concat!(
8527            "Offset of field: ",
8528            stringify!(_libc_fpstate),
8529            "::",
8530            stringify!(_xmm)
8531        )
8532    );
8533    assert_eq!(
8534        unsafe { ::std::ptr::addr_of!((*ptr).__glibc_reserved1) as usize - ptr as usize },
8535        416usize,
8536        concat!(
8537            "Offset of field: ",
8538            stringify!(_libc_fpstate),
8539            "::",
8540            stringify!(__glibc_reserved1)
8541        )
8542    );
8543}
8544pub type fpregset_t = *mut _libc_fpstate;
8545#[repr(C)]
8546#[derive(Debug, Copy, Clone)]
8547pub struct mcontext_t {
8548    pub gregs: gregset_t,
8549    pub fpregs: fpregset_t,
8550    pub __reserved1: [::std::os::raw::c_ulonglong; 8usize],
8551}
8552#[test]
8553fn bindgen_test_layout_mcontext_t() {
8554    const UNINIT: ::std::mem::MaybeUninit<mcontext_t> = ::std::mem::MaybeUninit::uninit();
8555    let ptr = UNINIT.as_ptr();
8556    assert_eq!(
8557        ::std::mem::size_of::<mcontext_t>(),
8558        256usize,
8559        concat!("Size of: ", stringify!(mcontext_t))
8560    );
8561    assert_eq!(
8562        ::std::mem::align_of::<mcontext_t>(),
8563        8usize,
8564        concat!("Alignment of ", stringify!(mcontext_t))
8565    );
8566    assert_eq!(
8567        unsafe { ::std::ptr::addr_of!((*ptr).gregs) as usize - ptr as usize },
8568        0usize,
8569        concat!(
8570            "Offset of field: ",
8571            stringify!(mcontext_t),
8572            "::",
8573            stringify!(gregs)
8574        )
8575    );
8576    assert_eq!(
8577        unsafe { ::std::ptr::addr_of!((*ptr).fpregs) as usize - ptr as usize },
8578        184usize,
8579        concat!(
8580            "Offset of field: ",
8581            stringify!(mcontext_t),
8582            "::",
8583            stringify!(fpregs)
8584        )
8585    );
8586    assert_eq!(
8587        unsafe { ::std::ptr::addr_of!((*ptr).__reserved1) as usize - ptr as usize },
8588        192usize,
8589        concat!(
8590            "Offset of field: ",
8591            stringify!(mcontext_t),
8592            "::",
8593            stringify!(__reserved1)
8594        )
8595    );
8596}
8597#[repr(C)]
8598#[derive(Debug, Copy, Clone)]
8599pub struct ucontext_t {
8600    pub uc_flags: ::std::os::raw::c_ulong,
8601    pub uc_link: *mut ucontext_t,
8602    pub uc_stack: stack_t,
8603    pub uc_mcontext: mcontext_t,
8604    pub uc_sigmask: sigset_t,
8605    pub __fpregs_mem: _libc_fpstate,
8606    pub __ssp: [::std::os::raw::c_ulonglong; 4usize],
8607}
8608#[test]
8609fn bindgen_test_layout_ucontext_t() {
8610    const UNINIT: ::std::mem::MaybeUninit<ucontext_t> = ::std::mem::MaybeUninit::uninit();
8611    let ptr = UNINIT.as_ptr();
8612    assert_eq!(
8613        ::std::mem::size_of::<ucontext_t>(),
8614        968usize,
8615        concat!("Size of: ", stringify!(ucontext_t))
8616    );
8617    assert_eq!(
8618        ::std::mem::align_of::<ucontext_t>(),
8619        8usize,
8620        concat!("Alignment of ", stringify!(ucontext_t))
8621    );
8622    assert_eq!(
8623        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
8624        0usize,
8625        concat!(
8626            "Offset of field: ",
8627            stringify!(ucontext_t),
8628            "::",
8629            stringify!(uc_flags)
8630        )
8631    );
8632    assert_eq!(
8633        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
8634        8usize,
8635        concat!(
8636            "Offset of field: ",
8637            stringify!(ucontext_t),
8638            "::",
8639            stringify!(uc_link)
8640        )
8641    );
8642    assert_eq!(
8643        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
8644        16usize,
8645        concat!(
8646            "Offset of field: ",
8647            stringify!(ucontext_t),
8648            "::",
8649            stringify!(uc_stack)
8650        )
8651    );
8652    assert_eq!(
8653        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
8654        40usize,
8655        concat!(
8656            "Offset of field: ",
8657            stringify!(ucontext_t),
8658            "::",
8659            stringify!(uc_mcontext)
8660        )
8661    );
8662    assert_eq!(
8663        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
8664        296usize,
8665        concat!(
8666            "Offset of field: ",
8667            stringify!(ucontext_t),
8668            "::",
8669            stringify!(uc_sigmask)
8670        )
8671    );
8672    assert_eq!(
8673        unsafe { ::std::ptr::addr_of!((*ptr).__fpregs_mem) as usize - ptr as usize },
8674        424usize,
8675        concat!(
8676            "Offset of field: ",
8677            stringify!(ucontext_t),
8678            "::",
8679            stringify!(__fpregs_mem)
8680        )
8681    );
8682    assert_eq!(
8683        unsafe { ::std::ptr::addr_of!((*ptr).__ssp) as usize - ptr as usize },
8684        936usize,
8685        concat!(
8686            "Offset of field: ",
8687            stringify!(ucontext_t),
8688            "::",
8689            stringify!(__ssp)
8690        )
8691    );
8692}
8693extern "C" {
8694    pub fn siginterrupt(
8695        __sig: ::std::os::raw::c_int,
8696        __interrupt: ::std::os::raw::c_int,
8697    ) -> ::std::os::raw::c_int;
8698}
8699pub const SS_ONSTACK: _bindgen_ty_9 = 1;
8700pub const SS_DISABLE: _bindgen_ty_9 = 2;
8701pub type _bindgen_ty_9 = ::std::os::raw::c_uint;
8702extern "C" {
8703    pub fn sigaltstack(__ss: *const stack_t, __oss: *mut stack_t) -> ::std::os::raw::c_int;
8704}
8705#[repr(C)]
8706#[derive(Debug, Copy, Clone)]
8707pub struct sigstack {
8708    pub ss_sp: *mut ::std::os::raw::c_void,
8709    pub ss_onstack: ::std::os::raw::c_int,
8710}
8711#[test]
8712fn bindgen_test_layout_sigstack() {
8713    const UNINIT: ::std::mem::MaybeUninit<sigstack> = ::std::mem::MaybeUninit::uninit();
8714    let ptr = UNINIT.as_ptr();
8715    assert_eq!(
8716        ::std::mem::size_of::<sigstack>(),
8717        16usize,
8718        concat!("Size of: ", stringify!(sigstack))
8719    );
8720    assert_eq!(
8721        ::std::mem::align_of::<sigstack>(),
8722        8usize,
8723        concat!("Alignment of ", stringify!(sigstack))
8724    );
8725    assert_eq!(
8726        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
8727        0usize,
8728        concat!(
8729            "Offset of field: ",
8730            stringify!(sigstack),
8731            "::",
8732            stringify!(ss_sp)
8733        )
8734    );
8735    assert_eq!(
8736        unsafe { ::std::ptr::addr_of!((*ptr).ss_onstack) as usize - ptr as usize },
8737        8usize,
8738        concat!(
8739            "Offset of field: ",
8740            stringify!(sigstack),
8741            "::",
8742            stringify!(ss_onstack)
8743        )
8744    );
8745}
8746extern "C" {
8747    pub fn sigstack(__ss: *mut sigstack, __oss: *mut sigstack) -> ::std::os::raw::c_int;
8748}
8749extern "C" {
8750    pub fn pthread_sigmask(
8751        __how: ::std::os::raw::c_int,
8752        __newmask: *const __sigset_t,
8753        __oldmask: *mut __sigset_t,
8754    ) -> ::std::os::raw::c_int;
8755}
8756extern "C" {
8757    pub fn pthread_kill(
8758        __threadid: pthread_t,
8759        __signo: ::std::os::raw::c_int,
8760    ) -> ::std::os::raw::c_int;
8761}
8762extern "C" {
8763    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
8764}
8765extern "C" {
8766    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
8767}
8768extern "C" {
8769    pub fn g_on_error_query(prg_name: *const gchar);
8770}
8771extern "C" {
8772    pub fn g_on_error_stack_trace(prg_name: *const gchar);
8773}
8774extern "C" {
8775    pub fn g_base64_encode_step(
8776        in_: *const guchar,
8777        len: gsize,
8778        break_lines: gboolean,
8779        out: *mut gchar,
8780        state: *mut gint,
8781        save: *mut gint,
8782    ) -> gsize;
8783}
8784extern "C" {
8785    pub fn g_base64_encode_close(
8786        break_lines: gboolean,
8787        out: *mut gchar,
8788        state: *mut gint,
8789        save: *mut gint,
8790    ) -> gsize;
8791}
8792extern "C" {
8793    pub fn g_base64_encode(data: *const guchar, len: gsize) -> *mut gchar;
8794}
8795extern "C" {
8796    pub fn g_base64_decode_step(
8797        in_: *const gchar,
8798        len: gsize,
8799        out: *mut guchar,
8800        state: *mut gint,
8801        save: *mut guint,
8802    ) -> gsize;
8803}
8804extern "C" {
8805    pub fn g_base64_decode(text: *const gchar, out_len: *mut gsize) -> *mut guchar;
8806}
8807extern "C" {
8808    pub fn g_base64_decode_inplace(text: *mut gchar, out_len: *mut gsize) -> *mut guchar;
8809}
8810extern "C" {
8811    pub fn g_bit_lock(address: *mut gint, lock_bit: gint);
8812}
8813extern "C" {
8814    pub fn g_bit_trylock(address: *mut gint, lock_bit: gint) -> gboolean;
8815}
8816extern "C" {
8817    pub fn g_bit_unlock(address: *mut gint, lock_bit: gint);
8818}
8819extern "C" {
8820    pub fn g_pointer_bit_lock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
8821}
8822extern "C" {
8823    pub fn g_pointer_bit_trylock(address: *mut ::std::os::raw::c_void, lock_bit: gint) -> gboolean;
8824}
8825extern "C" {
8826    pub fn g_pointer_bit_unlock(address: *mut ::std::os::raw::c_void, lock_bit: gint);
8827}
8828#[repr(C)]
8829#[derive(Debug, Copy, Clone)]
8830pub struct _GTimeZone {
8831    _unused: [u8; 0],
8832}
8833pub type GTimeZone = _GTimeZone;
8834pub const GTimeType_G_TIME_TYPE_STANDARD: GTimeType = 0;
8835pub const GTimeType_G_TIME_TYPE_DAYLIGHT: GTimeType = 1;
8836pub const GTimeType_G_TIME_TYPE_UNIVERSAL: GTimeType = 2;
8837pub type GTimeType = ::std::os::raw::c_uint;
8838extern "C" {
8839    pub fn g_time_zone_new(identifier: *const gchar) -> *mut GTimeZone;
8840}
8841extern "C" {
8842    pub fn g_time_zone_new_identifier(identifier: *const gchar) -> *mut GTimeZone;
8843}
8844extern "C" {
8845    pub fn g_time_zone_new_utc() -> *mut GTimeZone;
8846}
8847extern "C" {
8848    pub fn g_time_zone_new_local() -> *mut GTimeZone;
8849}
8850extern "C" {
8851    pub fn g_time_zone_new_offset(seconds: gint32) -> *mut GTimeZone;
8852}
8853extern "C" {
8854    pub fn g_time_zone_ref(tz: *mut GTimeZone) -> *mut GTimeZone;
8855}
8856extern "C" {
8857    pub fn g_time_zone_unref(tz: *mut GTimeZone);
8858}
8859extern "C" {
8860    pub fn g_time_zone_find_interval(tz: *mut GTimeZone, type_: GTimeType, time_: gint64) -> gint;
8861}
8862extern "C" {
8863    pub fn g_time_zone_adjust_time(
8864        tz: *mut GTimeZone,
8865        type_: GTimeType,
8866        time_: *mut gint64,
8867    ) -> gint;
8868}
8869extern "C" {
8870    pub fn g_time_zone_get_abbreviation(tz: *mut GTimeZone, interval: gint) -> *const gchar;
8871}
8872extern "C" {
8873    pub fn g_time_zone_get_offset(tz: *mut GTimeZone, interval: gint) -> gint32;
8874}
8875extern "C" {
8876    pub fn g_time_zone_is_dst(tz: *mut GTimeZone, interval: gint) -> gboolean;
8877}
8878extern "C" {
8879    pub fn g_time_zone_get_identifier(tz: *mut GTimeZone) -> *const gchar;
8880}
8881pub type GTimeSpan = gint64;
8882#[repr(C)]
8883#[derive(Debug, Copy, Clone)]
8884pub struct _GDateTime {
8885    _unused: [u8; 0],
8886}
8887pub type GDateTime = _GDateTime;
8888extern "C" {
8889    pub fn g_date_time_unref(datetime: *mut GDateTime);
8890}
8891extern "C" {
8892    pub fn g_date_time_ref(datetime: *mut GDateTime) -> *mut GDateTime;
8893}
8894extern "C" {
8895    pub fn g_date_time_new_now(tz: *mut GTimeZone) -> *mut GDateTime;
8896}
8897extern "C" {
8898    pub fn g_date_time_new_now_local() -> *mut GDateTime;
8899}
8900extern "C" {
8901    pub fn g_date_time_new_now_utc() -> *mut GDateTime;
8902}
8903extern "C" {
8904    pub fn g_date_time_new_from_unix_local(t: gint64) -> *mut GDateTime;
8905}
8906extern "C" {
8907    pub fn g_date_time_new_from_unix_utc(t: gint64) -> *mut GDateTime;
8908}
8909extern "C" {
8910    pub fn g_date_time_new_from_timeval_local(tv: *const GTimeVal) -> *mut GDateTime;
8911}
8912extern "C" {
8913    pub fn g_date_time_new_from_timeval_utc(tv: *const GTimeVal) -> *mut GDateTime;
8914}
8915extern "C" {
8916    pub fn g_date_time_new_from_iso8601(
8917        text: *const gchar,
8918        default_tz: *mut GTimeZone,
8919    ) -> *mut GDateTime;
8920}
8921extern "C" {
8922    pub fn g_date_time_new(
8923        tz: *mut GTimeZone,
8924        year: gint,
8925        month: gint,
8926        day: gint,
8927        hour: gint,
8928        minute: gint,
8929        seconds: gdouble,
8930    ) -> *mut GDateTime;
8931}
8932extern "C" {
8933    pub fn g_date_time_new_local(
8934        year: gint,
8935        month: gint,
8936        day: gint,
8937        hour: gint,
8938        minute: gint,
8939        seconds: gdouble,
8940    ) -> *mut GDateTime;
8941}
8942extern "C" {
8943    pub fn g_date_time_new_utc(
8944        year: gint,
8945        month: gint,
8946        day: gint,
8947        hour: gint,
8948        minute: gint,
8949        seconds: gdouble,
8950    ) -> *mut GDateTime;
8951}
8952extern "C" {
8953    pub fn g_date_time_add(datetime: *mut GDateTime, timespan: GTimeSpan) -> *mut GDateTime;
8954}
8955extern "C" {
8956    pub fn g_date_time_add_years(datetime: *mut GDateTime, years: gint) -> *mut GDateTime;
8957}
8958extern "C" {
8959    pub fn g_date_time_add_months(datetime: *mut GDateTime, months: gint) -> *mut GDateTime;
8960}
8961extern "C" {
8962    pub fn g_date_time_add_weeks(datetime: *mut GDateTime, weeks: gint) -> *mut GDateTime;
8963}
8964extern "C" {
8965    pub fn g_date_time_add_days(datetime: *mut GDateTime, days: gint) -> *mut GDateTime;
8966}
8967extern "C" {
8968    pub fn g_date_time_add_hours(datetime: *mut GDateTime, hours: gint) -> *mut GDateTime;
8969}
8970extern "C" {
8971    pub fn g_date_time_add_minutes(datetime: *mut GDateTime, minutes: gint) -> *mut GDateTime;
8972}
8973extern "C" {
8974    pub fn g_date_time_add_seconds(datetime: *mut GDateTime, seconds: gdouble) -> *mut GDateTime;
8975}
8976extern "C" {
8977    pub fn g_date_time_add_full(
8978        datetime: *mut GDateTime,
8979        years: gint,
8980        months: gint,
8981        days: gint,
8982        hours: gint,
8983        minutes: gint,
8984        seconds: gdouble,
8985    ) -> *mut GDateTime;
8986}
8987extern "C" {
8988    pub fn g_date_time_compare(dt1: gconstpointer, dt2: gconstpointer) -> gint;
8989}
8990extern "C" {
8991    pub fn g_date_time_difference(end: *mut GDateTime, begin: *mut GDateTime) -> GTimeSpan;
8992}
8993extern "C" {
8994    pub fn g_date_time_hash(datetime: gconstpointer) -> guint;
8995}
8996extern "C" {
8997    pub fn g_date_time_equal(dt1: gconstpointer, dt2: gconstpointer) -> gboolean;
8998}
8999extern "C" {
9000    pub fn g_date_time_get_ymd(
9001        datetime: *mut GDateTime,
9002        year: *mut gint,
9003        month: *mut gint,
9004        day: *mut gint,
9005    );
9006}
9007extern "C" {
9008    pub fn g_date_time_get_year(datetime: *mut GDateTime) -> gint;
9009}
9010extern "C" {
9011    pub fn g_date_time_get_month(datetime: *mut GDateTime) -> gint;
9012}
9013extern "C" {
9014    pub fn g_date_time_get_day_of_month(datetime: *mut GDateTime) -> gint;
9015}
9016extern "C" {
9017    pub fn g_date_time_get_week_numbering_year(datetime: *mut GDateTime) -> gint;
9018}
9019extern "C" {
9020    pub fn g_date_time_get_week_of_year(datetime: *mut GDateTime) -> gint;
9021}
9022extern "C" {
9023    pub fn g_date_time_get_day_of_week(datetime: *mut GDateTime) -> gint;
9024}
9025extern "C" {
9026    pub fn g_date_time_get_day_of_year(datetime: *mut GDateTime) -> gint;
9027}
9028extern "C" {
9029    pub fn g_date_time_get_hour(datetime: *mut GDateTime) -> gint;
9030}
9031extern "C" {
9032    pub fn g_date_time_get_minute(datetime: *mut GDateTime) -> gint;
9033}
9034extern "C" {
9035    pub fn g_date_time_get_second(datetime: *mut GDateTime) -> gint;
9036}
9037extern "C" {
9038    pub fn g_date_time_get_microsecond(datetime: *mut GDateTime) -> gint;
9039}
9040extern "C" {
9041    pub fn g_date_time_get_seconds(datetime: *mut GDateTime) -> gdouble;
9042}
9043extern "C" {
9044    pub fn g_date_time_to_unix(datetime: *mut GDateTime) -> gint64;
9045}
9046extern "C" {
9047    pub fn g_date_time_to_timeval(datetime: *mut GDateTime, tv: *mut GTimeVal) -> gboolean;
9048}
9049extern "C" {
9050    pub fn g_date_time_get_utc_offset(datetime: *mut GDateTime) -> GTimeSpan;
9051}
9052extern "C" {
9053    pub fn g_date_time_get_timezone(datetime: *mut GDateTime) -> *mut GTimeZone;
9054}
9055extern "C" {
9056    pub fn g_date_time_get_timezone_abbreviation(datetime: *mut GDateTime) -> *const gchar;
9057}
9058extern "C" {
9059    pub fn g_date_time_is_daylight_savings(datetime: *mut GDateTime) -> gboolean;
9060}
9061extern "C" {
9062    pub fn g_date_time_to_timezone(datetime: *mut GDateTime, tz: *mut GTimeZone) -> *mut GDateTime;
9063}
9064extern "C" {
9065    pub fn g_date_time_to_local(datetime: *mut GDateTime) -> *mut GDateTime;
9066}
9067extern "C" {
9068    pub fn g_date_time_to_utc(datetime: *mut GDateTime) -> *mut GDateTime;
9069}
9070extern "C" {
9071    pub fn g_date_time_format(datetime: *mut GDateTime, format: *const gchar) -> *mut gchar;
9072}
9073extern "C" {
9074    pub fn g_date_time_format_iso8601(datetime: *mut GDateTime) -> *mut gchar;
9075}
9076pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_URI: GBookmarkFileError = 0;
9077pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_INVALID_VALUE: GBookmarkFileError = 1;
9078pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: GBookmarkFileError = 2;
9079pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: GBookmarkFileError = 3;
9080pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_READ: GBookmarkFileError = 4;
9081pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: GBookmarkFileError = 5;
9082pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_WRITE: GBookmarkFileError = 6;
9083pub const GBookmarkFileError_G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: GBookmarkFileError = 7;
9084pub type GBookmarkFileError = ::std::os::raw::c_uint;
9085extern "C" {
9086    pub fn g_bookmark_file_error_quark() -> GQuark;
9087}
9088#[repr(C)]
9089#[derive(Debug, Copy, Clone)]
9090pub struct _GBookmarkFile {
9091    _unused: [u8; 0],
9092}
9093pub type GBookmarkFile = _GBookmarkFile;
9094extern "C" {
9095    pub fn g_bookmark_file_new() -> *mut GBookmarkFile;
9096}
9097extern "C" {
9098    pub fn g_bookmark_file_free(bookmark: *mut GBookmarkFile);
9099}
9100extern "C" {
9101    pub fn g_bookmark_file_copy(bookmark: *mut GBookmarkFile) -> *mut GBookmarkFile;
9102}
9103extern "C" {
9104    pub fn g_bookmark_file_load_from_file(
9105        bookmark: *mut GBookmarkFile,
9106        filename: *const gchar,
9107        error: *mut *mut GError,
9108    ) -> gboolean;
9109}
9110extern "C" {
9111    pub fn g_bookmark_file_load_from_data(
9112        bookmark: *mut GBookmarkFile,
9113        data: *const gchar,
9114        length: gsize,
9115        error: *mut *mut GError,
9116    ) -> gboolean;
9117}
9118extern "C" {
9119    pub fn g_bookmark_file_load_from_data_dirs(
9120        bookmark: *mut GBookmarkFile,
9121        file: *const gchar,
9122        full_path: *mut *mut gchar,
9123        error: *mut *mut GError,
9124    ) -> gboolean;
9125}
9126extern "C" {
9127    pub fn g_bookmark_file_to_data(
9128        bookmark: *mut GBookmarkFile,
9129        length: *mut gsize,
9130        error: *mut *mut GError,
9131    ) -> *mut gchar;
9132}
9133extern "C" {
9134    pub fn g_bookmark_file_to_file(
9135        bookmark: *mut GBookmarkFile,
9136        filename: *const gchar,
9137        error: *mut *mut GError,
9138    ) -> gboolean;
9139}
9140extern "C" {
9141    pub fn g_bookmark_file_set_title(
9142        bookmark: *mut GBookmarkFile,
9143        uri: *const gchar,
9144        title: *const gchar,
9145    );
9146}
9147extern "C" {
9148    pub fn g_bookmark_file_get_title(
9149        bookmark: *mut GBookmarkFile,
9150        uri: *const gchar,
9151        error: *mut *mut GError,
9152    ) -> *mut gchar;
9153}
9154extern "C" {
9155    pub fn g_bookmark_file_set_description(
9156        bookmark: *mut GBookmarkFile,
9157        uri: *const gchar,
9158        description: *const gchar,
9159    );
9160}
9161extern "C" {
9162    pub fn g_bookmark_file_get_description(
9163        bookmark: *mut GBookmarkFile,
9164        uri: *const gchar,
9165        error: *mut *mut GError,
9166    ) -> *mut gchar;
9167}
9168extern "C" {
9169    pub fn g_bookmark_file_set_mime_type(
9170        bookmark: *mut GBookmarkFile,
9171        uri: *const gchar,
9172        mime_type: *const gchar,
9173    );
9174}
9175extern "C" {
9176    pub fn g_bookmark_file_get_mime_type(
9177        bookmark: *mut GBookmarkFile,
9178        uri: *const gchar,
9179        error: *mut *mut GError,
9180    ) -> *mut gchar;
9181}
9182extern "C" {
9183    pub fn g_bookmark_file_set_groups(
9184        bookmark: *mut GBookmarkFile,
9185        uri: *const gchar,
9186        groups: *mut *const gchar,
9187        length: gsize,
9188    );
9189}
9190extern "C" {
9191    pub fn g_bookmark_file_add_group(
9192        bookmark: *mut GBookmarkFile,
9193        uri: *const gchar,
9194        group: *const gchar,
9195    );
9196}
9197extern "C" {
9198    pub fn g_bookmark_file_has_group(
9199        bookmark: *mut GBookmarkFile,
9200        uri: *const gchar,
9201        group: *const gchar,
9202        error: *mut *mut GError,
9203    ) -> gboolean;
9204}
9205extern "C" {
9206    pub fn g_bookmark_file_get_groups(
9207        bookmark: *mut GBookmarkFile,
9208        uri: *const gchar,
9209        length: *mut gsize,
9210        error: *mut *mut GError,
9211    ) -> *mut *mut gchar;
9212}
9213extern "C" {
9214    pub fn g_bookmark_file_add_application(
9215        bookmark: *mut GBookmarkFile,
9216        uri: *const gchar,
9217        name: *const gchar,
9218        exec: *const gchar,
9219    );
9220}
9221extern "C" {
9222    pub fn g_bookmark_file_has_application(
9223        bookmark: *mut GBookmarkFile,
9224        uri: *const gchar,
9225        name: *const gchar,
9226        error: *mut *mut GError,
9227    ) -> gboolean;
9228}
9229extern "C" {
9230    pub fn g_bookmark_file_get_applications(
9231        bookmark: *mut GBookmarkFile,
9232        uri: *const gchar,
9233        length: *mut gsize,
9234        error: *mut *mut GError,
9235    ) -> *mut *mut gchar;
9236}
9237extern "C" {
9238    pub fn g_bookmark_file_set_app_info(
9239        bookmark: *mut GBookmarkFile,
9240        uri: *const gchar,
9241        name: *const gchar,
9242        exec: *const gchar,
9243        count: gint,
9244        stamp: time_t,
9245        error: *mut *mut GError,
9246    ) -> gboolean;
9247}
9248extern "C" {
9249    pub fn g_bookmark_file_set_application_info(
9250        bookmark: *mut GBookmarkFile,
9251        uri: *const ::std::os::raw::c_char,
9252        name: *const ::std::os::raw::c_char,
9253        exec: *const ::std::os::raw::c_char,
9254        count: ::std::os::raw::c_int,
9255        stamp: *mut GDateTime,
9256        error: *mut *mut GError,
9257    ) -> gboolean;
9258}
9259extern "C" {
9260    pub fn g_bookmark_file_get_app_info(
9261        bookmark: *mut GBookmarkFile,
9262        uri: *const gchar,
9263        name: *const gchar,
9264        exec: *mut *mut gchar,
9265        count: *mut guint,
9266        stamp: *mut time_t,
9267        error: *mut *mut GError,
9268    ) -> gboolean;
9269}
9270extern "C" {
9271    pub fn g_bookmark_file_get_application_info(
9272        bookmark: *mut GBookmarkFile,
9273        uri: *const ::std::os::raw::c_char,
9274        name: *const ::std::os::raw::c_char,
9275        exec: *mut *mut ::std::os::raw::c_char,
9276        count: *mut ::std::os::raw::c_uint,
9277        stamp: *mut *mut GDateTime,
9278        error: *mut *mut GError,
9279    ) -> gboolean;
9280}
9281extern "C" {
9282    pub fn g_bookmark_file_set_is_private(
9283        bookmark: *mut GBookmarkFile,
9284        uri: *const gchar,
9285        is_private: gboolean,
9286    );
9287}
9288extern "C" {
9289    pub fn g_bookmark_file_get_is_private(
9290        bookmark: *mut GBookmarkFile,
9291        uri: *const gchar,
9292        error: *mut *mut GError,
9293    ) -> gboolean;
9294}
9295extern "C" {
9296    pub fn g_bookmark_file_set_icon(
9297        bookmark: *mut GBookmarkFile,
9298        uri: *const gchar,
9299        href: *const gchar,
9300        mime_type: *const gchar,
9301    );
9302}
9303extern "C" {
9304    pub fn g_bookmark_file_get_icon(
9305        bookmark: *mut GBookmarkFile,
9306        uri: *const gchar,
9307        href: *mut *mut gchar,
9308        mime_type: *mut *mut gchar,
9309        error: *mut *mut GError,
9310    ) -> gboolean;
9311}
9312extern "C" {
9313    pub fn g_bookmark_file_set_added(
9314        bookmark: *mut GBookmarkFile,
9315        uri: *const gchar,
9316        added: time_t,
9317    );
9318}
9319extern "C" {
9320    pub fn g_bookmark_file_set_added_date_time(
9321        bookmark: *mut GBookmarkFile,
9322        uri: *const ::std::os::raw::c_char,
9323        added: *mut GDateTime,
9324    );
9325}
9326extern "C" {
9327    pub fn g_bookmark_file_get_added(
9328        bookmark: *mut GBookmarkFile,
9329        uri: *const gchar,
9330        error: *mut *mut GError,
9331    ) -> time_t;
9332}
9333extern "C" {
9334    pub fn g_bookmark_file_get_added_date_time(
9335        bookmark: *mut GBookmarkFile,
9336        uri: *const ::std::os::raw::c_char,
9337        error: *mut *mut GError,
9338    ) -> *mut GDateTime;
9339}
9340extern "C" {
9341    pub fn g_bookmark_file_set_modified(
9342        bookmark: *mut GBookmarkFile,
9343        uri: *const gchar,
9344        modified: time_t,
9345    );
9346}
9347extern "C" {
9348    pub fn g_bookmark_file_set_modified_date_time(
9349        bookmark: *mut GBookmarkFile,
9350        uri: *const ::std::os::raw::c_char,
9351        modified: *mut GDateTime,
9352    );
9353}
9354extern "C" {
9355    pub fn g_bookmark_file_get_modified(
9356        bookmark: *mut GBookmarkFile,
9357        uri: *const gchar,
9358        error: *mut *mut GError,
9359    ) -> time_t;
9360}
9361extern "C" {
9362    pub fn g_bookmark_file_get_modified_date_time(
9363        bookmark: *mut GBookmarkFile,
9364        uri: *const ::std::os::raw::c_char,
9365        error: *mut *mut GError,
9366    ) -> *mut GDateTime;
9367}
9368extern "C" {
9369    pub fn g_bookmark_file_set_visited(
9370        bookmark: *mut GBookmarkFile,
9371        uri: *const gchar,
9372        visited: time_t,
9373    );
9374}
9375extern "C" {
9376    pub fn g_bookmark_file_set_visited_date_time(
9377        bookmark: *mut GBookmarkFile,
9378        uri: *const ::std::os::raw::c_char,
9379        visited: *mut GDateTime,
9380    );
9381}
9382extern "C" {
9383    pub fn g_bookmark_file_get_visited(
9384        bookmark: *mut GBookmarkFile,
9385        uri: *const gchar,
9386        error: *mut *mut GError,
9387    ) -> time_t;
9388}
9389extern "C" {
9390    pub fn g_bookmark_file_get_visited_date_time(
9391        bookmark: *mut GBookmarkFile,
9392        uri: *const ::std::os::raw::c_char,
9393        error: *mut *mut GError,
9394    ) -> *mut GDateTime;
9395}
9396extern "C" {
9397    pub fn g_bookmark_file_has_item(bookmark: *mut GBookmarkFile, uri: *const gchar) -> gboolean;
9398}
9399extern "C" {
9400    pub fn g_bookmark_file_get_size(bookmark: *mut GBookmarkFile) -> gint;
9401}
9402extern "C" {
9403    pub fn g_bookmark_file_get_uris(
9404        bookmark: *mut GBookmarkFile,
9405        length: *mut gsize,
9406    ) -> *mut *mut gchar;
9407}
9408extern "C" {
9409    pub fn g_bookmark_file_remove_group(
9410        bookmark: *mut GBookmarkFile,
9411        uri: *const gchar,
9412        group: *const gchar,
9413        error: *mut *mut GError,
9414    ) -> gboolean;
9415}
9416extern "C" {
9417    pub fn g_bookmark_file_remove_application(
9418        bookmark: *mut GBookmarkFile,
9419        uri: *const gchar,
9420        name: *const gchar,
9421        error: *mut *mut GError,
9422    ) -> gboolean;
9423}
9424extern "C" {
9425    pub fn g_bookmark_file_remove_item(
9426        bookmark: *mut GBookmarkFile,
9427        uri: *const gchar,
9428        error: *mut *mut GError,
9429    ) -> gboolean;
9430}
9431extern "C" {
9432    pub fn g_bookmark_file_move_item(
9433        bookmark: *mut GBookmarkFile,
9434        old_uri: *const gchar,
9435        new_uri: *const gchar,
9436        error: *mut *mut GError,
9437    ) -> gboolean;
9438}
9439extern "C" {
9440    pub fn g_bytes_new(data: gconstpointer, size: gsize) -> *mut GBytes;
9441}
9442extern "C" {
9443    pub fn g_bytes_new_take(data: gpointer, size: gsize) -> *mut GBytes;
9444}
9445extern "C" {
9446    pub fn g_bytes_new_static(data: gconstpointer, size: gsize) -> *mut GBytes;
9447}
9448extern "C" {
9449    pub fn g_bytes_new_with_free_func(
9450        data: gconstpointer,
9451        size: gsize,
9452        free_func: GDestroyNotify,
9453        user_data: gpointer,
9454    ) -> *mut GBytes;
9455}
9456extern "C" {
9457    pub fn g_bytes_new_from_bytes(bytes: *mut GBytes, offset: gsize, length: gsize) -> *mut GBytes;
9458}
9459extern "C" {
9460    pub fn g_bytes_get_data(bytes: *mut GBytes, size: *mut gsize) -> gconstpointer;
9461}
9462extern "C" {
9463    pub fn g_bytes_get_size(bytes: *mut GBytes) -> gsize;
9464}
9465extern "C" {
9466    pub fn g_bytes_ref(bytes: *mut GBytes) -> *mut GBytes;
9467}
9468extern "C" {
9469    pub fn g_bytes_unref(bytes: *mut GBytes);
9470}
9471extern "C" {
9472    pub fn g_bytes_unref_to_data(bytes: *mut GBytes, size: *mut gsize) -> gpointer;
9473}
9474extern "C" {
9475    pub fn g_bytes_unref_to_array(bytes: *mut GBytes) -> *mut GByteArray;
9476}
9477extern "C" {
9478    pub fn g_bytes_hash(bytes: gconstpointer) -> guint;
9479}
9480extern "C" {
9481    pub fn g_bytes_equal(bytes1: gconstpointer, bytes2: gconstpointer) -> gboolean;
9482}
9483extern "C" {
9484    pub fn g_bytes_compare(bytes1: gconstpointer, bytes2: gconstpointer) -> gint;
9485}
9486extern "C" {
9487    pub fn g_bytes_get_region(
9488        bytes: *mut GBytes,
9489        element_size: gsize,
9490        offset: gsize,
9491        n_elements: gsize,
9492    ) -> gconstpointer;
9493}
9494extern "C" {
9495    pub fn g_get_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
9496}
9497extern "C" {
9498    pub fn g_get_codeset() -> *mut gchar;
9499}
9500extern "C" {
9501    pub fn g_get_console_charset(charset: *mut *const ::std::os::raw::c_char) -> gboolean;
9502}
9503extern "C" {
9504    pub fn g_get_language_names() -> *const *const gchar;
9505}
9506extern "C" {
9507    pub fn g_get_language_names_with_category(category_name: *const gchar) -> *const *const gchar;
9508}
9509extern "C" {
9510    pub fn g_get_locale_variants(locale: *const gchar) -> *mut *mut gchar;
9511}
9512pub const GChecksumType_G_CHECKSUM_MD5: GChecksumType = 0;
9513pub const GChecksumType_G_CHECKSUM_SHA1: GChecksumType = 1;
9514pub const GChecksumType_G_CHECKSUM_SHA256: GChecksumType = 2;
9515pub const GChecksumType_G_CHECKSUM_SHA512: GChecksumType = 3;
9516pub const GChecksumType_G_CHECKSUM_SHA384: GChecksumType = 4;
9517pub type GChecksumType = ::std::os::raw::c_uint;
9518#[repr(C)]
9519#[derive(Debug, Copy, Clone)]
9520pub struct _GChecksum {
9521    _unused: [u8; 0],
9522}
9523pub type GChecksum = _GChecksum;
9524extern "C" {
9525    pub fn g_checksum_type_get_length(checksum_type: GChecksumType) -> gssize;
9526}
9527extern "C" {
9528    pub fn g_checksum_new(checksum_type: GChecksumType) -> *mut GChecksum;
9529}
9530extern "C" {
9531    pub fn g_checksum_reset(checksum: *mut GChecksum);
9532}
9533extern "C" {
9534    pub fn g_checksum_copy(checksum: *const GChecksum) -> *mut GChecksum;
9535}
9536extern "C" {
9537    pub fn g_checksum_free(checksum: *mut GChecksum);
9538}
9539extern "C" {
9540    pub fn g_checksum_update(checksum: *mut GChecksum, data: *const guchar, length: gssize);
9541}
9542extern "C" {
9543    pub fn g_checksum_get_string(checksum: *mut GChecksum) -> *const gchar;
9544}
9545extern "C" {
9546    pub fn g_checksum_get_digest(
9547        checksum: *mut GChecksum,
9548        buffer: *mut guint8,
9549        digest_len: *mut gsize,
9550    );
9551}
9552extern "C" {
9553    pub fn g_compute_checksum_for_data(
9554        checksum_type: GChecksumType,
9555        data: *const guchar,
9556        length: gsize,
9557    ) -> *mut gchar;
9558}
9559extern "C" {
9560    pub fn g_compute_checksum_for_string(
9561        checksum_type: GChecksumType,
9562        str_: *const gchar,
9563        length: gssize,
9564    ) -> *mut gchar;
9565}
9566extern "C" {
9567    pub fn g_compute_checksum_for_bytes(
9568        checksum_type: GChecksumType,
9569        data: *mut GBytes,
9570    ) -> *mut gchar;
9571}
9572pub const GConvertError_G_CONVERT_ERROR_NO_CONVERSION: GConvertError = 0;
9573pub const GConvertError_G_CONVERT_ERROR_ILLEGAL_SEQUENCE: GConvertError = 1;
9574pub const GConvertError_G_CONVERT_ERROR_FAILED: GConvertError = 2;
9575pub const GConvertError_G_CONVERT_ERROR_PARTIAL_INPUT: GConvertError = 3;
9576pub const GConvertError_G_CONVERT_ERROR_BAD_URI: GConvertError = 4;
9577pub const GConvertError_G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: GConvertError = 5;
9578pub const GConvertError_G_CONVERT_ERROR_NO_MEMORY: GConvertError = 6;
9579pub const GConvertError_G_CONVERT_ERROR_EMBEDDED_NUL: GConvertError = 7;
9580pub type GConvertError = ::std::os::raw::c_uint;
9581extern "C" {
9582    pub fn g_convert_error_quark() -> GQuark;
9583}
9584#[repr(C)]
9585#[derive(Debug, Copy, Clone)]
9586pub struct _GIConv {
9587    _unused: [u8; 0],
9588}
9589pub type GIConv = *mut _GIConv;
9590extern "C" {
9591    pub fn g_iconv_open(to_codeset: *const gchar, from_codeset: *const gchar) -> GIConv;
9592}
9593extern "C" {
9594    pub fn g_iconv(
9595        converter: GIConv,
9596        inbuf: *mut *mut gchar,
9597        inbytes_left: *mut gsize,
9598        outbuf: *mut *mut gchar,
9599        outbytes_left: *mut gsize,
9600    ) -> gsize;
9601}
9602extern "C" {
9603    pub fn g_iconv_close(converter: GIConv) -> gint;
9604}
9605extern "C" {
9606    pub fn g_convert(
9607        str_: *const gchar,
9608        len: gssize,
9609        to_codeset: *const gchar,
9610        from_codeset: *const gchar,
9611        bytes_read: *mut gsize,
9612        bytes_written: *mut gsize,
9613        error: *mut *mut GError,
9614    ) -> *mut gchar;
9615}
9616extern "C" {
9617    pub fn g_convert_with_iconv(
9618        str_: *const gchar,
9619        len: gssize,
9620        converter: GIConv,
9621        bytes_read: *mut gsize,
9622        bytes_written: *mut gsize,
9623        error: *mut *mut GError,
9624    ) -> *mut gchar;
9625}
9626extern "C" {
9627    pub fn g_convert_with_fallback(
9628        str_: *const gchar,
9629        len: gssize,
9630        to_codeset: *const gchar,
9631        from_codeset: *const gchar,
9632        fallback: *const gchar,
9633        bytes_read: *mut gsize,
9634        bytes_written: *mut gsize,
9635        error: *mut *mut GError,
9636    ) -> *mut gchar;
9637}
9638extern "C" {
9639    pub fn g_locale_to_utf8(
9640        opsysstring: *const gchar,
9641        len: gssize,
9642        bytes_read: *mut gsize,
9643        bytes_written: *mut gsize,
9644        error: *mut *mut GError,
9645    ) -> *mut gchar;
9646}
9647extern "C" {
9648    pub fn g_locale_from_utf8(
9649        utf8string: *const gchar,
9650        len: gssize,
9651        bytes_read: *mut gsize,
9652        bytes_written: *mut gsize,
9653        error: *mut *mut GError,
9654    ) -> *mut gchar;
9655}
9656extern "C" {
9657    pub fn g_filename_to_utf8(
9658        opsysstring: *const gchar,
9659        len: gssize,
9660        bytes_read: *mut gsize,
9661        bytes_written: *mut gsize,
9662        error: *mut *mut GError,
9663    ) -> *mut gchar;
9664}
9665extern "C" {
9666    pub fn g_filename_from_utf8(
9667        utf8string: *const gchar,
9668        len: gssize,
9669        bytes_read: *mut gsize,
9670        bytes_written: *mut gsize,
9671        error: *mut *mut GError,
9672    ) -> *mut gchar;
9673}
9674extern "C" {
9675    pub fn g_filename_from_uri(
9676        uri: *const gchar,
9677        hostname: *mut *mut gchar,
9678        error: *mut *mut GError,
9679    ) -> *mut gchar;
9680}
9681extern "C" {
9682    pub fn g_filename_to_uri(
9683        filename: *const gchar,
9684        hostname: *const gchar,
9685        error: *mut *mut GError,
9686    ) -> *mut gchar;
9687}
9688extern "C" {
9689    pub fn g_filename_display_name(filename: *const gchar) -> *mut gchar;
9690}
9691extern "C" {
9692    pub fn g_get_filename_charsets(filename_charsets: *mut *mut *const gchar) -> gboolean;
9693}
9694extern "C" {
9695    pub fn g_filename_display_basename(filename: *const gchar) -> *mut gchar;
9696}
9697extern "C" {
9698    pub fn g_uri_list_extract_uris(uri_list: *const gchar) -> *mut *mut gchar;
9699}
9700#[repr(C)]
9701#[derive(Debug, Copy, Clone)]
9702pub struct _GData {
9703    _unused: [u8; 0],
9704}
9705pub type GData = _GData;
9706pub type GDataForeachFunc = ::std::option::Option<
9707    unsafe extern "C" fn(key_id: GQuark, data: gpointer, user_data: gpointer),
9708>;
9709extern "C" {
9710    pub fn g_datalist_init(datalist: *mut *mut GData);
9711}
9712extern "C" {
9713    pub fn g_datalist_clear(datalist: *mut *mut GData);
9714}
9715extern "C" {
9716    pub fn g_datalist_id_get_data(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
9717}
9718extern "C" {
9719    pub fn g_datalist_id_set_data_full(
9720        datalist: *mut *mut GData,
9721        key_id: GQuark,
9722        data: gpointer,
9723        destroy_func: GDestroyNotify,
9724    );
9725}
9726extern "C" {
9727    pub fn g_datalist_id_remove_multiple(
9728        datalist: *mut *mut GData,
9729        keys: *mut GQuark,
9730        n_keys: gsize,
9731    );
9732}
9733pub type GDuplicateFunc =
9734    ::std::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer) -> gpointer>;
9735extern "C" {
9736    pub fn g_datalist_id_dup_data(
9737        datalist: *mut *mut GData,
9738        key_id: GQuark,
9739        dup_func: GDuplicateFunc,
9740        user_data: gpointer,
9741    ) -> gpointer;
9742}
9743extern "C" {
9744    pub fn g_datalist_id_replace_data(
9745        datalist: *mut *mut GData,
9746        key_id: GQuark,
9747        oldval: gpointer,
9748        newval: gpointer,
9749        destroy: GDestroyNotify,
9750        old_destroy: *mut GDestroyNotify,
9751    ) -> gboolean;
9752}
9753extern "C" {
9754    pub fn g_datalist_id_remove_no_notify(datalist: *mut *mut GData, key_id: GQuark) -> gpointer;
9755}
9756extern "C" {
9757    pub fn g_datalist_foreach(
9758        datalist: *mut *mut GData,
9759        func: GDataForeachFunc,
9760        user_data: gpointer,
9761    );
9762}
9763extern "C" {
9764    pub fn g_datalist_set_flags(datalist: *mut *mut GData, flags: guint);
9765}
9766extern "C" {
9767    pub fn g_datalist_unset_flags(datalist: *mut *mut GData, flags: guint);
9768}
9769extern "C" {
9770    pub fn g_datalist_get_flags(datalist: *mut *mut GData) -> guint;
9771}
9772extern "C" {
9773    pub fn g_dataset_destroy(dataset_location: gconstpointer);
9774}
9775extern "C" {
9776    pub fn g_dataset_id_get_data(dataset_location: gconstpointer, key_id: GQuark) -> gpointer;
9777}
9778extern "C" {
9779    pub fn g_datalist_get_data(datalist: *mut *mut GData, key: *const gchar) -> gpointer;
9780}
9781extern "C" {
9782    pub fn g_dataset_id_set_data_full(
9783        dataset_location: gconstpointer,
9784        key_id: GQuark,
9785        data: gpointer,
9786        destroy_func: GDestroyNotify,
9787    );
9788}
9789extern "C" {
9790    pub fn g_dataset_id_remove_no_notify(
9791        dataset_location: gconstpointer,
9792        key_id: GQuark,
9793    ) -> gpointer;
9794}
9795extern "C" {
9796    pub fn g_dataset_foreach(
9797        dataset_location: gconstpointer,
9798        func: GDataForeachFunc,
9799        user_data: gpointer,
9800    );
9801}
9802pub type GTime = gint32;
9803pub type GDateYear = guint16;
9804pub type GDateDay = guint8;
9805pub type GDate = _GDate;
9806pub const GDateDMY_G_DATE_DAY: GDateDMY = 0;
9807pub const GDateDMY_G_DATE_MONTH: GDateDMY = 1;
9808pub const GDateDMY_G_DATE_YEAR: GDateDMY = 2;
9809pub type GDateDMY = ::std::os::raw::c_uint;
9810pub const GDateWeekday_G_DATE_BAD_WEEKDAY: GDateWeekday = 0;
9811pub const GDateWeekday_G_DATE_MONDAY: GDateWeekday = 1;
9812pub const GDateWeekday_G_DATE_TUESDAY: GDateWeekday = 2;
9813pub const GDateWeekday_G_DATE_WEDNESDAY: GDateWeekday = 3;
9814pub const GDateWeekday_G_DATE_THURSDAY: GDateWeekday = 4;
9815pub const GDateWeekday_G_DATE_FRIDAY: GDateWeekday = 5;
9816pub const GDateWeekday_G_DATE_SATURDAY: GDateWeekday = 6;
9817pub const GDateWeekday_G_DATE_SUNDAY: GDateWeekday = 7;
9818pub type GDateWeekday = ::std::os::raw::c_uint;
9819pub const GDateMonth_G_DATE_BAD_MONTH: GDateMonth = 0;
9820pub const GDateMonth_G_DATE_JANUARY: GDateMonth = 1;
9821pub const GDateMonth_G_DATE_FEBRUARY: GDateMonth = 2;
9822pub const GDateMonth_G_DATE_MARCH: GDateMonth = 3;
9823pub const GDateMonth_G_DATE_APRIL: GDateMonth = 4;
9824pub const GDateMonth_G_DATE_MAY: GDateMonth = 5;
9825pub const GDateMonth_G_DATE_JUNE: GDateMonth = 6;
9826pub const GDateMonth_G_DATE_JULY: GDateMonth = 7;
9827pub const GDateMonth_G_DATE_AUGUST: GDateMonth = 8;
9828pub const GDateMonth_G_DATE_SEPTEMBER: GDateMonth = 9;
9829pub const GDateMonth_G_DATE_OCTOBER: GDateMonth = 10;
9830pub const GDateMonth_G_DATE_NOVEMBER: GDateMonth = 11;
9831pub const GDateMonth_G_DATE_DECEMBER: GDateMonth = 12;
9832pub type GDateMonth = ::std::os::raw::c_uint;
9833#[repr(C)]
9834#[repr(align(4))]
9835#[derive(Debug, Copy, Clone)]
9836pub struct _GDate {
9837    pub _bitfield_align_1: [u32; 0],
9838    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
9839}
9840#[test]
9841fn bindgen_test_layout__GDate() {
9842    assert_eq!(
9843        ::std::mem::size_of::<_GDate>(),
9844        8usize,
9845        concat!("Size of: ", stringify!(_GDate))
9846    );
9847    assert_eq!(
9848        ::std::mem::align_of::<_GDate>(),
9849        4usize,
9850        concat!("Alignment of ", stringify!(_GDate))
9851    );
9852}
9853impl _GDate {
9854    #[inline]
9855    pub fn julian_days(&self) -> guint {
9856        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
9857    }
9858    #[inline]
9859    pub fn set_julian_days(&mut self, val: guint) {
9860        unsafe {
9861            let val: u32 = ::std::mem::transmute(val);
9862            self._bitfield_1.set(0usize, 32u8, val as u64)
9863        }
9864    }
9865    #[inline]
9866    pub fn julian(&self) -> guint {
9867        unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u32) }
9868    }
9869    #[inline]
9870    pub fn set_julian(&mut self, val: guint) {
9871        unsafe {
9872            let val: u32 = ::std::mem::transmute(val);
9873            self._bitfield_1.set(32usize, 1u8, val as u64)
9874        }
9875    }
9876    #[inline]
9877    pub fn dmy(&self) -> guint {
9878        unsafe { ::std::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u32) }
9879    }
9880    #[inline]
9881    pub fn set_dmy(&mut self, val: guint) {
9882        unsafe {
9883            let val: u32 = ::std::mem::transmute(val);
9884            self._bitfield_1.set(33usize, 1u8, val as u64)
9885        }
9886    }
9887    #[inline]
9888    pub fn day(&self) -> guint {
9889        unsafe { ::std::mem::transmute(self._bitfield_1.get(34usize, 6u8) as u32) }
9890    }
9891    #[inline]
9892    pub fn set_day(&mut self, val: guint) {
9893        unsafe {
9894            let val: u32 = ::std::mem::transmute(val);
9895            self._bitfield_1.set(34usize, 6u8, val as u64)
9896        }
9897    }
9898    #[inline]
9899    pub fn month(&self) -> guint {
9900        unsafe { ::std::mem::transmute(self._bitfield_1.get(40usize, 4u8) as u32) }
9901    }
9902    #[inline]
9903    pub fn set_month(&mut self, val: guint) {
9904        unsafe {
9905            let val: u32 = ::std::mem::transmute(val);
9906            self._bitfield_1.set(40usize, 4u8, val as u64)
9907        }
9908    }
9909    #[inline]
9910    pub fn year(&self) -> guint {
9911        unsafe { ::std::mem::transmute(self._bitfield_1.get(44usize, 16u8) as u32) }
9912    }
9913    #[inline]
9914    pub fn set_year(&mut self, val: guint) {
9915        unsafe {
9916            let val: u32 = ::std::mem::transmute(val);
9917            self._bitfield_1.set(44usize, 16u8, val as u64)
9918        }
9919    }
9920    #[inline]
9921    pub fn new_bitfield_1(
9922        julian_days: guint,
9923        julian: guint,
9924        dmy: guint,
9925        day: guint,
9926        month: guint,
9927        year: guint,
9928    ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
9929        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
9930        __bindgen_bitfield_unit.set(0usize, 32u8, {
9931            let julian_days: u32 = unsafe { ::std::mem::transmute(julian_days) };
9932            julian_days as u64
9933        });
9934        __bindgen_bitfield_unit.set(32usize, 1u8, {
9935            let julian: u32 = unsafe { ::std::mem::transmute(julian) };
9936            julian as u64
9937        });
9938        __bindgen_bitfield_unit.set(33usize, 1u8, {
9939            let dmy: u32 = unsafe { ::std::mem::transmute(dmy) };
9940            dmy as u64
9941        });
9942        __bindgen_bitfield_unit.set(34usize, 6u8, {
9943            let day: u32 = unsafe { ::std::mem::transmute(day) };
9944            day as u64
9945        });
9946        __bindgen_bitfield_unit.set(40usize, 4u8, {
9947            let month: u32 = unsafe { ::std::mem::transmute(month) };
9948            month as u64
9949        });
9950        __bindgen_bitfield_unit.set(44usize, 16u8, {
9951            let year: u32 = unsafe { ::std::mem::transmute(year) };
9952            year as u64
9953        });
9954        __bindgen_bitfield_unit
9955    }
9956}
9957extern "C" {
9958    pub fn g_date_new() -> *mut GDate;
9959}
9960extern "C" {
9961    pub fn g_date_new_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> *mut GDate;
9962}
9963extern "C" {
9964    pub fn g_date_new_julian(julian_day: guint32) -> *mut GDate;
9965}
9966extern "C" {
9967    pub fn g_date_free(date: *mut GDate);
9968}
9969extern "C" {
9970    pub fn g_date_copy(date: *const GDate) -> *mut GDate;
9971}
9972extern "C" {
9973    pub fn g_date_valid(date: *const GDate) -> gboolean;
9974}
9975extern "C" {
9976    pub fn g_date_valid_day(day: GDateDay) -> gboolean;
9977}
9978extern "C" {
9979    pub fn g_date_valid_month(month: GDateMonth) -> gboolean;
9980}
9981extern "C" {
9982    pub fn g_date_valid_year(year: GDateYear) -> gboolean;
9983}
9984extern "C" {
9985    pub fn g_date_valid_weekday(weekday: GDateWeekday) -> gboolean;
9986}
9987extern "C" {
9988    pub fn g_date_valid_julian(julian_date: guint32) -> gboolean;
9989}
9990extern "C" {
9991    pub fn g_date_valid_dmy(day: GDateDay, month: GDateMonth, year: GDateYear) -> gboolean;
9992}
9993extern "C" {
9994    pub fn g_date_get_weekday(date: *const GDate) -> GDateWeekday;
9995}
9996extern "C" {
9997    pub fn g_date_get_month(date: *const GDate) -> GDateMonth;
9998}
9999extern "C" {
10000    pub fn g_date_get_year(date: *const GDate) -> GDateYear;
10001}
10002extern "C" {
10003    pub fn g_date_get_day(date: *const GDate) -> GDateDay;
10004}
10005extern "C" {
10006    pub fn g_date_get_julian(date: *const GDate) -> guint32;
10007}
10008extern "C" {
10009    pub fn g_date_get_day_of_year(date: *const GDate) -> guint;
10010}
10011extern "C" {
10012    pub fn g_date_get_monday_week_of_year(date: *const GDate) -> guint;
10013}
10014extern "C" {
10015    pub fn g_date_get_sunday_week_of_year(date: *const GDate) -> guint;
10016}
10017extern "C" {
10018    pub fn g_date_get_iso8601_week_of_year(date: *const GDate) -> guint;
10019}
10020extern "C" {
10021    pub fn g_date_clear(date: *mut GDate, n_dates: guint);
10022}
10023extern "C" {
10024    pub fn g_date_set_parse(date: *mut GDate, str_: *const gchar);
10025}
10026extern "C" {
10027    pub fn g_date_set_time_t(date: *mut GDate, timet: time_t);
10028}
10029extern "C" {
10030    pub fn g_date_set_time_val(date: *mut GDate, timeval: *mut GTimeVal);
10031}
10032extern "C" {
10033    pub fn g_date_set_time(date: *mut GDate, time_: GTime);
10034}
10035extern "C" {
10036    pub fn g_date_set_month(date: *mut GDate, month: GDateMonth);
10037}
10038extern "C" {
10039    pub fn g_date_set_day(date: *mut GDate, day: GDateDay);
10040}
10041extern "C" {
10042    pub fn g_date_set_year(date: *mut GDate, year: GDateYear);
10043}
10044extern "C" {
10045    pub fn g_date_set_dmy(date: *mut GDate, day: GDateDay, month: GDateMonth, y: GDateYear);
10046}
10047extern "C" {
10048    pub fn g_date_set_julian(date: *mut GDate, julian_date: guint32);
10049}
10050extern "C" {
10051    pub fn g_date_is_first_of_month(date: *const GDate) -> gboolean;
10052}
10053extern "C" {
10054    pub fn g_date_is_last_of_month(date: *const GDate) -> gboolean;
10055}
10056extern "C" {
10057    pub fn g_date_add_days(date: *mut GDate, n_days: guint);
10058}
10059extern "C" {
10060    pub fn g_date_subtract_days(date: *mut GDate, n_days: guint);
10061}
10062extern "C" {
10063    pub fn g_date_add_months(date: *mut GDate, n_months: guint);
10064}
10065extern "C" {
10066    pub fn g_date_subtract_months(date: *mut GDate, n_months: guint);
10067}
10068extern "C" {
10069    pub fn g_date_add_years(date: *mut GDate, n_years: guint);
10070}
10071extern "C" {
10072    pub fn g_date_subtract_years(date: *mut GDate, n_years: guint);
10073}
10074extern "C" {
10075    pub fn g_date_is_leap_year(year: GDateYear) -> gboolean;
10076}
10077extern "C" {
10078    pub fn g_date_get_days_in_month(month: GDateMonth, year: GDateYear) -> guint8;
10079}
10080extern "C" {
10081    pub fn g_date_get_monday_weeks_in_year(year: GDateYear) -> guint8;
10082}
10083extern "C" {
10084    pub fn g_date_get_sunday_weeks_in_year(year: GDateYear) -> guint8;
10085}
10086extern "C" {
10087    pub fn g_date_days_between(date1: *const GDate, date2: *const GDate) -> gint;
10088}
10089extern "C" {
10090    pub fn g_date_compare(lhs: *const GDate, rhs: *const GDate) -> gint;
10091}
10092extern "C" {
10093    pub fn g_date_to_struct_tm(date: *const GDate, tm: *mut tm);
10094}
10095extern "C" {
10096    pub fn g_date_clamp(date: *mut GDate, min_date: *const GDate, max_date: *const GDate);
10097}
10098extern "C" {
10099    pub fn g_date_order(date1: *mut GDate, date2: *mut GDate);
10100}
10101extern "C" {
10102    pub fn g_date_strftime(
10103        s: *mut gchar,
10104        slen: gsize,
10105        format: *const gchar,
10106        date: *const GDate,
10107    ) -> gsize;
10108}
10109#[repr(C)]
10110#[derive(Debug, Copy, Clone)]
10111pub struct dirent {
10112    pub d_ino: __ino_t,
10113    pub d_off: __off_t,
10114    pub d_reclen: ::std::os::raw::c_ushort,
10115    pub d_type: ::std::os::raw::c_uchar,
10116    pub d_name: [::std::os::raw::c_char; 256usize],
10117}
10118#[test]
10119fn bindgen_test_layout_dirent() {
10120    const UNINIT: ::std::mem::MaybeUninit<dirent> = ::std::mem::MaybeUninit::uninit();
10121    let ptr = UNINIT.as_ptr();
10122    assert_eq!(
10123        ::std::mem::size_of::<dirent>(),
10124        280usize,
10125        concat!("Size of: ", stringify!(dirent))
10126    );
10127    assert_eq!(
10128        ::std::mem::align_of::<dirent>(),
10129        8usize,
10130        concat!("Alignment of ", stringify!(dirent))
10131    );
10132    assert_eq!(
10133        unsafe { ::std::ptr::addr_of!((*ptr).d_ino) as usize - ptr as usize },
10134        0usize,
10135        concat!(
10136            "Offset of field: ",
10137            stringify!(dirent),
10138            "::",
10139            stringify!(d_ino)
10140        )
10141    );
10142    assert_eq!(
10143        unsafe { ::std::ptr::addr_of!((*ptr).d_off) as usize - ptr as usize },
10144        8usize,
10145        concat!(
10146            "Offset of field: ",
10147            stringify!(dirent),
10148            "::",
10149            stringify!(d_off)
10150        )
10151    );
10152    assert_eq!(
10153        unsafe { ::std::ptr::addr_of!((*ptr).d_reclen) as usize - ptr as usize },
10154        16usize,
10155        concat!(
10156            "Offset of field: ",
10157            stringify!(dirent),
10158            "::",
10159            stringify!(d_reclen)
10160        )
10161    );
10162    assert_eq!(
10163        unsafe { ::std::ptr::addr_of!((*ptr).d_type) as usize - ptr as usize },
10164        18usize,
10165        concat!(
10166            "Offset of field: ",
10167            stringify!(dirent),
10168            "::",
10169            stringify!(d_type)
10170        )
10171    );
10172    assert_eq!(
10173        unsafe { ::std::ptr::addr_of!((*ptr).d_name) as usize - ptr as usize },
10174        19usize,
10175        concat!(
10176            "Offset of field: ",
10177            stringify!(dirent),
10178            "::",
10179            stringify!(d_name)
10180        )
10181    );
10182}
10183pub const DT_UNKNOWN: _bindgen_ty_10 = 0;
10184pub const DT_FIFO: _bindgen_ty_10 = 1;
10185pub const DT_CHR: _bindgen_ty_10 = 2;
10186pub const DT_DIR: _bindgen_ty_10 = 4;
10187pub const DT_BLK: _bindgen_ty_10 = 6;
10188pub const DT_REG: _bindgen_ty_10 = 8;
10189pub const DT_LNK: _bindgen_ty_10 = 10;
10190pub const DT_SOCK: _bindgen_ty_10 = 12;
10191pub const DT_WHT: _bindgen_ty_10 = 14;
10192pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
10193#[repr(C)]
10194#[derive(Debug, Copy, Clone)]
10195pub struct __dirstream {
10196    _unused: [u8; 0],
10197}
10198pub type DIR = __dirstream;
10199extern "C" {
10200    pub fn closedir(__dirp: *mut DIR) -> ::std::os::raw::c_int;
10201}
10202extern "C" {
10203    pub fn opendir(__name: *const ::std::os::raw::c_char) -> *mut DIR;
10204}
10205extern "C" {
10206    pub fn fdopendir(__fd: ::std::os::raw::c_int) -> *mut DIR;
10207}
10208extern "C" {
10209    pub fn readdir(__dirp: *mut DIR) -> *mut dirent;
10210}
10211extern "C" {
10212    pub fn readdir_r(
10213        __dirp: *mut DIR,
10214        __entry: *mut dirent,
10215        __result: *mut *mut dirent,
10216    ) -> ::std::os::raw::c_int;
10217}
10218extern "C" {
10219    pub fn rewinddir(__dirp: *mut DIR);
10220}
10221extern "C" {
10222    pub fn seekdir(__dirp: *mut DIR, __pos: ::std::os::raw::c_long);
10223}
10224extern "C" {
10225    pub fn telldir(__dirp: *mut DIR) -> ::std::os::raw::c_long;
10226}
10227extern "C" {
10228    pub fn dirfd(__dirp: *mut DIR) -> ::std::os::raw::c_int;
10229}
10230extern "C" {
10231    pub fn scandir(
10232        __dir: *const ::std::os::raw::c_char,
10233        __namelist: *mut *mut *mut dirent,
10234        __selector: ::std::option::Option<
10235            unsafe extern "C" fn(arg1: *const dirent) -> ::std::os::raw::c_int,
10236        >,
10237        __cmp: ::std::option::Option<
10238            unsafe extern "C" fn(
10239                arg1: *mut *const dirent,
10240                arg2: *mut *const dirent,
10241            ) -> ::std::os::raw::c_int,
10242        >,
10243    ) -> ::std::os::raw::c_int;
10244}
10245extern "C" {
10246    pub fn alphasort(__e1: *mut *const dirent, __e2: *mut *const dirent) -> ::std::os::raw::c_int;
10247}
10248extern "C" {
10249    pub fn getdirentries(
10250        __fd: ::std::os::raw::c_int,
10251        __buf: *mut ::std::os::raw::c_char,
10252        __nbytes: usize,
10253        __basep: *mut __off_t,
10254    ) -> __ssize_t;
10255}
10256#[repr(C)]
10257#[derive(Debug, Copy, Clone)]
10258pub struct _GDir {
10259    _unused: [u8; 0],
10260}
10261pub type GDir = _GDir;
10262extern "C" {
10263    pub fn g_dir_open(path: *const gchar, flags: guint, error: *mut *mut GError) -> *mut GDir;
10264}
10265extern "C" {
10266    pub fn g_dir_read_name(dir: *mut GDir) -> *const gchar;
10267}
10268extern "C" {
10269    pub fn g_dir_rewind(dir: *mut GDir);
10270}
10271extern "C" {
10272    pub fn g_dir_close(dir: *mut GDir);
10273}
10274extern "C" {
10275    pub fn g_getenv(variable: *const gchar) -> *const gchar;
10276}
10277extern "C" {
10278    pub fn g_setenv(variable: *const gchar, value: *const gchar, overwrite: gboolean) -> gboolean;
10279}
10280extern "C" {
10281    pub fn g_unsetenv(variable: *const gchar);
10282}
10283extern "C" {
10284    pub fn g_listenv() -> *mut *mut gchar;
10285}
10286extern "C" {
10287    pub fn g_get_environ() -> *mut *mut gchar;
10288}
10289extern "C" {
10290    pub fn g_environ_getenv(envp: *mut *mut gchar, variable: *const gchar) -> *const gchar;
10291}
10292extern "C" {
10293    pub fn g_environ_setenv(
10294        envp: *mut *mut gchar,
10295        variable: *const gchar,
10296        value: *const gchar,
10297        overwrite: gboolean,
10298    ) -> *mut *mut gchar;
10299}
10300extern "C" {
10301    pub fn g_environ_unsetenv(envp: *mut *mut gchar, variable: *const gchar) -> *mut *mut gchar;
10302}
10303pub const GFileError_G_FILE_ERROR_EXIST: GFileError = 0;
10304pub const GFileError_G_FILE_ERROR_ISDIR: GFileError = 1;
10305pub const GFileError_G_FILE_ERROR_ACCES: GFileError = 2;
10306pub const GFileError_G_FILE_ERROR_NAMETOOLONG: GFileError = 3;
10307pub const GFileError_G_FILE_ERROR_NOENT: GFileError = 4;
10308pub const GFileError_G_FILE_ERROR_NOTDIR: GFileError = 5;
10309pub const GFileError_G_FILE_ERROR_NXIO: GFileError = 6;
10310pub const GFileError_G_FILE_ERROR_NODEV: GFileError = 7;
10311pub const GFileError_G_FILE_ERROR_ROFS: GFileError = 8;
10312pub const GFileError_G_FILE_ERROR_TXTBSY: GFileError = 9;
10313pub const GFileError_G_FILE_ERROR_FAULT: GFileError = 10;
10314pub const GFileError_G_FILE_ERROR_LOOP: GFileError = 11;
10315pub const GFileError_G_FILE_ERROR_NOSPC: GFileError = 12;
10316pub const GFileError_G_FILE_ERROR_NOMEM: GFileError = 13;
10317pub const GFileError_G_FILE_ERROR_MFILE: GFileError = 14;
10318pub const GFileError_G_FILE_ERROR_NFILE: GFileError = 15;
10319pub const GFileError_G_FILE_ERROR_BADF: GFileError = 16;
10320pub const GFileError_G_FILE_ERROR_INVAL: GFileError = 17;
10321pub const GFileError_G_FILE_ERROR_PIPE: GFileError = 18;
10322pub const GFileError_G_FILE_ERROR_AGAIN: GFileError = 19;
10323pub const GFileError_G_FILE_ERROR_INTR: GFileError = 20;
10324pub const GFileError_G_FILE_ERROR_IO: GFileError = 21;
10325pub const GFileError_G_FILE_ERROR_PERM: GFileError = 22;
10326pub const GFileError_G_FILE_ERROR_NOSYS: GFileError = 23;
10327pub const GFileError_G_FILE_ERROR_FAILED: GFileError = 24;
10328pub type GFileError = ::std::os::raw::c_uint;
10329pub const GFileTest_G_FILE_TEST_IS_REGULAR: GFileTest = 1;
10330pub const GFileTest_G_FILE_TEST_IS_SYMLINK: GFileTest = 2;
10331pub const GFileTest_G_FILE_TEST_IS_DIR: GFileTest = 4;
10332pub const GFileTest_G_FILE_TEST_IS_EXECUTABLE: GFileTest = 8;
10333pub const GFileTest_G_FILE_TEST_EXISTS: GFileTest = 16;
10334pub type GFileTest = ::std::os::raw::c_uint;
10335pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_NONE: GFileSetContentsFlags = 0;
10336pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_CONSISTENT: GFileSetContentsFlags = 1;
10337pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_DURABLE: GFileSetContentsFlags = 2;
10338pub const GFileSetContentsFlags_G_FILE_SET_CONTENTS_ONLY_EXISTING: GFileSetContentsFlags = 4;
10339pub type GFileSetContentsFlags = ::std::os::raw::c_uint;
10340extern "C" {
10341    pub fn g_file_error_quark() -> GQuark;
10342}
10343extern "C" {
10344    pub fn g_file_error_from_errno(err_no: gint) -> GFileError;
10345}
10346extern "C" {
10347    pub fn g_file_test(filename: *const gchar, test: GFileTest) -> gboolean;
10348}
10349extern "C" {
10350    pub fn g_file_get_contents(
10351        filename: *const gchar,
10352        contents: *mut *mut gchar,
10353        length: *mut gsize,
10354        error: *mut *mut GError,
10355    ) -> gboolean;
10356}
10357extern "C" {
10358    pub fn g_file_set_contents(
10359        filename: *const gchar,
10360        contents: *const gchar,
10361        length: gssize,
10362        error: *mut *mut GError,
10363    ) -> gboolean;
10364}
10365extern "C" {
10366    pub fn g_file_set_contents_full(
10367        filename: *const gchar,
10368        contents: *const gchar,
10369        length: gssize,
10370        flags: GFileSetContentsFlags,
10371        mode: ::std::os::raw::c_int,
10372        error: *mut *mut GError,
10373    ) -> gboolean;
10374}
10375extern "C" {
10376    pub fn g_file_read_link(filename: *const gchar, error: *mut *mut GError) -> *mut gchar;
10377}
10378extern "C" {
10379    pub fn g_mkdtemp(tmpl: *mut gchar) -> *mut gchar;
10380}
10381extern "C" {
10382    pub fn g_mkdtemp_full(tmpl: *mut gchar, mode: gint) -> *mut gchar;
10383}
10384extern "C" {
10385    pub fn g_mkstemp(tmpl: *mut gchar) -> gint;
10386}
10387extern "C" {
10388    pub fn g_mkstemp_full(tmpl: *mut gchar, flags: gint, mode: gint) -> gint;
10389}
10390extern "C" {
10391    pub fn g_file_open_tmp(
10392        tmpl: *const gchar,
10393        name_used: *mut *mut gchar,
10394        error: *mut *mut GError,
10395    ) -> gint;
10396}
10397extern "C" {
10398    pub fn g_dir_make_tmp(tmpl: *const gchar, error: *mut *mut GError) -> *mut gchar;
10399}
10400extern "C" {
10401    pub fn g_build_path(separator: *const gchar, first_element: *const gchar, ...) -> *mut gchar;
10402}
10403extern "C" {
10404    pub fn g_build_pathv(separator: *const gchar, args: *mut *mut gchar) -> *mut gchar;
10405}
10406extern "C" {
10407    pub fn g_build_filename(first_element: *const gchar, ...) -> *mut gchar;
10408}
10409extern "C" {
10410    pub fn g_build_filenamev(args: *mut *mut gchar) -> *mut gchar;
10411}
10412extern "C" {
10413    pub fn g_build_filename_valist(first_element: *const gchar, args: *mut va_list) -> *mut gchar;
10414}
10415extern "C" {
10416    pub fn g_mkdir_with_parents(pathname: *const gchar, mode: gint) -> gint;
10417}
10418extern "C" {
10419    pub fn g_path_is_absolute(file_name: *const gchar) -> gboolean;
10420}
10421extern "C" {
10422    pub fn g_path_skip_root(file_name: *const gchar) -> *const gchar;
10423}
10424extern "C" {
10425    pub fn g_basename(file_name: *const gchar) -> *const gchar;
10426}
10427extern "C" {
10428    pub fn g_get_current_dir() -> *mut gchar;
10429}
10430extern "C" {
10431    pub fn g_path_get_basename(file_name: *const gchar) -> *mut gchar;
10432}
10433extern "C" {
10434    pub fn g_path_get_dirname(file_name: *const gchar) -> *mut gchar;
10435}
10436extern "C" {
10437    pub fn g_canonicalize_filename(filename: *const gchar, relative_to: *const gchar)
10438        -> *mut gchar;
10439}
10440extern "C" {
10441    pub fn g_strip_context(msgid: *const gchar, msgval: *const gchar) -> *const gchar;
10442}
10443extern "C" {
10444    pub fn g_dgettext(domain: *const gchar, msgid: *const gchar) -> *const gchar;
10445}
10446extern "C" {
10447    pub fn g_dcgettext(domain: *const gchar, msgid: *const gchar, category: gint) -> *const gchar;
10448}
10449extern "C" {
10450    pub fn g_dngettext(
10451        domain: *const gchar,
10452        msgid: *const gchar,
10453        msgid_plural: *const gchar,
10454        n: gulong,
10455    ) -> *const gchar;
10456}
10457extern "C" {
10458    pub fn g_dpgettext(
10459        domain: *const gchar,
10460        msgctxtid: *const gchar,
10461        msgidoffset: gsize,
10462    ) -> *const gchar;
10463}
10464extern "C" {
10465    pub fn g_dpgettext2(
10466        domain: *const gchar,
10467        context: *const gchar,
10468        msgid: *const gchar,
10469    ) -> *const gchar;
10470}
10471pub type GMemVTable = _GMemVTable;
10472extern "C" {
10473    pub fn g_free(mem: gpointer);
10474}
10475extern "C" {
10476    pub fn g_free_sized(mem: gpointer, size: usize);
10477}
10478extern "C" {
10479    pub fn g_clear_pointer(pp: *mut gpointer, destroy: GDestroyNotify);
10480}
10481extern "C" {
10482    pub fn g_malloc(n_bytes: gsize) -> gpointer;
10483}
10484extern "C" {
10485    pub fn g_malloc0(n_bytes: gsize) -> gpointer;
10486}
10487extern "C" {
10488    pub fn g_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
10489}
10490extern "C" {
10491    pub fn g_try_malloc(n_bytes: gsize) -> gpointer;
10492}
10493extern "C" {
10494    pub fn g_try_malloc0(n_bytes: gsize) -> gpointer;
10495}
10496extern "C" {
10497    pub fn g_try_realloc(mem: gpointer, n_bytes: gsize) -> gpointer;
10498}
10499extern "C" {
10500    pub fn g_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10501}
10502extern "C" {
10503    pub fn g_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10504}
10505extern "C" {
10506    pub fn g_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10507}
10508extern "C" {
10509    pub fn g_try_malloc_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10510}
10511extern "C" {
10512    pub fn g_try_malloc0_n(n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10513}
10514extern "C" {
10515    pub fn g_try_realloc_n(mem: gpointer, n_blocks: gsize, n_block_bytes: gsize) -> gpointer;
10516}
10517extern "C" {
10518    pub fn g_aligned_alloc(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
10519}
10520extern "C" {
10521    pub fn g_aligned_alloc0(n_blocks: gsize, n_block_bytes: gsize, alignment: gsize) -> gpointer;
10522}
10523extern "C" {
10524    pub fn g_aligned_free(mem: gpointer);
10525}
10526extern "C" {
10527    pub fn g_aligned_free_sized(mem: gpointer, alignment: usize, size: usize);
10528}
10529#[repr(C)]
10530#[derive(Debug, Copy, Clone)]
10531pub struct _GMemVTable {
10532    pub malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
10533    pub realloc:
10534        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
10535    pub free: ::std::option::Option<unsafe extern "C" fn(mem: gpointer)>,
10536    pub calloc: ::std::option::Option<
10537        unsafe extern "C" fn(n_blocks: gsize, n_block_bytes: gsize) -> gpointer,
10538    >,
10539    pub try_malloc: ::std::option::Option<unsafe extern "C" fn(n_bytes: gsize) -> gpointer>,
10540    pub try_realloc:
10541        ::std::option::Option<unsafe extern "C" fn(mem: gpointer, n_bytes: gsize) -> gpointer>,
10542}
10543#[test]
10544fn bindgen_test_layout__GMemVTable() {
10545    const UNINIT: ::std::mem::MaybeUninit<_GMemVTable> = ::std::mem::MaybeUninit::uninit();
10546    let ptr = UNINIT.as_ptr();
10547    assert_eq!(
10548        ::std::mem::size_of::<_GMemVTable>(),
10549        48usize,
10550        concat!("Size of: ", stringify!(_GMemVTable))
10551    );
10552    assert_eq!(
10553        ::std::mem::align_of::<_GMemVTable>(),
10554        8usize,
10555        concat!("Alignment of ", stringify!(_GMemVTable))
10556    );
10557    assert_eq!(
10558        unsafe { ::std::ptr::addr_of!((*ptr).malloc) as usize - ptr as usize },
10559        0usize,
10560        concat!(
10561            "Offset of field: ",
10562            stringify!(_GMemVTable),
10563            "::",
10564            stringify!(malloc)
10565        )
10566    );
10567    assert_eq!(
10568        unsafe { ::std::ptr::addr_of!((*ptr).realloc) as usize - ptr as usize },
10569        8usize,
10570        concat!(
10571            "Offset of field: ",
10572            stringify!(_GMemVTable),
10573            "::",
10574            stringify!(realloc)
10575        )
10576    );
10577    assert_eq!(
10578        unsafe { ::std::ptr::addr_of!((*ptr).free) as usize - ptr as usize },
10579        16usize,
10580        concat!(
10581            "Offset of field: ",
10582            stringify!(_GMemVTable),
10583            "::",
10584            stringify!(free)
10585        )
10586    );
10587    assert_eq!(
10588        unsafe { ::std::ptr::addr_of!((*ptr).calloc) as usize - ptr as usize },
10589        24usize,
10590        concat!(
10591            "Offset of field: ",
10592            stringify!(_GMemVTable),
10593            "::",
10594            stringify!(calloc)
10595        )
10596    );
10597    assert_eq!(
10598        unsafe { ::std::ptr::addr_of!((*ptr).try_malloc) as usize - ptr as usize },
10599        32usize,
10600        concat!(
10601            "Offset of field: ",
10602            stringify!(_GMemVTable),
10603            "::",
10604            stringify!(try_malloc)
10605        )
10606    );
10607    assert_eq!(
10608        unsafe { ::std::ptr::addr_of!((*ptr).try_realloc) as usize - ptr as usize },
10609        40usize,
10610        concat!(
10611            "Offset of field: ",
10612            stringify!(_GMemVTable),
10613            "::",
10614            stringify!(try_realloc)
10615        )
10616    );
10617}
10618extern "C" {
10619    pub fn g_mem_set_vtable(vtable: *mut GMemVTable);
10620}
10621extern "C" {
10622    pub fn g_mem_is_system_malloc() -> gboolean;
10623}
10624extern "C" {
10625    pub static mut g_mem_gc_friendly: gboolean;
10626}
10627extern "C" {
10628    pub static mut glib_mem_profiler_table: *mut GMemVTable;
10629}
10630extern "C" {
10631    pub fn g_mem_profile();
10632}
10633pub type GNode = _GNode;
10634pub const GTraverseFlags_G_TRAVERSE_LEAVES: GTraverseFlags = 1;
10635pub const GTraverseFlags_G_TRAVERSE_NON_LEAVES: GTraverseFlags = 2;
10636pub const GTraverseFlags_G_TRAVERSE_ALL: GTraverseFlags = 3;
10637pub const GTraverseFlags_G_TRAVERSE_MASK: GTraverseFlags = 3;
10638pub const GTraverseFlags_G_TRAVERSE_LEAFS: GTraverseFlags = 1;
10639pub const GTraverseFlags_G_TRAVERSE_NON_LEAFS: GTraverseFlags = 2;
10640pub type GTraverseFlags = ::std::os::raw::c_uint;
10641pub const GTraverseType_G_IN_ORDER: GTraverseType = 0;
10642pub const GTraverseType_G_PRE_ORDER: GTraverseType = 1;
10643pub const GTraverseType_G_POST_ORDER: GTraverseType = 2;
10644pub const GTraverseType_G_LEVEL_ORDER: GTraverseType = 3;
10645pub type GTraverseType = ::std::os::raw::c_uint;
10646pub type GNodeTraverseFunc =
10647    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer) -> gboolean>;
10648pub type GNodeForeachFunc =
10649    ::std::option::Option<unsafe extern "C" fn(node: *mut GNode, data: gpointer)>;
10650#[repr(C)]
10651#[derive(Debug, Copy, Clone)]
10652pub struct _GNode {
10653    pub data: gpointer,
10654    pub next: *mut GNode,
10655    pub prev: *mut GNode,
10656    pub parent: *mut GNode,
10657    pub children: *mut GNode,
10658}
10659#[test]
10660fn bindgen_test_layout__GNode() {
10661    const UNINIT: ::std::mem::MaybeUninit<_GNode> = ::std::mem::MaybeUninit::uninit();
10662    let ptr = UNINIT.as_ptr();
10663    assert_eq!(
10664        ::std::mem::size_of::<_GNode>(),
10665        40usize,
10666        concat!("Size of: ", stringify!(_GNode))
10667    );
10668    assert_eq!(
10669        ::std::mem::align_of::<_GNode>(),
10670        8usize,
10671        concat!("Alignment of ", stringify!(_GNode))
10672    );
10673    assert_eq!(
10674        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10675        0usize,
10676        concat!(
10677            "Offset of field: ",
10678            stringify!(_GNode),
10679            "::",
10680            stringify!(data)
10681        )
10682    );
10683    assert_eq!(
10684        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
10685        8usize,
10686        concat!(
10687            "Offset of field: ",
10688            stringify!(_GNode),
10689            "::",
10690            stringify!(next)
10691        )
10692    );
10693    assert_eq!(
10694        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
10695        16usize,
10696        concat!(
10697            "Offset of field: ",
10698            stringify!(_GNode),
10699            "::",
10700            stringify!(prev)
10701        )
10702    );
10703    assert_eq!(
10704        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
10705        24usize,
10706        concat!(
10707            "Offset of field: ",
10708            stringify!(_GNode),
10709            "::",
10710            stringify!(parent)
10711        )
10712    );
10713    assert_eq!(
10714        unsafe { ::std::ptr::addr_of!((*ptr).children) as usize - ptr as usize },
10715        32usize,
10716        concat!(
10717            "Offset of field: ",
10718            stringify!(_GNode),
10719            "::",
10720            stringify!(children)
10721        )
10722    );
10723}
10724extern "C" {
10725    pub fn g_node_new(data: gpointer) -> *mut GNode;
10726}
10727extern "C" {
10728    pub fn g_node_destroy(root: *mut GNode);
10729}
10730extern "C" {
10731    pub fn g_node_unlink(node: *mut GNode);
10732}
10733extern "C" {
10734    pub fn g_node_copy_deep(node: *mut GNode, copy_func: GCopyFunc, data: gpointer) -> *mut GNode;
10735}
10736extern "C" {
10737    pub fn g_node_copy(node: *mut GNode) -> *mut GNode;
10738}
10739extern "C" {
10740    pub fn g_node_insert(parent: *mut GNode, position: gint, node: *mut GNode) -> *mut GNode;
10741}
10742extern "C" {
10743    pub fn g_node_insert_before(
10744        parent: *mut GNode,
10745        sibling: *mut GNode,
10746        node: *mut GNode,
10747    ) -> *mut GNode;
10748}
10749extern "C" {
10750    pub fn g_node_insert_after(
10751        parent: *mut GNode,
10752        sibling: *mut GNode,
10753        node: *mut GNode,
10754    ) -> *mut GNode;
10755}
10756extern "C" {
10757    pub fn g_node_prepend(parent: *mut GNode, node: *mut GNode) -> *mut GNode;
10758}
10759extern "C" {
10760    pub fn g_node_n_nodes(root: *mut GNode, flags: GTraverseFlags) -> guint;
10761}
10762extern "C" {
10763    pub fn g_node_get_root(node: *mut GNode) -> *mut GNode;
10764}
10765extern "C" {
10766    pub fn g_node_is_ancestor(node: *mut GNode, descendant: *mut GNode) -> gboolean;
10767}
10768extern "C" {
10769    pub fn g_node_depth(node: *mut GNode) -> guint;
10770}
10771extern "C" {
10772    pub fn g_node_find(
10773        root: *mut GNode,
10774        order: GTraverseType,
10775        flags: GTraverseFlags,
10776        data: gpointer,
10777    ) -> *mut GNode;
10778}
10779extern "C" {
10780    pub fn g_node_traverse(
10781        root: *mut GNode,
10782        order: GTraverseType,
10783        flags: GTraverseFlags,
10784        max_depth: gint,
10785        func: GNodeTraverseFunc,
10786        data: gpointer,
10787    );
10788}
10789extern "C" {
10790    pub fn g_node_max_height(root: *mut GNode) -> guint;
10791}
10792extern "C" {
10793    pub fn g_node_children_foreach(
10794        node: *mut GNode,
10795        flags: GTraverseFlags,
10796        func: GNodeForeachFunc,
10797        data: gpointer,
10798    );
10799}
10800extern "C" {
10801    pub fn g_node_reverse_children(node: *mut GNode);
10802}
10803extern "C" {
10804    pub fn g_node_n_children(node: *mut GNode) -> guint;
10805}
10806extern "C" {
10807    pub fn g_node_nth_child(node: *mut GNode, n: guint) -> *mut GNode;
10808}
10809extern "C" {
10810    pub fn g_node_last_child(node: *mut GNode) -> *mut GNode;
10811}
10812extern "C" {
10813    pub fn g_node_find_child(node: *mut GNode, flags: GTraverseFlags, data: gpointer)
10814        -> *mut GNode;
10815}
10816extern "C" {
10817    pub fn g_node_child_position(node: *mut GNode, child: *mut GNode) -> gint;
10818}
10819extern "C" {
10820    pub fn g_node_child_index(node: *mut GNode, data: gpointer) -> gint;
10821}
10822extern "C" {
10823    pub fn g_node_first_sibling(node: *mut GNode) -> *mut GNode;
10824}
10825extern "C" {
10826    pub fn g_node_last_sibling(node: *mut GNode) -> *mut GNode;
10827}
10828pub type GList = _GList;
10829#[repr(C)]
10830#[derive(Debug, Copy, Clone)]
10831pub struct _GList {
10832    pub data: gpointer,
10833    pub next: *mut GList,
10834    pub prev: *mut GList,
10835}
10836#[test]
10837fn bindgen_test_layout__GList() {
10838    const UNINIT: ::std::mem::MaybeUninit<_GList> = ::std::mem::MaybeUninit::uninit();
10839    let ptr = UNINIT.as_ptr();
10840    assert_eq!(
10841        ::std::mem::size_of::<_GList>(),
10842        24usize,
10843        concat!("Size of: ", stringify!(_GList))
10844    );
10845    assert_eq!(
10846        ::std::mem::align_of::<_GList>(),
10847        8usize,
10848        concat!("Alignment of ", stringify!(_GList))
10849    );
10850    assert_eq!(
10851        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10852        0usize,
10853        concat!(
10854            "Offset of field: ",
10855            stringify!(_GList),
10856            "::",
10857            stringify!(data)
10858        )
10859    );
10860    assert_eq!(
10861        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
10862        8usize,
10863        concat!(
10864            "Offset of field: ",
10865            stringify!(_GList),
10866            "::",
10867            stringify!(next)
10868        )
10869    );
10870    assert_eq!(
10871        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
10872        16usize,
10873        concat!(
10874            "Offset of field: ",
10875            stringify!(_GList),
10876            "::",
10877            stringify!(prev)
10878        )
10879    );
10880}
10881extern "C" {
10882    pub fn g_list_alloc() -> *mut GList;
10883}
10884extern "C" {
10885    pub fn g_list_free(list: *mut GList);
10886}
10887extern "C" {
10888    pub fn g_list_free_1(list: *mut GList);
10889}
10890extern "C" {
10891    pub fn g_list_free_full(list: *mut GList, free_func: GDestroyNotify);
10892}
10893extern "C" {
10894    pub fn g_list_append(list: *mut GList, data: gpointer) -> *mut GList;
10895}
10896extern "C" {
10897    pub fn g_list_prepend(list: *mut GList, data: gpointer) -> *mut GList;
10898}
10899extern "C" {
10900    pub fn g_list_insert(list: *mut GList, data: gpointer, position: gint) -> *mut GList;
10901}
10902extern "C" {
10903    pub fn g_list_insert_sorted(list: *mut GList, data: gpointer, func: GCompareFunc)
10904        -> *mut GList;
10905}
10906extern "C" {
10907    pub fn g_list_insert_sorted_with_data(
10908        list: *mut GList,
10909        data: gpointer,
10910        func: GCompareDataFunc,
10911        user_data: gpointer,
10912    ) -> *mut GList;
10913}
10914extern "C" {
10915    pub fn g_list_insert_before(
10916        list: *mut GList,
10917        sibling: *mut GList,
10918        data: gpointer,
10919    ) -> *mut GList;
10920}
10921extern "C" {
10922    pub fn g_list_insert_before_link(
10923        list: *mut GList,
10924        sibling: *mut GList,
10925        link_: *mut GList,
10926    ) -> *mut GList;
10927}
10928extern "C" {
10929    pub fn g_list_concat(list1: *mut GList, list2: *mut GList) -> *mut GList;
10930}
10931extern "C" {
10932    pub fn g_list_remove(list: *mut GList, data: gconstpointer) -> *mut GList;
10933}
10934extern "C" {
10935    pub fn g_list_remove_all(list: *mut GList, data: gconstpointer) -> *mut GList;
10936}
10937extern "C" {
10938    pub fn g_list_remove_link(list: *mut GList, llink: *mut GList) -> *mut GList;
10939}
10940extern "C" {
10941    pub fn g_list_delete_link(list: *mut GList, link_: *mut GList) -> *mut GList;
10942}
10943extern "C" {
10944    pub fn g_list_reverse(list: *mut GList) -> *mut GList;
10945}
10946extern "C" {
10947    pub fn g_list_copy(list: *mut GList) -> *mut GList;
10948}
10949extern "C" {
10950    pub fn g_list_copy_deep(list: *mut GList, func: GCopyFunc, user_data: gpointer) -> *mut GList;
10951}
10952extern "C" {
10953    pub fn g_list_nth(list: *mut GList, n: guint) -> *mut GList;
10954}
10955extern "C" {
10956    pub fn g_list_nth_prev(list: *mut GList, n: guint) -> *mut GList;
10957}
10958extern "C" {
10959    pub fn g_list_find(list: *mut GList, data: gconstpointer) -> *mut GList;
10960}
10961extern "C" {
10962    pub fn g_list_find_custom(
10963        list: *mut GList,
10964        data: gconstpointer,
10965        func: GCompareFunc,
10966    ) -> *mut GList;
10967}
10968extern "C" {
10969    pub fn g_list_position(list: *mut GList, llink: *mut GList) -> gint;
10970}
10971extern "C" {
10972    pub fn g_list_index(list: *mut GList, data: gconstpointer) -> gint;
10973}
10974extern "C" {
10975    pub fn g_list_last(list: *mut GList) -> *mut GList;
10976}
10977extern "C" {
10978    pub fn g_list_first(list: *mut GList) -> *mut GList;
10979}
10980extern "C" {
10981    pub fn g_list_length(list: *mut GList) -> guint;
10982}
10983extern "C" {
10984    pub fn g_list_foreach(list: *mut GList, func: GFunc, user_data: gpointer);
10985}
10986extern "C" {
10987    pub fn g_list_sort(list: *mut GList, compare_func: GCompareFunc) -> *mut GList;
10988}
10989extern "C" {
10990    pub fn g_list_sort_with_data(
10991        list: *mut GList,
10992        compare_func: GCompareDataFunc,
10993        user_data: gpointer,
10994    ) -> *mut GList;
10995}
10996extern "C" {
10997    pub fn g_list_nth_data(list: *mut GList, n: guint) -> gpointer;
10998}
10999extern "C" {
11000    pub fn g_clear_list(list_ptr: *mut *mut GList, destroy: GDestroyNotify);
11001}
11002#[repr(C)]
11003#[derive(Debug, Copy, Clone)]
11004pub struct _GHashTable {
11005    _unused: [u8; 0],
11006}
11007pub type GHashTable = _GHashTable;
11008pub type GHRFunc = ::std::option::Option<
11009    unsafe extern "C" fn(key: gpointer, value: gpointer, user_data: gpointer) -> gboolean,
11010>;
11011pub type GHashTableIter = _GHashTableIter;
11012#[repr(C)]
11013#[derive(Debug, Copy, Clone)]
11014pub struct _GHashTableIter {
11015    pub dummy1: gpointer,
11016    pub dummy2: gpointer,
11017    pub dummy3: gpointer,
11018    pub dummy4: ::std::os::raw::c_int,
11019    pub dummy5: gboolean,
11020    pub dummy6: gpointer,
11021}
11022#[test]
11023fn bindgen_test_layout__GHashTableIter() {
11024    const UNINIT: ::std::mem::MaybeUninit<_GHashTableIter> = ::std::mem::MaybeUninit::uninit();
11025    let ptr = UNINIT.as_ptr();
11026    assert_eq!(
11027        ::std::mem::size_of::<_GHashTableIter>(),
11028        40usize,
11029        concat!("Size of: ", stringify!(_GHashTableIter))
11030    );
11031    assert_eq!(
11032        ::std::mem::align_of::<_GHashTableIter>(),
11033        8usize,
11034        concat!("Alignment of ", stringify!(_GHashTableIter))
11035    );
11036    assert_eq!(
11037        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
11038        0usize,
11039        concat!(
11040            "Offset of field: ",
11041            stringify!(_GHashTableIter),
11042            "::",
11043            stringify!(dummy1)
11044        )
11045    );
11046    assert_eq!(
11047        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
11048        8usize,
11049        concat!(
11050            "Offset of field: ",
11051            stringify!(_GHashTableIter),
11052            "::",
11053            stringify!(dummy2)
11054        )
11055    );
11056    assert_eq!(
11057        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
11058        16usize,
11059        concat!(
11060            "Offset of field: ",
11061            stringify!(_GHashTableIter),
11062            "::",
11063            stringify!(dummy3)
11064        )
11065    );
11066    assert_eq!(
11067        unsafe { ::std::ptr::addr_of!((*ptr).dummy4) as usize - ptr as usize },
11068        24usize,
11069        concat!(
11070            "Offset of field: ",
11071            stringify!(_GHashTableIter),
11072            "::",
11073            stringify!(dummy4)
11074        )
11075    );
11076    assert_eq!(
11077        unsafe { ::std::ptr::addr_of!((*ptr).dummy5) as usize - ptr as usize },
11078        28usize,
11079        concat!(
11080            "Offset of field: ",
11081            stringify!(_GHashTableIter),
11082            "::",
11083            stringify!(dummy5)
11084        )
11085    );
11086    assert_eq!(
11087        unsafe { ::std::ptr::addr_of!((*ptr).dummy6) as usize - ptr as usize },
11088        32usize,
11089        concat!(
11090            "Offset of field: ",
11091            stringify!(_GHashTableIter),
11092            "::",
11093            stringify!(dummy6)
11094        )
11095    );
11096}
11097extern "C" {
11098    pub fn g_hash_table_new(hash_func: GHashFunc, key_equal_func: GEqualFunc) -> *mut GHashTable;
11099}
11100extern "C" {
11101    pub fn g_hash_table_new_full(
11102        hash_func: GHashFunc,
11103        key_equal_func: GEqualFunc,
11104        key_destroy_func: GDestroyNotify,
11105        value_destroy_func: GDestroyNotify,
11106    ) -> *mut GHashTable;
11107}
11108extern "C" {
11109    pub fn g_hash_table_new_similar(other_hash_table: *mut GHashTable) -> *mut GHashTable;
11110}
11111extern "C" {
11112    pub fn g_hash_table_destroy(hash_table: *mut GHashTable);
11113}
11114extern "C" {
11115    pub fn g_hash_table_insert(
11116        hash_table: *mut GHashTable,
11117        key: gpointer,
11118        value: gpointer,
11119    ) -> gboolean;
11120}
11121extern "C" {
11122    pub fn g_hash_table_replace(
11123        hash_table: *mut GHashTable,
11124        key: gpointer,
11125        value: gpointer,
11126    ) -> gboolean;
11127}
11128extern "C" {
11129    pub fn g_hash_table_add(hash_table: *mut GHashTable, key: gpointer) -> gboolean;
11130}
11131extern "C" {
11132    pub fn g_hash_table_remove(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
11133}
11134extern "C" {
11135    pub fn g_hash_table_remove_all(hash_table: *mut GHashTable);
11136}
11137extern "C" {
11138    pub fn g_hash_table_steal(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
11139}
11140extern "C" {
11141    pub fn g_hash_table_steal_extended(
11142        hash_table: *mut GHashTable,
11143        lookup_key: gconstpointer,
11144        stolen_key: *mut gpointer,
11145        stolen_value: *mut gpointer,
11146    ) -> gboolean;
11147}
11148extern "C" {
11149    pub fn g_hash_table_steal_all(hash_table: *mut GHashTable);
11150}
11151extern "C" {
11152    pub fn g_hash_table_steal_all_keys(hash_table: *mut GHashTable) -> *mut GPtrArray;
11153}
11154extern "C" {
11155    pub fn g_hash_table_steal_all_values(hash_table: *mut GHashTable) -> *mut GPtrArray;
11156}
11157extern "C" {
11158    pub fn g_hash_table_lookup(hash_table: *mut GHashTable, key: gconstpointer) -> gpointer;
11159}
11160extern "C" {
11161    pub fn g_hash_table_contains(hash_table: *mut GHashTable, key: gconstpointer) -> gboolean;
11162}
11163extern "C" {
11164    pub fn g_hash_table_lookup_extended(
11165        hash_table: *mut GHashTable,
11166        lookup_key: gconstpointer,
11167        orig_key: *mut gpointer,
11168        value: *mut gpointer,
11169    ) -> gboolean;
11170}
11171extern "C" {
11172    pub fn g_hash_table_foreach(hash_table: *mut GHashTable, func: GHFunc, user_data: gpointer);
11173}
11174extern "C" {
11175    pub fn g_hash_table_find(
11176        hash_table: *mut GHashTable,
11177        predicate: GHRFunc,
11178        user_data: gpointer,
11179    ) -> gpointer;
11180}
11181extern "C" {
11182    pub fn g_hash_table_foreach_remove(
11183        hash_table: *mut GHashTable,
11184        func: GHRFunc,
11185        user_data: gpointer,
11186    ) -> guint;
11187}
11188extern "C" {
11189    pub fn g_hash_table_foreach_steal(
11190        hash_table: *mut GHashTable,
11191        func: GHRFunc,
11192        user_data: gpointer,
11193    ) -> guint;
11194}
11195extern "C" {
11196    pub fn g_hash_table_size(hash_table: *mut GHashTable) -> guint;
11197}
11198extern "C" {
11199    pub fn g_hash_table_get_keys(hash_table: *mut GHashTable) -> *mut GList;
11200}
11201extern "C" {
11202    pub fn g_hash_table_get_values(hash_table: *mut GHashTable) -> *mut GList;
11203}
11204extern "C" {
11205    pub fn g_hash_table_get_keys_as_array(
11206        hash_table: *mut GHashTable,
11207        length: *mut guint,
11208    ) -> *mut gpointer;
11209}
11210extern "C" {
11211    pub fn g_hash_table_get_keys_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
11212}
11213extern "C" {
11214    pub fn g_hash_table_get_values_as_ptr_array(hash_table: *mut GHashTable) -> *mut GPtrArray;
11215}
11216extern "C" {
11217    pub fn g_hash_table_iter_init(iter: *mut GHashTableIter, hash_table: *mut GHashTable);
11218}
11219extern "C" {
11220    pub fn g_hash_table_iter_next(
11221        iter: *mut GHashTableIter,
11222        key: *mut gpointer,
11223        value: *mut gpointer,
11224    ) -> gboolean;
11225}
11226extern "C" {
11227    pub fn g_hash_table_iter_get_hash_table(iter: *mut GHashTableIter) -> *mut GHashTable;
11228}
11229extern "C" {
11230    pub fn g_hash_table_iter_remove(iter: *mut GHashTableIter);
11231}
11232extern "C" {
11233    pub fn g_hash_table_iter_replace(iter: *mut GHashTableIter, value: gpointer);
11234}
11235extern "C" {
11236    pub fn g_hash_table_iter_steal(iter: *mut GHashTableIter);
11237}
11238extern "C" {
11239    pub fn g_hash_table_ref(hash_table: *mut GHashTable) -> *mut GHashTable;
11240}
11241extern "C" {
11242    pub fn g_hash_table_unref(hash_table: *mut GHashTable);
11243}
11244extern "C" {
11245    pub fn g_str_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
11246}
11247extern "C" {
11248    pub fn g_str_hash(v: gconstpointer) -> guint;
11249}
11250extern "C" {
11251    pub fn g_int_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
11252}
11253extern "C" {
11254    pub fn g_int_hash(v: gconstpointer) -> guint;
11255}
11256extern "C" {
11257    pub fn g_int64_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
11258}
11259extern "C" {
11260    pub fn g_int64_hash(v: gconstpointer) -> guint;
11261}
11262extern "C" {
11263    pub fn g_double_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
11264}
11265extern "C" {
11266    pub fn g_double_hash(v: gconstpointer) -> guint;
11267}
11268extern "C" {
11269    pub fn g_direct_hash(v: gconstpointer) -> guint;
11270}
11271extern "C" {
11272    pub fn g_direct_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
11273}
11274#[repr(C)]
11275#[derive(Debug, Copy, Clone)]
11276pub struct _GHmac {
11277    _unused: [u8; 0],
11278}
11279pub type GHmac = _GHmac;
11280extern "C" {
11281    pub fn g_hmac_new(digest_type: GChecksumType, key: *const guchar, key_len: gsize)
11282        -> *mut GHmac;
11283}
11284extern "C" {
11285    pub fn g_hmac_copy(hmac: *const GHmac) -> *mut GHmac;
11286}
11287extern "C" {
11288    pub fn g_hmac_ref(hmac: *mut GHmac) -> *mut GHmac;
11289}
11290extern "C" {
11291    pub fn g_hmac_unref(hmac: *mut GHmac);
11292}
11293extern "C" {
11294    pub fn g_hmac_update(hmac: *mut GHmac, data: *const guchar, length: gssize);
11295}
11296extern "C" {
11297    pub fn g_hmac_get_string(hmac: *mut GHmac) -> *const gchar;
11298}
11299extern "C" {
11300    pub fn g_hmac_get_digest(hmac: *mut GHmac, buffer: *mut guint8, digest_len: *mut gsize);
11301}
11302extern "C" {
11303    pub fn g_compute_hmac_for_data(
11304        digest_type: GChecksumType,
11305        key: *const guchar,
11306        key_len: gsize,
11307        data: *const guchar,
11308        length: gsize,
11309    ) -> *mut gchar;
11310}
11311extern "C" {
11312    pub fn g_compute_hmac_for_string(
11313        digest_type: GChecksumType,
11314        key: *const guchar,
11315        key_len: gsize,
11316        str_: *const gchar,
11317        length: gssize,
11318    ) -> *mut gchar;
11319}
11320extern "C" {
11321    pub fn g_compute_hmac_for_bytes(
11322        digest_type: GChecksumType,
11323        key: *mut GBytes,
11324        data: *mut GBytes,
11325    ) -> *mut gchar;
11326}
11327pub type GHook = _GHook;
11328pub type GHookList = _GHookList;
11329pub type GHookCompareFunc =
11330    ::std::option::Option<unsafe extern "C" fn(new_hook: *mut GHook, sibling: *mut GHook) -> gint>;
11331pub type GHookFindFunc =
11332    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, data: gpointer) -> gboolean>;
11333pub type GHookMarshaller =
11334    ::std::option::Option<unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer)>;
11335pub type GHookCheckMarshaller = ::std::option::Option<
11336    unsafe extern "C" fn(hook: *mut GHook, marshal_data: gpointer) -> gboolean,
11337>;
11338pub type GHookFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
11339pub type GHookCheckFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer) -> gboolean>;
11340pub type GHookFinalizeFunc =
11341    ::std::option::Option<unsafe extern "C" fn(hook_list: *mut GHookList, hook: *mut GHook)>;
11342pub const GHookFlagMask_G_HOOK_FLAG_ACTIVE: GHookFlagMask = 1;
11343pub const GHookFlagMask_G_HOOK_FLAG_IN_CALL: GHookFlagMask = 2;
11344pub const GHookFlagMask_G_HOOK_FLAG_MASK: GHookFlagMask = 15;
11345pub type GHookFlagMask = ::std::os::raw::c_uint;
11346#[repr(C)]
11347#[derive(Debug, Copy, Clone)]
11348pub struct _GHookList {
11349    pub seq_id: gulong,
11350    pub _bitfield_align_1: [u16; 0],
11351    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
11352    pub hooks: *mut GHook,
11353    pub dummy3: gpointer,
11354    pub finalize_hook: GHookFinalizeFunc,
11355    pub dummy: [gpointer; 2usize],
11356}
11357#[test]
11358fn bindgen_test_layout__GHookList() {
11359    const UNINIT: ::std::mem::MaybeUninit<_GHookList> = ::std::mem::MaybeUninit::uninit();
11360    let ptr = UNINIT.as_ptr();
11361    assert_eq!(
11362        ::std::mem::size_of::<_GHookList>(),
11363        56usize,
11364        concat!("Size of: ", stringify!(_GHookList))
11365    );
11366    assert_eq!(
11367        ::std::mem::align_of::<_GHookList>(),
11368        8usize,
11369        concat!("Alignment of ", stringify!(_GHookList))
11370    );
11371    assert_eq!(
11372        unsafe { ::std::ptr::addr_of!((*ptr).seq_id) as usize - ptr as usize },
11373        0usize,
11374        concat!(
11375            "Offset of field: ",
11376            stringify!(_GHookList),
11377            "::",
11378            stringify!(seq_id)
11379        )
11380    );
11381    assert_eq!(
11382        unsafe { ::std::ptr::addr_of!((*ptr).hooks) as usize - ptr as usize },
11383        16usize,
11384        concat!(
11385            "Offset of field: ",
11386            stringify!(_GHookList),
11387            "::",
11388            stringify!(hooks)
11389        )
11390    );
11391    assert_eq!(
11392        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
11393        24usize,
11394        concat!(
11395            "Offset of field: ",
11396            stringify!(_GHookList),
11397            "::",
11398            stringify!(dummy3)
11399        )
11400    );
11401    assert_eq!(
11402        unsafe { ::std::ptr::addr_of!((*ptr).finalize_hook) as usize - ptr as usize },
11403        32usize,
11404        concat!(
11405            "Offset of field: ",
11406            stringify!(_GHookList),
11407            "::",
11408            stringify!(finalize_hook)
11409        )
11410    );
11411    assert_eq!(
11412        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
11413        40usize,
11414        concat!(
11415            "Offset of field: ",
11416            stringify!(_GHookList),
11417            "::",
11418            stringify!(dummy)
11419        )
11420    );
11421}
11422impl _GHookList {
11423    #[inline]
11424    pub fn hook_size(&self) -> guint {
11425        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u32) }
11426    }
11427    #[inline]
11428    pub fn set_hook_size(&mut self, val: guint) {
11429        unsafe {
11430            let val: u32 = ::std::mem::transmute(val);
11431            self._bitfield_1.set(0usize, 16u8, val as u64)
11432        }
11433    }
11434    #[inline]
11435    pub fn is_setup(&self) -> guint {
11436        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
11437    }
11438    #[inline]
11439    pub fn set_is_setup(&mut self, val: guint) {
11440        unsafe {
11441            let val: u32 = ::std::mem::transmute(val);
11442            self._bitfield_1.set(16usize, 1u8, val as u64)
11443        }
11444    }
11445    #[inline]
11446    pub fn new_bitfield_1(
11447        hook_size: guint,
11448        is_setup: guint,
11449    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
11450        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
11451        __bindgen_bitfield_unit.set(0usize, 16u8, {
11452            let hook_size: u32 = unsafe { ::std::mem::transmute(hook_size) };
11453            hook_size as u64
11454        });
11455        __bindgen_bitfield_unit.set(16usize, 1u8, {
11456            let is_setup: u32 = unsafe { ::std::mem::transmute(is_setup) };
11457            is_setup as u64
11458        });
11459        __bindgen_bitfield_unit
11460    }
11461}
11462#[repr(C)]
11463#[derive(Debug, Copy, Clone)]
11464pub struct _GHook {
11465    pub data: gpointer,
11466    pub next: *mut GHook,
11467    pub prev: *mut GHook,
11468    pub ref_count: guint,
11469    pub hook_id: gulong,
11470    pub flags: guint,
11471    pub func: gpointer,
11472    pub destroy: GDestroyNotify,
11473}
11474#[test]
11475fn bindgen_test_layout__GHook() {
11476    const UNINIT: ::std::mem::MaybeUninit<_GHook> = ::std::mem::MaybeUninit::uninit();
11477    let ptr = UNINIT.as_ptr();
11478    assert_eq!(
11479        ::std::mem::size_of::<_GHook>(),
11480        64usize,
11481        concat!("Size of: ", stringify!(_GHook))
11482    );
11483    assert_eq!(
11484        ::std::mem::align_of::<_GHook>(),
11485        8usize,
11486        concat!("Alignment of ", stringify!(_GHook))
11487    );
11488    assert_eq!(
11489        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11490        0usize,
11491        concat!(
11492            "Offset of field: ",
11493            stringify!(_GHook),
11494            "::",
11495            stringify!(data)
11496        )
11497    );
11498    assert_eq!(
11499        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
11500        8usize,
11501        concat!(
11502            "Offset of field: ",
11503            stringify!(_GHook),
11504            "::",
11505            stringify!(next)
11506        )
11507    );
11508    assert_eq!(
11509        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
11510        16usize,
11511        concat!(
11512            "Offset of field: ",
11513            stringify!(_GHook),
11514            "::",
11515            stringify!(prev)
11516        )
11517    );
11518    assert_eq!(
11519        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
11520        24usize,
11521        concat!(
11522            "Offset of field: ",
11523            stringify!(_GHook),
11524            "::",
11525            stringify!(ref_count)
11526        )
11527    );
11528    assert_eq!(
11529        unsafe { ::std::ptr::addr_of!((*ptr).hook_id) as usize - ptr as usize },
11530        32usize,
11531        concat!(
11532            "Offset of field: ",
11533            stringify!(_GHook),
11534            "::",
11535            stringify!(hook_id)
11536        )
11537    );
11538    assert_eq!(
11539        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11540        40usize,
11541        concat!(
11542            "Offset of field: ",
11543            stringify!(_GHook),
11544            "::",
11545            stringify!(flags)
11546        )
11547    );
11548    assert_eq!(
11549        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
11550        48usize,
11551        concat!(
11552            "Offset of field: ",
11553            stringify!(_GHook),
11554            "::",
11555            stringify!(func)
11556        )
11557    );
11558    assert_eq!(
11559        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
11560        56usize,
11561        concat!(
11562            "Offset of field: ",
11563            stringify!(_GHook),
11564            "::",
11565            stringify!(destroy)
11566        )
11567    );
11568}
11569extern "C" {
11570    pub fn g_hook_list_init(hook_list: *mut GHookList, hook_size: guint);
11571}
11572extern "C" {
11573    pub fn g_hook_list_clear(hook_list: *mut GHookList);
11574}
11575extern "C" {
11576    pub fn g_hook_alloc(hook_list: *mut GHookList) -> *mut GHook;
11577}
11578extern "C" {
11579    pub fn g_hook_free(hook_list: *mut GHookList, hook: *mut GHook);
11580}
11581extern "C" {
11582    pub fn g_hook_ref(hook_list: *mut GHookList, hook: *mut GHook) -> *mut GHook;
11583}
11584extern "C" {
11585    pub fn g_hook_unref(hook_list: *mut GHookList, hook: *mut GHook);
11586}
11587extern "C" {
11588    pub fn g_hook_destroy(hook_list: *mut GHookList, hook_id: gulong) -> gboolean;
11589}
11590extern "C" {
11591    pub fn g_hook_destroy_link(hook_list: *mut GHookList, hook: *mut GHook);
11592}
11593extern "C" {
11594    pub fn g_hook_prepend(hook_list: *mut GHookList, hook: *mut GHook);
11595}
11596extern "C" {
11597    pub fn g_hook_insert_before(hook_list: *mut GHookList, sibling: *mut GHook, hook: *mut GHook);
11598}
11599extern "C" {
11600    pub fn g_hook_insert_sorted(
11601        hook_list: *mut GHookList,
11602        hook: *mut GHook,
11603        func: GHookCompareFunc,
11604    );
11605}
11606extern "C" {
11607    pub fn g_hook_get(hook_list: *mut GHookList, hook_id: gulong) -> *mut GHook;
11608}
11609extern "C" {
11610    pub fn g_hook_find(
11611        hook_list: *mut GHookList,
11612        need_valids: gboolean,
11613        func: GHookFindFunc,
11614        data: gpointer,
11615    ) -> *mut GHook;
11616}
11617extern "C" {
11618    pub fn g_hook_find_data(
11619        hook_list: *mut GHookList,
11620        need_valids: gboolean,
11621        data: gpointer,
11622    ) -> *mut GHook;
11623}
11624extern "C" {
11625    pub fn g_hook_find_func(
11626        hook_list: *mut GHookList,
11627        need_valids: gboolean,
11628        func: gpointer,
11629    ) -> *mut GHook;
11630}
11631extern "C" {
11632    pub fn g_hook_find_func_data(
11633        hook_list: *mut GHookList,
11634        need_valids: gboolean,
11635        func: gpointer,
11636        data: gpointer,
11637    ) -> *mut GHook;
11638}
11639extern "C" {
11640    pub fn g_hook_first_valid(hook_list: *mut GHookList, may_be_in_call: gboolean) -> *mut GHook;
11641}
11642extern "C" {
11643    pub fn g_hook_next_valid(
11644        hook_list: *mut GHookList,
11645        hook: *mut GHook,
11646        may_be_in_call: gboolean,
11647    ) -> *mut GHook;
11648}
11649extern "C" {
11650    pub fn g_hook_compare_ids(new_hook: *mut GHook, sibling: *mut GHook) -> gint;
11651}
11652extern "C" {
11653    pub fn g_hook_list_invoke(hook_list: *mut GHookList, may_recurse: gboolean);
11654}
11655extern "C" {
11656    pub fn g_hook_list_invoke_check(hook_list: *mut GHookList, may_recurse: gboolean);
11657}
11658extern "C" {
11659    pub fn g_hook_list_marshal(
11660        hook_list: *mut GHookList,
11661        may_recurse: gboolean,
11662        marshaller: GHookMarshaller,
11663        marshal_data: gpointer,
11664    );
11665}
11666extern "C" {
11667    pub fn g_hook_list_marshal_check(
11668        hook_list: *mut GHookList,
11669        may_recurse: gboolean,
11670        marshaller: GHookCheckMarshaller,
11671        marshal_data: gpointer,
11672    );
11673}
11674extern "C" {
11675    pub fn g_hostname_is_non_ascii(hostname: *const gchar) -> gboolean;
11676}
11677extern "C" {
11678    pub fn g_hostname_is_ascii_encoded(hostname: *const gchar) -> gboolean;
11679}
11680extern "C" {
11681    pub fn g_hostname_is_ip_address(hostname: *const gchar) -> gboolean;
11682}
11683extern "C" {
11684    pub fn g_hostname_to_ascii(hostname: *const gchar) -> *mut gchar;
11685}
11686extern "C" {
11687    pub fn g_hostname_to_unicode(hostname: *const gchar) -> *mut gchar;
11688}
11689pub type GPollFD = _GPollFD;
11690pub type GPollFunc = ::std::option::Option<
11691    unsafe extern "C" fn(ufds: *mut GPollFD, nfsd: guint, timeout_: gint) -> gint,
11692>;
11693#[repr(C)]
11694#[derive(Debug, Copy, Clone)]
11695pub struct _GPollFD {
11696    pub fd: gint,
11697    pub events: gushort,
11698    pub revents: gushort,
11699}
11700#[test]
11701fn bindgen_test_layout__GPollFD() {
11702    const UNINIT: ::std::mem::MaybeUninit<_GPollFD> = ::std::mem::MaybeUninit::uninit();
11703    let ptr = UNINIT.as_ptr();
11704    assert_eq!(
11705        ::std::mem::size_of::<_GPollFD>(),
11706        8usize,
11707        concat!("Size of: ", stringify!(_GPollFD))
11708    );
11709    assert_eq!(
11710        ::std::mem::align_of::<_GPollFD>(),
11711        4usize,
11712        concat!("Alignment of ", stringify!(_GPollFD))
11713    );
11714    assert_eq!(
11715        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
11716        0usize,
11717        concat!(
11718            "Offset of field: ",
11719            stringify!(_GPollFD),
11720            "::",
11721            stringify!(fd)
11722        )
11723    );
11724    assert_eq!(
11725        unsafe { ::std::ptr::addr_of!((*ptr).events) as usize - ptr as usize },
11726        4usize,
11727        concat!(
11728            "Offset of field: ",
11729            stringify!(_GPollFD),
11730            "::",
11731            stringify!(events)
11732        )
11733    );
11734    assert_eq!(
11735        unsafe { ::std::ptr::addr_of!((*ptr).revents) as usize - ptr as usize },
11736        6usize,
11737        concat!(
11738            "Offset of field: ",
11739            stringify!(_GPollFD),
11740            "::",
11741            stringify!(revents)
11742        )
11743    );
11744}
11745extern "C" {
11746    pub fn g_poll(fds: *mut GPollFD, nfds: guint, timeout: gint) -> gint;
11747}
11748pub type GSList = _GSList;
11749#[repr(C)]
11750#[derive(Debug, Copy, Clone)]
11751pub struct _GSList {
11752    pub data: gpointer,
11753    pub next: *mut GSList,
11754}
11755#[test]
11756fn bindgen_test_layout__GSList() {
11757    const UNINIT: ::std::mem::MaybeUninit<_GSList> = ::std::mem::MaybeUninit::uninit();
11758    let ptr = UNINIT.as_ptr();
11759    assert_eq!(
11760        ::std::mem::size_of::<_GSList>(),
11761        16usize,
11762        concat!("Size of: ", stringify!(_GSList))
11763    );
11764    assert_eq!(
11765        ::std::mem::align_of::<_GSList>(),
11766        8usize,
11767        concat!("Alignment of ", stringify!(_GSList))
11768    );
11769    assert_eq!(
11770        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11771        0usize,
11772        concat!(
11773            "Offset of field: ",
11774            stringify!(_GSList),
11775            "::",
11776            stringify!(data)
11777        )
11778    );
11779    assert_eq!(
11780        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
11781        8usize,
11782        concat!(
11783            "Offset of field: ",
11784            stringify!(_GSList),
11785            "::",
11786            stringify!(next)
11787        )
11788    );
11789}
11790extern "C" {
11791    pub fn g_slist_alloc() -> *mut GSList;
11792}
11793extern "C" {
11794    pub fn g_slist_free(list: *mut GSList);
11795}
11796extern "C" {
11797    pub fn g_slist_free_1(list: *mut GSList);
11798}
11799extern "C" {
11800    pub fn g_slist_free_full(list: *mut GSList, free_func: GDestroyNotify);
11801}
11802extern "C" {
11803    pub fn g_slist_append(list: *mut GSList, data: gpointer) -> *mut GSList;
11804}
11805extern "C" {
11806    pub fn g_slist_prepend(list: *mut GSList, data: gpointer) -> *mut GSList;
11807}
11808extern "C" {
11809    pub fn g_slist_insert(list: *mut GSList, data: gpointer, position: gint) -> *mut GSList;
11810}
11811extern "C" {
11812    pub fn g_slist_insert_sorted(
11813        list: *mut GSList,
11814        data: gpointer,
11815        func: GCompareFunc,
11816    ) -> *mut GSList;
11817}
11818extern "C" {
11819    pub fn g_slist_insert_sorted_with_data(
11820        list: *mut GSList,
11821        data: gpointer,
11822        func: GCompareDataFunc,
11823        user_data: gpointer,
11824    ) -> *mut GSList;
11825}
11826extern "C" {
11827    pub fn g_slist_insert_before(
11828        slist: *mut GSList,
11829        sibling: *mut GSList,
11830        data: gpointer,
11831    ) -> *mut GSList;
11832}
11833extern "C" {
11834    pub fn g_slist_concat(list1: *mut GSList, list2: *mut GSList) -> *mut GSList;
11835}
11836extern "C" {
11837    pub fn g_slist_remove(list: *mut GSList, data: gconstpointer) -> *mut GSList;
11838}
11839extern "C" {
11840    pub fn g_slist_remove_all(list: *mut GSList, data: gconstpointer) -> *mut GSList;
11841}
11842extern "C" {
11843    pub fn g_slist_remove_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
11844}
11845extern "C" {
11846    pub fn g_slist_delete_link(list: *mut GSList, link_: *mut GSList) -> *mut GSList;
11847}
11848extern "C" {
11849    pub fn g_slist_reverse(list: *mut GSList) -> *mut GSList;
11850}
11851extern "C" {
11852    pub fn g_slist_copy(list: *mut GSList) -> *mut GSList;
11853}
11854extern "C" {
11855    pub fn g_slist_copy_deep(
11856        list: *mut GSList,
11857        func: GCopyFunc,
11858        user_data: gpointer,
11859    ) -> *mut GSList;
11860}
11861extern "C" {
11862    pub fn g_slist_nth(list: *mut GSList, n: guint) -> *mut GSList;
11863}
11864extern "C" {
11865    pub fn g_slist_find(list: *mut GSList, data: gconstpointer) -> *mut GSList;
11866}
11867extern "C" {
11868    pub fn g_slist_find_custom(
11869        list: *mut GSList,
11870        data: gconstpointer,
11871        func: GCompareFunc,
11872    ) -> *mut GSList;
11873}
11874extern "C" {
11875    pub fn g_slist_position(list: *mut GSList, llink: *mut GSList) -> gint;
11876}
11877extern "C" {
11878    pub fn g_slist_index(list: *mut GSList, data: gconstpointer) -> gint;
11879}
11880extern "C" {
11881    pub fn g_slist_last(list: *mut GSList) -> *mut GSList;
11882}
11883extern "C" {
11884    pub fn g_slist_length(list: *mut GSList) -> guint;
11885}
11886extern "C" {
11887    pub fn g_slist_foreach(list: *mut GSList, func: GFunc, user_data: gpointer);
11888}
11889extern "C" {
11890    pub fn g_slist_sort(list: *mut GSList, compare_func: GCompareFunc) -> *mut GSList;
11891}
11892extern "C" {
11893    pub fn g_slist_sort_with_data(
11894        list: *mut GSList,
11895        compare_func: GCompareDataFunc,
11896        user_data: gpointer,
11897    ) -> *mut GSList;
11898}
11899extern "C" {
11900    pub fn g_slist_nth_data(list: *mut GSList, n: guint) -> gpointer;
11901}
11902extern "C" {
11903    pub fn g_clear_slist(slist_ptr: *mut *mut GSList, destroy: GDestroyNotify);
11904}
11905pub const GIOCondition_G_IO_IN: GIOCondition = 1;
11906pub const GIOCondition_G_IO_OUT: GIOCondition = 4;
11907pub const GIOCondition_G_IO_PRI: GIOCondition = 2;
11908pub const GIOCondition_G_IO_ERR: GIOCondition = 8;
11909pub const GIOCondition_G_IO_HUP: GIOCondition = 16;
11910pub const GIOCondition_G_IO_NVAL: GIOCondition = 32;
11911pub type GIOCondition = ::std::os::raw::c_uint;
11912pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_NONE: GMainContextFlags = 0;
11913pub const GMainContextFlags_G_MAIN_CONTEXT_FLAGS_OWNERLESS_POLLING: GMainContextFlags = 1;
11914pub type GMainContextFlags = ::std::os::raw::c_uint;
11915#[repr(C)]
11916#[derive(Debug, Copy, Clone)]
11917pub struct _GMainContext {
11918    _unused: [u8; 0],
11919}
11920pub type GMainContext = _GMainContext;
11921#[repr(C)]
11922#[derive(Debug, Copy, Clone)]
11923pub struct _GMainLoop {
11924    _unused: [u8; 0],
11925}
11926pub type GMainLoop = _GMainLoop;
11927pub type GSource = _GSource;
11928#[repr(C)]
11929#[derive(Debug, Copy, Clone)]
11930pub struct _GSourcePrivate {
11931    _unused: [u8; 0],
11932}
11933pub type GSourcePrivate = _GSourcePrivate;
11934pub type GSourceCallbackFuncs = _GSourceCallbackFuncs;
11935pub type GSourceFuncs = _GSourceFuncs;
11936pub type GSourceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer) -> gboolean>;
11937pub type GSourceOnceFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gpointer)>;
11938pub type GChildWatchFunc =
11939    ::std::option::Option<unsafe extern "C" fn(pid: GPid, wait_status: gint, user_data: gpointer)>;
11940pub type GSourceDisposeFunc = ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>;
11941#[repr(C)]
11942#[derive(Debug, Copy, Clone)]
11943pub struct _GSource {
11944    pub callback_data: gpointer,
11945    pub callback_funcs: *mut GSourceCallbackFuncs,
11946    pub source_funcs: *const GSourceFuncs,
11947    pub ref_count: guint,
11948    pub context: *mut GMainContext,
11949    pub priority: gint,
11950    pub flags: guint,
11951    pub source_id: guint,
11952    pub poll_fds: *mut GSList,
11953    pub prev: *mut GSource,
11954    pub next: *mut GSource,
11955    pub name: *mut ::std::os::raw::c_char,
11956    pub priv_: *mut GSourcePrivate,
11957}
11958#[test]
11959fn bindgen_test_layout__GSource() {
11960    const UNINIT: ::std::mem::MaybeUninit<_GSource> = ::std::mem::MaybeUninit::uninit();
11961    let ptr = UNINIT.as_ptr();
11962    assert_eq!(
11963        ::std::mem::size_of::<_GSource>(),
11964        96usize,
11965        concat!("Size of: ", stringify!(_GSource))
11966    );
11967    assert_eq!(
11968        ::std::mem::align_of::<_GSource>(),
11969        8usize,
11970        concat!("Alignment of ", stringify!(_GSource))
11971    );
11972    assert_eq!(
11973        unsafe { ::std::ptr::addr_of!((*ptr).callback_data) as usize - ptr as usize },
11974        0usize,
11975        concat!(
11976            "Offset of field: ",
11977            stringify!(_GSource),
11978            "::",
11979            stringify!(callback_data)
11980        )
11981    );
11982    assert_eq!(
11983        unsafe { ::std::ptr::addr_of!((*ptr).callback_funcs) as usize - ptr as usize },
11984        8usize,
11985        concat!(
11986            "Offset of field: ",
11987            stringify!(_GSource),
11988            "::",
11989            stringify!(callback_funcs)
11990        )
11991    );
11992    assert_eq!(
11993        unsafe { ::std::ptr::addr_of!((*ptr).source_funcs) as usize - ptr as usize },
11994        16usize,
11995        concat!(
11996            "Offset of field: ",
11997            stringify!(_GSource),
11998            "::",
11999            stringify!(source_funcs)
12000        )
12001    );
12002    assert_eq!(
12003        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
12004        24usize,
12005        concat!(
12006            "Offset of field: ",
12007            stringify!(_GSource),
12008            "::",
12009            stringify!(ref_count)
12010        )
12011    );
12012    assert_eq!(
12013        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
12014        32usize,
12015        concat!(
12016            "Offset of field: ",
12017            stringify!(_GSource),
12018            "::",
12019            stringify!(context)
12020        )
12021    );
12022    assert_eq!(
12023        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
12024        40usize,
12025        concat!(
12026            "Offset of field: ",
12027            stringify!(_GSource),
12028            "::",
12029            stringify!(priority)
12030        )
12031    );
12032    assert_eq!(
12033        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12034        44usize,
12035        concat!(
12036            "Offset of field: ",
12037            stringify!(_GSource),
12038            "::",
12039            stringify!(flags)
12040        )
12041    );
12042    assert_eq!(
12043        unsafe { ::std::ptr::addr_of!((*ptr).source_id) as usize - ptr as usize },
12044        48usize,
12045        concat!(
12046            "Offset of field: ",
12047            stringify!(_GSource),
12048            "::",
12049            stringify!(source_id)
12050        )
12051    );
12052    assert_eq!(
12053        unsafe { ::std::ptr::addr_of!((*ptr).poll_fds) as usize - ptr as usize },
12054        56usize,
12055        concat!(
12056            "Offset of field: ",
12057            stringify!(_GSource),
12058            "::",
12059            stringify!(poll_fds)
12060        )
12061    );
12062    assert_eq!(
12063        unsafe { ::std::ptr::addr_of!((*ptr).prev) as usize - ptr as usize },
12064        64usize,
12065        concat!(
12066            "Offset of field: ",
12067            stringify!(_GSource),
12068            "::",
12069            stringify!(prev)
12070        )
12071    );
12072    assert_eq!(
12073        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
12074        72usize,
12075        concat!(
12076            "Offset of field: ",
12077            stringify!(_GSource),
12078            "::",
12079            stringify!(next)
12080        )
12081    );
12082    assert_eq!(
12083        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
12084        80usize,
12085        concat!(
12086            "Offset of field: ",
12087            stringify!(_GSource),
12088            "::",
12089            stringify!(name)
12090        )
12091    );
12092    assert_eq!(
12093        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
12094        88usize,
12095        concat!(
12096            "Offset of field: ",
12097            stringify!(_GSource),
12098            "::",
12099            stringify!(priv_)
12100        )
12101    );
12102}
12103#[repr(C)]
12104#[derive(Debug, Copy, Clone)]
12105pub struct _GSourceCallbackFuncs {
12106    pub ref_: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
12107    pub unref: ::std::option::Option<unsafe extern "C" fn(cb_data: gpointer)>,
12108    pub get: ::std::option::Option<
12109        unsafe extern "C" fn(
12110            cb_data: gpointer,
12111            source: *mut GSource,
12112            func: *mut GSourceFunc,
12113            data: *mut gpointer,
12114        ),
12115    >,
12116}
12117#[test]
12118fn bindgen_test_layout__GSourceCallbackFuncs() {
12119    const UNINIT: ::std::mem::MaybeUninit<_GSourceCallbackFuncs> =
12120        ::std::mem::MaybeUninit::uninit();
12121    let ptr = UNINIT.as_ptr();
12122    assert_eq!(
12123        ::std::mem::size_of::<_GSourceCallbackFuncs>(),
12124        24usize,
12125        concat!("Size of: ", stringify!(_GSourceCallbackFuncs))
12126    );
12127    assert_eq!(
12128        ::std::mem::align_of::<_GSourceCallbackFuncs>(),
12129        8usize,
12130        concat!("Alignment of ", stringify!(_GSourceCallbackFuncs))
12131    );
12132    assert_eq!(
12133        unsafe { ::std::ptr::addr_of!((*ptr).ref_) as usize - ptr as usize },
12134        0usize,
12135        concat!(
12136            "Offset of field: ",
12137            stringify!(_GSourceCallbackFuncs),
12138            "::",
12139            stringify!(ref_)
12140        )
12141    );
12142    assert_eq!(
12143        unsafe { ::std::ptr::addr_of!((*ptr).unref) as usize - ptr as usize },
12144        8usize,
12145        concat!(
12146            "Offset of field: ",
12147            stringify!(_GSourceCallbackFuncs),
12148            "::",
12149            stringify!(unref)
12150        )
12151    );
12152    assert_eq!(
12153        unsafe { ::std::ptr::addr_of!((*ptr).get) as usize - ptr as usize },
12154        16usize,
12155        concat!(
12156            "Offset of field: ",
12157            stringify!(_GSourceCallbackFuncs),
12158            "::",
12159            stringify!(get)
12160        )
12161    );
12162}
12163pub type GSourceDummyMarshal = ::std::option::Option<unsafe extern "C" fn()>;
12164#[repr(C)]
12165#[derive(Debug, Copy, Clone)]
12166pub struct _GSourceFuncs {
12167    pub prepare: ::std::option::Option<
12168        unsafe extern "C" fn(source: *mut GSource, timeout_: *mut gint) -> gboolean,
12169    >,
12170    pub check: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource) -> gboolean>,
12171    pub dispatch: ::std::option::Option<
12172        unsafe extern "C" fn(
12173            source: *mut GSource,
12174            callback: GSourceFunc,
12175            user_data: gpointer,
12176        ) -> gboolean,
12177    >,
12178    pub finalize: ::std::option::Option<unsafe extern "C" fn(source: *mut GSource)>,
12179    pub closure_callback: GSourceFunc,
12180    pub closure_marshal: GSourceDummyMarshal,
12181}
12182#[test]
12183fn bindgen_test_layout__GSourceFuncs() {
12184    const UNINIT: ::std::mem::MaybeUninit<_GSourceFuncs> = ::std::mem::MaybeUninit::uninit();
12185    let ptr = UNINIT.as_ptr();
12186    assert_eq!(
12187        ::std::mem::size_of::<_GSourceFuncs>(),
12188        48usize,
12189        concat!("Size of: ", stringify!(_GSourceFuncs))
12190    );
12191    assert_eq!(
12192        ::std::mem::align_of::<_GSourceFuncs>(),
12193        8usize,
12194        concat!("Alignment of ", stringify!(_GSourceFuncs))
12195    );
12196    assert_eq!(
12197        unsafe { ::std::ptr::addr_of!((*ptr).prepare) as usize - ptr as usize },
12198        0usize,
12199        concat!(
12200            "Offset of field: ",
12201            stringify!(_GSourceFuncs),
12202            "::",
12203            stringify!(prepare)
12204        )
12205    );
12206    assert_eq!(
12207        unsafe { ::std::ptr::addr_of!((*ptr).check) as usize - ptr as usize },
12208        8usize,
12209        concat!(
12210            "Offset of field: ",
12211            stringify!(_GSourceFuncs),
12212            "::",
12213            stringify!(check)
12214        )
12215    );
12216    assert_eq!(
12217        unsafe { ::std::ptr::addr_of!((*ptr).dispatch) as usize - ptr as usize },
12218        16usize,
12219        concat!(
12220            "Offset of field: ",
12221            stringify!(_GSourceFuncs),
12222            "::",
12223            stringify!(dispatch)
12224        )
12225    );
12226    assert_eq!(
12227        unsafe { ::std::ptr::addr_of!((*ptr).finalize) as usize - ptr as usize },
12228        24usize,
12229        concat!(
12230            "Offset of field: ",
12231            stringify!(_GSourceFuncs),
12232            "::",
12233            stringify!(finalize)
12234        )
12235    );
12236    assert_eq!(
12237        unsafe { ::std::ptr::addr_of!((*ptr).closure_callback) as usize - ptr as usize },
12238        32usize,
12239        concat!(
12240            "Offset of field: ",
12241            stringify!(_GSourceFuncs),
12242            "::",
12243            stringify!(closure_callback)
12244        )
12245    );
12246    assert_eq!(
12247        unsafe { ::std::ptr::addr_of!((*ptr).closure_marshal) as usize - ptr as usize },
12248        40usize,
12249        concat!(
12250            "Offset of field: ",
12251            stringify!(_GSourceFuncs),
12252            "::",
12253            stringify!(closure_marshal)
12254        )
12255    );
12256}
12257extern "C" {
12258    pub fn g_main_context_new() -> *mut GMainContext;
12259}
12260extern "C" {
12261    pub fn g_main_context_new_with_flags(flags: GMainContextFlags) -> *mut GMainContext;
12262}
12263extern "C" {
12264    pub fn g_main_context_ref(context: *mut GMainContext) -> *mut GMainContext;
12265}
12266extern "C" {
12267    pub fn g_main_context_unref(context: *mut GMainContext);
12268}
12269extern "C" {
12270    pub fn g_main_context_default() -> *mut GMainContext;
12271}
12272extern "C" {
12273    pub fn g_main_context_iteration(context: *mut GMainContext, may_block: gboolean) -> gboolean;
12274}
12275extern "C" {
12276    pub fn g_main_context_pending(context: *mut GMainContext) -> gboolean;
12277}
12278extern "C" {
12279    pub fn g_main_context_find_source_by_id(
12280        context: *mut GMainContext,
12281        source_id: guint,
12282    ) -> *mut GSource;
12283}
12284extern "C" {
12285    pub fn g_main_context_find_source_by_user_data(
12286        context: *mut GMainContext,
12287        user_data: gpointer,
12288    ) -> *mut GSource;
12289}
12290extern "C" {
12291    pub fn g_main_context_find_source_by_funcs_user_data(
12292        context: *mut GMainContext,
12293        funcs: *mut GSourceFuncs,
12294        user_data: gpointer,
12295    ) -> *mut GSource;
12296}
12297extern "C" {
12298    pub fn g_main_context_wakeup(context: *mut GMainContext);
12299}
12300extern "C" {
12301    pub fn g_main_context_acquire(context: *mut GMainContext) -> gboolean;
12302}
12303extern "C" {
12304    pub fn g_main_context_release(context: *mut GMainContext);
12305}
12306extern "C" {
12307    pub fn g_main_context_is_owner(context: *mut GMainContext) -> gboolean;
12308}
12309extern "C" {
12310    pub fn g_main_context_wait(
12311        context: *mut GMainContext,
12312        cond: *mut GCond,
12313        mutex: *mut GMutex,
12314    ) -> gboolean;
12315}
12316extern "C" {
12317    pub fn g_main_context_prepare(context: *mut GMainContext, priority: *mut gint) -> gboolean;
12318}
12319extern "C" {
12320    pub fn g_main_context_query(
12321        context: *mut GMainContext,
12322        max_priority: gint,
12323        timeout_: *mut gint,
12324        fds: *mut GPollFD,
12325        n_fds: gint,
12326    ) -> gint;
12327}
12328extern "C" {
12329    pub fn g_main_context_check(
12330        context: *mut GMainContext,
12331        max_priority: gint,
12332        fds: *mut GPollFD,
12333        n_fds: gint,
12334    ) -> gboolean;
12335}
12336extern "C" {
12337    pub fn g_main_context_dispatch(context: *mut GMainContext);
12338}
12339extern "C" {
12340    pub fn g_main_context_set_poll_func(context: *mut GMainContext, func: GPollFunc);
12341}
12342extern "C" {
12343    pub fn g_main_context_get_poll_func(context: *mut GMainContext) -> GPollFunc;
12344}
12345extern "C" {
12346    pub fn g_main_context_add_poll(context: *mut GMainContext, fd: *mut GPollFD, priority: gint);
12347}
12348extern "C" {
12349    pub fn g_main_context_remove_poll(context: *mut GMainContext, fd: *mut GPollFD);
12350}
12351extern "C" {
12352    pub fn g_main_depth() -> gint;
12353}
12354extern "C" {
12355    pub fn g_main_current_source() -> *mut GSource;
12356}
12357extern "C" {
12358    pub fn g_main_context_push_thread_default(context: *mut GMainContext);
12359}
12360extern "C" {
12361    pub fn g_main_context_pop_thread_default(context: *mut GMainContext);
12362}
12363extern "C" {
12364    pub fn g_main_context_get_thread_default() -> *mut GMainContext;
12365}
12366extern "C" {
12367    pub fn g_main_context_ref_thread_default() -> *mut GMainContext;
12368}
12369pub type GMainContextPusher = ::std::os::raw::c_void;
12370extern "C" {
12371    pub fn g_main_loop_new(context: *mut GMainContext, is_running: gboolean) -> *mut GMainLoop;
12372}
12373extern "C" {
12374    pub fn g_main_loop_run(loop_: *mut GMainLoop);
12375}
12376extern "C" {
12377    pub fn g_main_loop_quit(loop_: *mut GMainLoop);
12378}
12379extern "C" {
12380    pub fn g_main_loop_ref(loop_: *mut GMainLoop) -> *mut GMainLoop;
12381}
12382extern "C" {
12383    pub fn g_main_loop_unref(loop_: *mut GMainLoop);
12384}
12385extern "C" {
12386    pub fn g_main_loop_is_running(loop_: *mut GMainLoop) -> gboolean;
12387}
12388extern "C" {
12389    pub fn g_main_loop_get_context(loop_: *mut GMainLoop) -> *mut GMainContext;
12390}
12391extern "C" {
12392    pub fn g_source_new(source_funcs: *mut GSourceFuncs, struct_size: guint) -> *mut GSource;
12393}
12394extern "C" {
12395    pub fn g_source_set_dispose_function(source: *mut GSource, dispose: GSourceDisposeFunc);
12396}
12397extern "C" {
12398    pub fn g_source_ref(source: *mut GSource) -> *mut GSource;
12399}
12400extern "C" {
12401    pub fn g_source_unref(source: *mut GSource);
12402}
12403extern "C" {
12404    pub fn g_source_attach(source: *mut GSource, context: *mut GMainContext) -> guint;
12405}
12406extern "C" {
12407    pub fn g_source_destroy(source: *mut GSource);
12408}
12409extern "C" {
12410    pub fn g_source_set_priority(source: *mut GSource, priority: gint);
12411}
12412extern "C" {
12413    pub fn g_source_get_priority(source: *mut GSource) -> gint;
12414}
12415extern "C" {
12416    pub fn g_source_set_can_recurse(source: *mut GSource, can_recurse: gboolean);
12417}
12418extern "C" {
12419    pub fn g_source_get_can_recurse(source: *mut GSource) -> gboolean;
12420}
12421extern "C" {
12422    pub fn g_source_get_id(source: *mut GSource) -> guint;
12423}
12424extern "C" {
12425    pub fn g_source_get_context(source: *mut GSource) -> *mut GMainContext;
12426}
12427extern "C" {
12428    pub fn g_source_set_callback(
12429        source: *mut GSource,
12430        func: GSourceFunc,
12431        data: gpointer,
12432        notify: GDestroyNotify,
12433    );
12434}
12435extern "C" {
12436    pub fn g_source_set_funcs(source: *mut GSource, funcs: *mut GSourceFuncs);
12437}
12438extern "C" {
12439    pub fn g_source_is_destroyed(source: *mut GSource) -> gboolean;
12440}
12441extern "C" {
12442    pub fn g_source_set_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
12443}
12444extern "C" {
12445    pub fn g_source_set_static_name(source: *mut GSource, name: *const ::std::os::raw::c_char);
12446}
12447extern "C" {
12448    pub fn g_source_get_name(source: *mut GSource) -> *const ::std::os::raw::c_char;
12449}
12450extern "C" {
12451    pub fn g_source_set_name_by_id(tag: guint, name: *const ::std::os::raw::c_char);
12452}
12453extern "C" {
12454    pub fn g_source_set_ready_time(source: *mut GSource, ready_time: gint64);
12455}
12456extern "C" {
12457    pub fn g_source_get_ready_time(source: *mut GSource) -> gint64;
12458}
12459extern "C" {
12460    pub fn g_source_add_unix_fd(source: *mut GSource, fd: gint, events: GIOCondition) -> gpointer;
12461}
12462extern "C" {
12463    pub fn g_source_modify_unix_fd(source: *mut GSource, tag: gpointer, new_events: GIOCondition);
12464}
12465extern "C" {
12466    pub fn g_source_remove_unix_fd(source: *mut GSource, tag: gpointer);
12467}
12468extern "C" {
12469    pub fn g_source_query_unix_fd(source: *mut GSource, tag: gpointer) -> GIOCondition;
12470}
12471extern "C" {
12472    pub fn g_source_set_callback_indirect(
12473        source: *mut GSource,
12474        callback_data: gpointer,
12475        callback_funcs: *mut GSourceCallbackFuncs,
12476    );
12477}
12478extern "C" {
12479    pub fn g_source_add_poll(source: *mut GSource, fd: *mut GPollFD);
12480}
12481extern "C" {
12482    pub fn g_source_remove_poll(source: *mut GSource, fd: *mut GPollFD);
12483}
12484extern "C" {
12485    pub fn g_source_add_child_source(source: *mut GSource, child_source: *mut GSource);
12486}
12487extern "C" {
12488    pub fn g_source_remove_child_source(source: *mut GSource, child_source: *mut GSource);
12489}
12490extern "C" {
12491    pub fn g_source_get_current_time(source: *mut GSource, timeval: *mut GTimeVal);
12492}
12493extern "C" {
12494    pub fn g_source_get_time(source: *mut GSource) -> gint64;
12495}
12496extern "C" {
12497    pub fn g_idle_source_new() -> *mut GSource;
12498}
12499extern "C" {
12500    pub fn g_child_watch_source_new(pid: GPid) -> *mut GSource;
12501}
12502extern "C" {
12503    pub fn g_timeout_source_new(interval: guint) -> *mut GSource;
12504}
12505extern "C" {
12506    pub fn g_timeout_source_new_seconds(interval: guint) -> *mut GSource;
12507}
12508extern "C" {
12509    pub fn g_get_current_time(result: *mut GTimeVal);
12510}
12511extern "C" {
12512    pub fn g_get_monotonic_time() -> gint64;
12513}
12514extern "C" {
12515    pub fn g_get_real_time() -> gint64;
12516}
12517extern "C" {
12518    pub fn g_source_remove(tag: guint) -> gboolean;
12519}
12520extern "C" {
12521    pub fn g_source_remove_by_user_data(user_data: gpointer) -> gboolean;
12522}
12523extern "C" {
12524    pub fn g_source_remove_by_funcs_user_data(
12525        funcs: *mut GSourceFuncs,
12526        user_data: gpointer,
12527    ) -> gboolean;
12528}
12529pub type GClearHandleFunc = ::std::option::Option<unsafe extern "C" fn(handle_id: guint)>;
12530extern "C" {
12531    pub fn g_clear_handle_id(tag_ptr: *mut guint, clear_func: GClearHandleFunc);
12532}
12533extern "C" {
12534    pub fn g_timeout_add_full(
12535        priority: gint,
12536        interval: guint,
12537        function: GSourceFunc,
12538        data: gpointer,
12539        notify: GDestroyNotify,
12540    ) -> guint;
12541}
12542extern "C" {
12543    pub fn g_timeout_add(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
12544}
12545extern "C" {
12546    pub fn g_timeout_add_once(interval: guint, function: GSourceOnceFunc, data: gpointer) -> guint;
12547}
12548extern "C" {
12549    pub fn g_timeout_add_seconds_full(
12550        priority: gint,
12551        interval: guint,
12552        function: GSourceFunc,
12553        data: gpointer,
12554        notify: GDestroyNotify,
12555    ) -> guint;
12556}
12557extern "C" {
12558    pub fn g_timeout_add_seconds(interval: guint, function: GSourceFunc, data: gpointer) -> guint;
12559}
12560extern "C" {
12561    pub fn g_child_watch_add_full(
12562        priority: gint,
12563        pid: GPid,
12564        function: GChildWatchFunc,
12565        data: gpointer,
12566        notify: GDestroyNotify,
12567    ) -> guint;
12568}
12569extern "C" {
12570    pub fn g_child_watch_add(pid: GPid, function: GChildWatchFunc, data: gpointer) -> guint;
12571}
12572extern "C" {
12573    pub fn g_idle_add(function: GSourceFunc, data: gpointer) -> guint;
12574}
12575extern "C" {
12576    pub fn g_idle_add_full(
12577        priority: gint,
12578        function: GSourceFunc,
12579        data: gpointer,
12580        notify: GDestroyNotify,
12581    ) -> guint;
12582}
12583extern "C" {
12584    pub fn g_idle_add_once(function: GSourceOnceFunc, data: gpointer) -> guint;
12585}
12586extern "C" {
12587    pub fn g_idle_remove_by_data(data: gpointer) -> gboolean;
12588}
12589extern "C" {
12590    pub fn g_main_context_invoke_full(
12591        context: *mut GMainContext,
12592        priority: gint,
12593        function: GSourceFunc,
12594        data: gpointer,
12595        notify: GDestroyNotify,
12596    );
12597}
12598extern "C" {
12599    pub fn g_main_context_invoke(context: *mut GMainContext, function: GSourceFunc, data: gpointer);
12600}
12601extern "C" {
12602    pub static mut g_timeout_funcs: GSourceFuncs;
12603}
12604extern "C" {
12605    pub static mut g_child_watch_funcs: GSourceFuncs;
12606}
12607extern "C" {
12608    pub static mut g_idle_funcs: GSourceFuncs;
12609}
12610extern "C" {
12611    pub static mut g_unix_signal_funcs: GSourceFuncs;
12612}
12613extern "C" {
12614    pub static mut g_unix_fd_source_funcs: GSourceFuncs;
12615}
12616pub type gunichar = guint32;
12617pub type gunichar2 = guint16;
12618pub const GUnicodeType_G_UNICODE_CONTROL: GUnicodeType = 0;
12619pub const GUnicodeType_G_UNICODE_FORMAT: GUnicodeType = 1;
12620pub const GUnicodeType_G_UNICODE_UNASSIGNED: GUnicodeType = 2;
12621pub const GUnicodeType_G_UNICODE_PRIVATE_USE: GUnicodeType = 3;
12622pub const GUnicodeType_G_UNICODE_SURROGATE: GUnicodeType = 4;
12623pub const GUnicodeType_G_UNICODE_LOWERCASE_LETTER: GUnicodeType = 5;
12624pub const GUnicodeType_G_UNICODE_MODIFIER_LETTER: GUnicodeType = 6;
12625pub const GUnicodeType_G_UNICODE_OTHER_LETTER: GUnicodeType = 7;
12626pub const GUnicodeType_G_UNICODE_TITLECASE_LETTER: GUnicodeType = 8;
12627pub const GUnicodeType_G_UNICODE_UPPERCASE_LETTER: GUnicodeType = 9;
12628pub const GUnicodeType_G_UNICODE_SPACING_MARK: GUnicodeType = 10;
12629pub const GUnicodeType_G_UNICODE_ENCLOSING_MARK: GUnicodeType = 11;
12630pub const GUnicodeType_G_UNICODE_NON_SPACING_MARK: GUnicodeType = 12;
12631pub const GUnicodeType_G_UNICODE_DECIMAL_NUMBER: GUnicodeType = 13;
12632pub const GUnicodeType_G_UNICODE_LETTER_NUMBER: GUnicodeType = 14;
12633pub const GUnicodeType_G_UNICODE_OTHER_NUMBER: GUnicodeType = 15;
12634pub const GUnicodeType_G_UNICODE_CONNECT_PUNCTUATION: GUnicodeType = 16;
12635pub const GUnicodeType_G_UNICODE_DASH_PUNCTUATION: GUnicodeType = 17;
12636pub const GUnicodeType_G_UNICODE_CLOSE_PUNCTUATION: GUnicodeType = 18;
12637pub const GUnicodeType_G_UNICODE_FINAL_PUNCTUATION: GUnicodeType = 19;
12638pub const GUnicodeType_G_UNICODE_INITIAL_PUNCTUATION: GUnicodeType = 20;
12639pub const GUnicodeType_G_UNICODE_OTHER_PUNCTUATION: GUnicodeType = 21;
12640pub const GUnicodeType_G_UNICODE_OPEN_PUNCTUATION: GUnicodeType = 22;
12641pub const GUnicodeType_G_UNICODE_CURRENCY_SYMBOL: GUnicodeType = 23;
12642pub const GUnicodeType_G_UNICODE_MODIFIER_SYMBOL: GUnicodeType = 24;
12643pub const GUnicodeType_G_UNICODE_MATH_SYMBOL: GUnicodeType = 25;
12644pub const GUnicodeType_G_UNICODE_OTHER_SYMBOL: GUnicodeType = 26;
12645pub const GUnicodeType_G_UNICODE_LINE_SEPARATOR: GUnicodeType = 27;
12646pub const GUnicodeType_G_UNICODE_PARAGRAPH_SEPARATOR: GUnicodeType = 28;
12647pub const GUnicodeType_G_UNICODE_SPACE_SEPARATOR: GUnicodeType = 29;
12648pub type GUnicodeType = ::std::os::raw::c_uint;
12649pub const GUnicodeBreakType_G_UNICODE_BREAK_MANDATORY: GUnicodeBreakType = 0;
12650pub const GUnicodeBreakType_G_UNICODE_BREAK_CARRIAGE_RETURN: GUnicodeBreakType = 1;
12651pub const GUnicodeBreakType_G_UNICODE_BREAK_LINE_FEED: GUnicodeBreakType = 2;
12652pub const GUnicodeBreakType_G_UNICODE_BREAK_COMBINING_MARK: GUnicodeBreakType = 3;
12653pub const GUnicodeBreakType_G_UNICODE_BREAK_SURROGATE: GUnicodeBreakType = 4;
12654pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_SPACE: GUnicodeBreakType = 5;
12655pub const GUnicodeBreakType_G_UNICODE_BREAK_INSEPARABLE: GUnicodeBreakType = 6;
12656pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_BREAKING_GLUE: GUnicodeBreakType = 7;
12657pub const GUnicodeBreakType_G_UNICODE_BREAK_CONTINGENT: GUnicodeBreakType = 8;
12658pub const GUnicodeBreakType_G_UNICODE_BREAK_SPACE: GUnicodeBreakType = 9;
12659pub const GUnicodeBreakType_G_UNICODE_BREAK_AFTER: GUnicodeBreakType = 10;
12660pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE: GUnicodeBreakType = 11;
12661pub const GUnicodeBreakType_G_UNICODE_BREAK_BEFORE_AND_AFTER: GUnicodeBreakType = 12;
12662pub const GUnicodeBreakType_G_UNICODE_BREAK_HYPHEN: GUnicodeBreakType = 13;
12663pub const GUnicodeBreakType_G_UNICODE_BREAK_NON_STARTER: GUnicodeBreakType = 14;
12664pub const GUnicodeBreakType_G_UNICODE_BREAK_OPEN_PUNCTUATION: GUnicodeBreakType = 15;
12665pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PUNCTUATION: GUnicodeBreakType = 16;
12666pub const GUnicodeBreakType_G_UNICODE_BREAK_QUOTATION: GUnicodeBreakType = 17;
12667pub const GUnicodeBreakType_G_UNICODE_BREAK_EXCLAMATION: GUnicodeBreakType = 18;
12668pub const GUnicodeBreakType_G_UNICODE_BREAK_IDEOGRAPHIC: GUnicodeBreakType = 19;
12669pub const GUnicodeBreakType_G_UNICODE_BREAK_NUMERIC: GUnicodeBreakType = 20;
12670pub const GUnicodeBreakType_G_UNICODE_BREAK_INFIX_SEPARATOR: GUnicodeBreakType = 21;
12671pub const GUnicodeBreakType_G_UNICODE_BREAK_SYMBOL: GUnicodeBreakType = 22;
12672pub const GUnicodeBreakType_G_UNICODE_BREAK_ALPHABETIC: GUnicodeBreakType = 23;
12673pub const GUnicodeBreakType_G_UNICODE_BREAK_PREFIX: GUnicodeBreakType = 24;
12674pub const GUnicodeBreakType_G_UNICODE_BREAK_POSTFIX: GUnicodeBreakType = 25;
12675pub const GUnicodeBreakType_G_UNICODE_BREAK_COMPLEX_CONTEXT: GUnicodeBreakType = 26;
12676pub const GUnicodeBreakType_G_UNICODE_BREAK_AMBIGUOUS: GUnicodeBreakType = 27;
12677pub const GUnicodeBreakType_G_UNICODE_BREAK_UNKNOWN: GUnicodeBreakType = 28;
12678pub const GUnicodeBreakType_G_UNICODE_BREAK_NEXT_LINE: GUnicodeBreakType = 29;
12679pub const GUnicodeBreakType_G_UNICODE_BREAK_WORD_JOINER: GUnicodeBreakType = 30;
12680pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_L_JAMO: GUnicodeBreakType = 31;
12681pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_V_JAMO: GUnicodeBreakType = 32;
12682pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_T_JAMO: GUnicodeBreakType = 33;
12683pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: GUnicodeBreakType = 34;
12684pub const GUnicodeBreakType_G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: GUnicodeBreakType = 35;
12685pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARANTHESIS: GUnicodeBreakType = 36;
12686pub const GUnicodeBreakType_G_UNICODE_BREAK_CLOSE_PARENTHESIS: GUnicodeBreakType = 36;
12687pub const GUnicodeBreakType_G_UNICODE_BREAK_CONDITIONAL_JAPANESE_STARTER: GUnicodeBreakType = 37;
12688pub const GUnicodeBreakType_G_UNICODE_BREAK_HEBREW_LETTER: GUnicodeBreakType = 38;
12689pub const GUnicodeBreakType_G_UNICODE_BREAK_REGIONAL_INDICATOR: GUnicodeBreakType = 39;
12690pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_BASE: GUnicodeBreakType = 40;
12691pub const GUnicodeBreakType_G_UNICODE_BREAK_EMOJI_MODIFIER: GUnicodeBreakType = 41;
12692pub const GUnicodeBreakType_G_UNICODE_BREAK_ZERO_WIDTH_JOINER: GUnicodeBreakType = 42;
12693pub type GUnicodeBreakType = ::std::os::raw::c_uint;
12694pub const GUnicodeScript_G_UNICODE_SCRIPT_INVALID_CODE: GUnicodeScript = -1;
12695pub const GUnicodeScript_G_UNICODE_SCRIPT_COMMON: GUnicodeScript = 0;
12696pub const GUnicodeScript_G_UNICODE_SCRIPT_INHERITED: GUnicodeScript = 1;
12697pub const GUnicodeScript_G_UNICODE_SCRIPT_ARABIC: GUnicodeScript = 2;
12698pub const GUnicodeScript_G_UNICODE_SCRIPT_ARMENIAN: GUnicodeScript = 3;
12699pub const GUnicodeScript_G_UNICODE_SCRIPT_BENGALI: GUnicodeScript = 4;
12700pub const GUnicodeScript_G_UNICODE_SCRIPT_BOPOMOFO: GUnicodeScript = 5;
12701pub const GUnicodeScript_G_UNICODE_SCRIPT_CHEROKEE: GUnicodeScript = 6;
12702pub const GUnicodeScript_G_UNICODE_SCRIPT_COPTIC: GUnicodeScript = 7;
12703pub const GUnicodeScript_G_UNICODE_SCRIPT_CYRILLIC: GUnicodeScript = 8;
12704pub const GUnicodeScript_G_UNICODE_SCRIPT_DESERET: GUnicodeScript = 9;
12705pub const GUnicodeScript_G_UNICODE_SCRIPT_DEVANAGARI: GUnicodeScript = 10;
12706pub const GUnicodeScript_G_UNICODE_SCRIPT_ETHIOPIC: GUnicodeScript = 11;
12707pub const GUnicodeScript_G_UNICODE_SCRIPT_GEORGIAN: GUnicodeScript = 12;
12708pub const GUnicodeScript_G_UNICODE_SCRIPT_GOTHIC: GUnicodeScript = 13;
12709pub const GUnicodeScript_G_UNICODE_SCRIPT_GREEK: GUnicodeScript = 14;
12710pub const GUnicodeScript_G_UNICODE_SCRIPT_GUJARATI: GUnicodeScript = 15;
12711pub const GUnicodeScript_G_UNICODE_SCRIPT_GURMUKHI: GUnicodeScript = 16;
12712pub const GUnicodeScript_G_UNICODE_SCRIPT_HAN: GUnicodeScript = 17;
12713pub const GUnicodeScript_G_UNICODE_SCRIPT_HANGUL: GUnicodeScript = 18;
12714pub const GUnicodeScript_G_UNICODE_SCRIPT_HEBREW: GUnicodeScript = 19;
12715pub const GUnicodeScript_G_UNICODE_SCRIPT_HIRAGANA: GUnicodeScript = 20;
12716pub const GUnicodeScript_G_UNICODE_SCRIPT_KANNADA: GUnicodeScript = 21;
12717pub const GUnicodeScript_G_UNICODE_SCRIPT_KATAKANA: GUnicodeScript = 22;
12718pub const GUnicodeScript_G_UNICODE_SCRIPT_KHMER: GUnicodeScript = 23;
12719pub const GUnicodeScript_G_UNICODE_SCRIPT_LAO: GUnicodeScript = 24;
12720pub const GUnicodeScript_G_UNICODE_SCRIPT_LATIN: GUnicodeScript = 25;
12721pub const GUnicodeScript_G_UNICODE_SCRIPT_MALAYALAM: GUnicodeScript = 26;
12722pub const GUnicodeScript_G_UNICODE_SCRIPT_MONGOLIAN: GUnicodeScript = 27;
12723pub const GUnicodeScript_G_UNICODE_SCRIPT_MYANMAR: GUnicodeScript = 28;
12724pub const GUnicodeScript_G_UNICODE_SCRIPT_OGHAM: GUnicodeScript = 29;
12725pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_ITALIC: GUnicodeScript = 30;
12726pub const GUnicodeScript_G_UNICODE_SCRIPT_ORIYA: GUnicodeScript = 31;
12727pub const GUnicodeScript_G_UNICODE_SCRIPT_RUNIC: GUnicodeScript = 32;
12728pub const GUnicodeScript_G_UNICODE_SCRIPT_SINHALA: GUnicodeScript = 33;
12729pub const GUnicodeScript_G_UNICODE_SCRIPT_SYRIAC: GUnicodeScript = 34;
12730pub const GUnicodeScript_G_UNICODE_SCRIPT_TAMIL: GUnicodeScript = 35;
12731pub const GUnicodeScript_G_UNICODE_SCRIPT_TELUGU: GUnicodeScript = 36;
12732pub const GUnicodeScript_G_UNICODE_SCRIPT_THAANA: GUnicodeScript = 37;
12733pub const GUnicodeScript_G_UNICODE_SCRIPT_THAI: GUnicodeScript = 38;
12734pub const GUnicodeScript_G_UNICODE_SCRIPT_TIBETAN: GUnicodeScript = 39;
12735pub const GUnicodeScript_G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL: GUnicodeScript = 40;
12736pub const GUnicodeScript_G_UNICODE_SCRIPT_YI: GUnicodeScript = 41;
12737pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGALOG: GUnicodeScript = 42;
12738pub const GUnicodeScript_G_UNICODE_SCRIPT_HANUNOO: GUnicodeScript = 43;
12739pub const GUnicodeScript_G_UNICODE_SCRIPT_BUHID: GUnicodeScript = 44;
12740pub const GUnicodeScript_G_UNICODE_SCRIPT_TAGBANWA: GUnicodeScript = 45;
12741pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAILLE: GUnicodeScript = 46;
12742pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRIOT: GUnicodeScript = 47;
12743pub const GUnicodeScript_G_UNICODE_SCRIPT_LIMBU: GUnicodeScript = 48;
12744pub const GUnicodeScript_G_UNICODE_SCRIPT_OSMANYA: GUnicodeScript = 49;
12745pub const GUnicodeScript_G_UNICODE_SCRIPT_SHAVIAN: GUnicodeScript = 50;
12746pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_B: GUnicodeScript = 51;
12747pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_LE: GUnicodeScript = 52;
12748pub const GUnicodeScript_G_UNICODE_SCRIPT_UGARITIC: GUnicodeScript = 53;
12749pub const GUnicodeScript_G_UNICODE_SCRIPT_NEW_TAI_LUE: GUnicodeScript = 54;
12750pub const GUnicodeScript_G_UNICODE_SCRIPT_BUGINESE: GUnicodeScript = 55;
12751pub const GUnicodeScript_G_UNICODE_SCRIPT_GLAGOLITIC: GUnicodeScript = 56;
12752pub const GUnicodeScript_G_UNICODE_SCRIPT_TIFINAGH: GUnicodeScript = 57;
12753pub const GUnicodeScript_G_UNICODE_SCRIPT_SYLOTI_NAGRI: GUnicodeScript = 58;
12754pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERSIAN: GUnicodeScript = 59;
12755pub const GUnicodeScript_G_UNICODE_SCRIPT_KHAROSHTHI: GUnicodeScript = 60;
12756pub const GUnicodeScript_G_UNICODE_SCRIPT_UNKNOWN: GUnicodeScript = 61;
12757pub const GUnicodeScript_G_UNICODE_SCRIPT_BALINESE: GUnicodeScript = 62;
12758pub const GUnicodeScript_G_UNICODE_SCRIPT_CUNEIFORM: GUnicodeScript = 63;
12759pub const GUnicodeScript_G_UNICODE_SCRIPT_PHOENICIAN: GUnicodeScript = 64;
12760pub const GUnicodeScript_G_UNICODE_SCRIPT_PHAGS_PA: GUnicodeScript = 65;
12761pub const GUnicodeScript_G_UNICODE_SCRIPT_NKO: GUnicodeScript = 66;
12762pub const GUnicodeScript_G_UNICODE_SCRIPT_KAYAH_LI: GUnicodeScript = 67;
12763pub const GUnicodeScript_G_UNICODE_SCRIPT_LEPCHA: GUnicodeScript = 68;
12764pub const GUnicodeScript_G_UNICODE_SCRIPT_REJANG: GUnicodeScript = 69;
12765pub const GUnicodeScript_G_UNICODE_SCRIPT_SUNDANESE: GUnicodeScript = 70;
12766pub const GUnicodeScript_G_UNICODE_SCRIPT_SAURASHTRA: GUnicodeScript = 71;
12767pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAM: GUnicodeScript = 72;
12768pub const GUnicodeScript_G_UNICODE_SCRIPT_OL_CHIKI: GUnicodeScript = 73;
12769pub const GUnicodeScript_G_UNICODE_SCRIPT_VAI: GUnicodeScript = 74;
12770pub const GUnicodeScript_G_UNICODE_SCRIPT_CARIAN: GUnicodeScript = 75;
12771pub const GUnicodeScript_G_UNICODE_SCRIPT_LYCIAN: GUnicodeScript = 76;
12772pub const GUnicodeScript_G_UNICODE_SCRIPT_LYDIAN: GUnicodeScript = 77;
12773pub const GUnicodeScript_G_UNICODE_SCRIPT_AVESTAN: GUnicodeScript = 78;
12774pub const GUnicodeScript_G_UNICODE_SCRIPT_BAMUM: GUnicodeScript = 79;
12775pub const GUnicodeScript_G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS: GUnicodeScript = 80;
12776pub const GUnicodeScript_G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC: GUnicodeScript = 81;
12777pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI: GUnicodeScript = 82;
12778pub const GUnicodeScript_G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN: GUnicodeScript = 83;
12779pub const GUnicodeScript_G_UNICODE_SCRIPT_JAVANESE: GUnicodeScript = 84;
12780pub const GUnicodeScript_G_UNICODE_SCRIPT_KAITHI: GUnicodeScript = 85;
12781pub const GUnicodeScript_G_UNICODE_SCRIPT_LISU: GUnicodeScript = 86;
12782pub const GUnicodeScript_G_UNICODE_SCRIPT_MEETEI_MAYEK: GUnicodeScript = 87;
12783pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN: GUnicodeScript = 88;
12784pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_TURKIC: GUnicodeScript = 89;
12785pub const GUnicodeScript_G_UNICODE_SCRIPT_SAMARITAN: GUnicodeScript = 90;
12786pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_THAM: GUnicodeScript = 91;
12787pub const GUnicodeScript_G_UNICODE_SCRIPT_TAI_VIET: GUnicodeScript = 92;
12788pub const GUnicodeScript_G_UNICODE_SCRIPT_BATAK: GUnicodeScript = 93;
12789pub const GUnicodeScript_G_UNICODE_SCRIPT_BRAHMI: GUnicodeScript = 94;
12790pub const GUnicodeScript_G_UNICODE_SCRIPT_MANDAIC: GUnicodeScript = 95;
12791pub const GUnicodeScript_G_UNICODE_SCRIPT_CHAKMA: GUnicodeScript = 96;
12792pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_CURSIVE: GUnicodeScript = 97;
12793pub const GUnicodeScript_G_UNICODE_SCRIPT_MEROITIC_HIEROGLYPHS: GUnicodeScript = 98;
12794pub const GUnicodeScript_G_UNICODE_SCRIPT_MIAO: GUnicodeScript = 99;
12795pub const GUnicodeScript_G_UNICODE_SCRIPT_SHARADA: GUnicodeScript = 100;
12796pub const GUnicodeScript_G_UNICODE_SCRIPT_SORA_SOMPENG: GUnicodeScript = 101;
12797pub const GUnicodeScript_G_UNICODE_SCRIPT_TAKRI: GUnicodeScript = 102;
12798pub const GUnicodeScript_G_UNICODE_SCRIPT_BASSA_VAH: GUnicodeScript = 103;
12799pub const GUnicodeScript_G_UNICODE_SCRIPT_CAUCASIAN_ALBANIAN: GUnicodeScript = 104;
12800pub const GUnicodeScript_G_UNICODE_SCRIPT_DUPLOYAN: GUnicodeScript = 105;
12801pub const GUnicodeScript_G_UNICODE_SCRIPT_ELBASAN: GUnicodeScript = 106;
12802pub const GUnicodeScript_G_UNICODE_SCRIPT_GRANTHA: GUnicodeScript = 107;
12803pub const GUnicodeScript_G_UNICODE_SCRIPT_KHOJKI: GUnicodeScript = 108;
12804pub const GUnicodeScript_G_UNICODE_SCRIPT_KHUDAWADI: GUnicodeScript = 109;
12805pub const GUnicodeScript_G_UNICODE_SCRIPT_LINEAR_A: GUnicodeScript = 110;
12806pub const GUnicodeScript_G_UNICODE_SCRIPT_MAHAJANI: GUnicodeScript = 111;
12807pub const GUnicodeScript_G_UNICODE_SCRIPT_MANICHAEAN: GUnicodeScript = 112;
12808pub const GUnicodeScript_G_UNICODE_SCRIPT_MENDE_KIKAKUI: GUnicodeScript = 113;
12809pub const GUnicodeScript_G_UNICODE_SCRIPT_MODI: GUnicodeScript = 114;
12810pub const GUnicodeScript_G_UNICODE_SCRIPT_MRO: GUnicodeScript = 115;
12811pub const GUnicodeScript_G_UNICODE_SCRIPT_NABATAEAN: GUnicodeScript = 116;
12812pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_NORTH_ARABIAN: GUnicodeScript = 117;
12813pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_PERMIC: GUnicodeScript = 118;
12814pub const GUnicodeScript_G_UNICODE_SCRIPT_PAHAWH_HMONG: GUnicodeScript = 119;
12815pub const GUnicodeScript_G_UNICODE_SCRIPT_PALMYRENE: GUnicodeScript = 120;
12816pub const GUnicodeScript_G_UNICODE_SCRIPT_PAU_CIN_HAU: GUnicodeScript = 121;
12817pub const GUnicodeScript_G_UNICODE_SCRIPT_PSALTER_PAHLAVI: GUnicodeScript = 122;
12818pub const GUnicodeScript_G_UNICODE_SCRIPT_SIDDHAM: GUnicodeScript = 123;
12819pub const GUnicodeScript_G_UNICODE_SCRIPT_TIRHUTA: GUnicodeScript = 124;
12820pub const GUnicodeScript_G_UNICODE_SCRIPT_WARANG_CITI: GUnicodeScript = 125;
12821pub const GUnicodeScript_G_UNICODE_SCRIPT_AHOM: GUnicodeScript = 126;
12822pub const GUnicodeScript_G_UNICODE_SCRIPT_ANATOLIAN_HIEROGLYPHS: GUnicodeScript = 127;
12823pub const GUnicodeScript_G_UNICODE_SCRIPT_HATRAN: GUnicodeScript = 128;
12824pub const GUnicodeScript_G_UNICODE_SCRIPT_MULTANI: GUnicodeScript = 129;
12825pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_HUNGARIAN: GUnicodeScript = 130;
12826pub const GUnicodeScript_G_UNICODE_SCRIPT_SIGNWRITING: GUnicodeScript = 131;
12827pub const GUnicodeScript_G_UNICODE_SCRIPT_ADLAM: GUnicodeScript = 132;
12828pub const GUnicodeScript_G_UNICODE_SCRIPT_BHAIKSUKI: GUnicodeScript = 133;
12829pub const GUnicodeScript_G_UNICODE_SCRIPT_MARCHEN: GUnicodeScript = 134;
12830pub const GUnicodeScript_G_UNICODE_SCRIPT_NEWA: GUnicodeScript = 135;
12831pub const GUnicodeScript_G_UNICODE_SCRIPT_OSAGE: GUnicodeScript = 136;
12832pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGUT: GUnicodeScript = 137;
12833pub const GUnicodeScript_G_UNICODE_SCRIPT_MASARAM_GONDI: GUnicodeScript = 138;
12834pub const GUnicodeScript_G_UNICODE_SCRIPT_NUSHU: GUnicodeScript = 139;
12835pub const GUnicodeScript_G_UNICODE_SCRIPT_SOYOMBO: GUnicodeScript = 140;
12836pub const GUnicodeScript_G_UNICODE_SCRIPT_ZANABAZAR_SQUARE: GUnicodeScript = 141;
12837pub const GUnicodeScript_G_UNICODE_SCRIPT_DOGRA: GUnicodeScript = 142;
12838pub const GUnicodeScript_G_UNICODE_SCRIPT_GUNJALA_GONDI: GUnicodeScript = 143;
12839pub const GUnicodeScript_G_UNICODE_SCRIPT_HANIFI_ROHINGYA: GUnicodeScript = 144;
12840pub const GUnicodeScript_G_UNICODE_SCRIPT_MAKASAR: GUnicodeScript = 145;
12841pub const GUnicodeScript_G_UNICODE_SCRIPT_MEDEFAIDRIN: GUnicodeScript = 146;
12842pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_SOGDIAN: GUnicodeScript = 147;
12843pub const GUnicodeScript_G_UNICODE_SCRIPT_SOGDIAN: GUnicodeScript = 148;
12844pub const GUnicodeScript_G_UNICODE_SCRIPT_ELYMAIC: GUnicodeScript = 149;
12845pub const GUnicodeScript_G_UNICODE_SCRIPT_NANDINAGARI: GUnicodeScript = 150;
12846pub const GUnicodeScript_G_UNICODE_SCRIPT_NYIAKENG_PUACHUE_HMONG: GUnicodeScript = 151;
12847pub const GUnicodeScript_G_UNICODE_SCRIPT_WANCHO: GUnicodeScript = 152;
12848pub const GUnicodeScript_G_UNICODE_SCRIPT_CHORASMIAN: GUnicodeScript = 153;
12849pub const GUnicodeScript_G_UNICODE_SCRIPT_DIVES_AKURU: GUnicodeScript = 154;
12850pub const GUnicodeScript_G_UNICODE_SCRIPT_KHITAN_SMALL_SCRIPT: GUnicodeScript = 155;
12851pub const GUnicodeScript_G_UNICODE_SCRIPT_YEZIDI: GUnicodeScript = 156;
12852pub const GUnicodeScript_G_UNICODE_SCRIPT_CYPRO_MINOAN: GUnicodeScript = 157;
12853pub const GUnicodeScript_G_UNICODE_SCRIPT_OLD_UYGHUR: GUnicodeScript = 158;
12854pub const GUnicodeScript_G_UNICODE_SCRIPT_TANGSA: GUnicodeScript = 159;
12855pub const GUnicodeScript_G_UNICODE_SCRIPT_TOTO: GUnicodeScript = 160;
12856pub const GUnicodeScript_G_UNICODE_SCRIPT_VITHKUQI: GUnicodeScript = 161;
12857pub const GUnicodeScript_G_UNICODE_SCRIPT_MATH: GUnicodeScript = 162;
12858pub const GUnicodeScript_G_UNICODE_SCRIPT_KAWI: GUnicodeScript = 163;
12859pub const GUnicodeScript_G_UNICODE_SCRIPT_NAG_MUNDARI: GUnicodeScript = 164;
12860pub type GUnicodeScript = ::std::os::raw::c_int;
12861extern "C" {
12862    pub fn g_unicode_script_to_iso15924(script: GUnicodeScript) -> guint32;
12863}
12864extern "C" {
12865    pub fn g_unicode_script_from_iso15924(iso15924: guint32) -> GUnicodeScript;
12866}
12867extern "C" {
12868    pub fn g_unichar_isalnum(c: gunichar) -> gboolean;
12869}
12870extern "C" {
12871    pub fn g_unichar_isalpha(c: gunichar) -> gboolean;
12872}
12873extern "C" {
12874    pub fn g_unichar_iscntrl(c: gunichar) -> gboolean;
12875}
12876extern "C" {
12877    pub fn g_unichar_isdigit(c: gunichar) -> gboolean;
12878}
12879extern "C" {
12880    pub fn g_unichar_isgraph(c: gunichar) -> gboolean;
12881}
12882extern "C" {
12883    pub fn g_unichar_islower(c: gunichar) -> gboolean;
12884}
12885extern "C" {
12886    pub fn g_unichar_isprint(c: gunichar) -> gboolean;
12887}
12888extern "C" {
12889    pub fn g_unichar_ispunct(c: gunichar) -> gboolean;
12890}
12891extern "C" {
12892    pub fn g_unichar_isspace(c: gunichar) -> gboolean;
12893}
12894extern "C" {
12895    pub fn g_unichar_isupper(c: gunichar) -> gboolean;
12896}
12897extern "C" {
12898    pub fn g_unichar_isxdigit(c: gunichar) -> gboolean;
12899}
12900extern "C" {
12901    pub fn g_unichar_istitle(c: gunichar) -> gboolean;
12902}
12903extern "C" {
12904    pub fn g_unichar_isdefined(c: gunichar) -> gboolean;
12905}
12906extern "C" {
12907    pub fn g_unichar_iswide(c: gunichar) -> gboolean;
12908}
12909extern "C" {
12910    pub fn g_unichar_iswide_cjk(c: gunichar) -> gboolean;
12911}
12912extern "C" {
12913    pub fn g_unichar_iszerowidth(c: gunichar) -> gboolean;
12914}
12915extern "C" {
12916    pub fn g_unichar_ismark(c: gunichar) -> gboolean;
12917}
12918extern "C" {
12919    pub fn g_unichar_toupper(c: gunichar) -> gunichar;
12920}
12921extern "C" {
12922    pub fn g_unichar_tolower(c: gunichar) -> gunichar;
12923}
12924extern "C" {
12925    pub fn g_unichar_totitle(c: gunichar) -> gunichar;
12926}
12927extern "C" {
12928    pub fn g_unichar_digit_value(c: gunichar) -> gint;
12929}
12930extern "C" {
12931    pub fn g_unichar_xdigit_value(c: gunichar) -> gint;
12932}
12933extern "C" {
12934    pub fn g_unichar_type(c: gunichar) -> GUnicodeType;
12935}
12936extern "C" {
12937    pub fn g_unichar_break_type(c: gunichar) -> GUnicodeBreakType;
12938}
12939extern "C" {
12940    pub fn g_unichar_combining_class(uc: gunichar) -> gint;
12941}
12942extern "C" {
12943    pub fn g_unichar_get_mirror_char(ch: gunichar, mirrored_ch: *mut gunichar) -> gboolean;
12944}
12945extern "C" {
12946    pub fn g_unichar_get_script(ch: gunichar) -> GUnicodeScript;
12947}
12948extern "C" {
12949    pub fn g_unichar_validate(ch: gunichar) -> gboolean;
12950}
12951extern "C" {
12952    pub fn g_unichar_compose(a: gunichar, b: gunichar, ch: *mut gunichar) -> gboolean;
12953}
12954extern "C" {
12955    pub fn g_unichar_decompose(ch: gunichar, a: *mut gunichar, b: *mut gunichar) -> gboolean;
12956}
12957extern "C" {
12958    pub fn g_unichar_fully_decompose(
12959        ch: gunichar,
12960        compat: gboolean,
12961        result: *mut gunichar,
12962        result_len: gsize,
12963    ) -> gsize;
12964}
12965extern "C" {
12966    pub fn g_unicode_canonical_ordering(string: *mut gunichar, len: gsize);
12967}
12968extern "C" {
12969    pub fn g_unicode_canonical_decomposition(ch: gunichar, result_len: *mut gsize)
12970        -> *mut gunichar;
12971}
12972extern "C" {
12973    pub static g_utf8_skip: *const gchar;
12974}
12975extern "C" {
12976    pub fn g_utf8_get_char(p: *const gchar) -> gunichar;
12977}
12978extern "C" {
12979    pub fn g_utf8_get_char_validated(p: *const gchar, max_len: gssize) -> gunichar;
12980}
12981extern "C" {
12982    pub fn g_utf8_offset_to_pointer(str_: *const gchar, offset: glong) -> *mut gchar;
12983}
12984extern "C" {
12985    pub fn g_utf8_pointer_to_offset(str_: *const gchar, pos: *const gchar) -> glong;
12986}
12987extern "C" {
12988    pub fn g_utf8_prev_char(p: *const gchar) -> *mut gchar;
12989}
12990extern "C" {
12991    pub fn g_utf8_find_next_char(p: *const gchar, end: *const gchar) -> *mut gchar;
12992}
12993extern "C" {
12994    pub fn g_utf8_find_prev_char(str_: *const gchar, p: *const gchar) -> *mut gchar;
12995}
12996extern "C" {
12997    pub fn g_utf8_strlen(p: *const gchar, max: gssize) -> glong;
12998}
12999extern "C" {
13000    pub fn g_utf8_substring(str_: *const gchar, start_pos: glong, end_pos: glong) -> *mut gchar;
13001}
13002extern "C" {
13003    pub fn g_utf8_strncpy(dest: *mut gchar, src: *const gchar, n: gsize) -> *mut gchar;
13004}
13005extern "C" {
13006    pub fn g_utf8_strchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
13007}
13008extern "C" {
13009    pub fn g_utf8_strrchr(p: *const gchar, len: gssize, c: gunichar) -> *mut gchar;
13010}
13011extern "C" {
13012    pub fn g_utf8_strreverse(str_: *const gchar, len: gssize) -> *mut gchar;
13013}
13014extern "C" {
13015    pub fn g_utf8_to_utf16(
13016        str_: *const gchar,
13017        len: glong,
13018        items_read: *mut glong,
13019        items_written: *mut glong,
13020        error: *mut *mut GError,
13021    ) -> *mut gunichar2;
13022}
13023extern "C" {
13024    pub fn g_utf8_to_ucs4(
13025        str_: *const gchar,
13026        len: glong,
13027        items_read: *mut glong,
13028        items_written: *mut glong,
13029        error: *mut *mut GError,
13030    ) -> *mut gunichar;
13031}
13032extern "C" {
13033    pub fn g_utf8_to_ucs4_fast(
13034        str_: *const gchar,
13035        len: glong,
13036        items_written: *mut glong,
13037    ) -> *mut gunichar;
13038}
13039extern "C" {
13040    pub fn g_utf16_to_ucs4(
13041        str_: *const gunichar2,
13042        len: glong,
13043        items_read: *mut glong,
13044        items_written: *mut glong,
13045        error: *mut *mut GError,
13046    ) -> *mut gunichar;
13047}
13048extern "C" {
13049    pub fn g_utf16_to_utf8(
13050        str_: *const gunichar2,
13051        len: glong,
13052        items_read: *mut glong,
13053        items_written: *mut glong,
13054        error: *mut *mut GError,
13055    ) -> *mut gchar;
13056}
13057extern "C" {
13058    pub fn g_ucs4_to_utf16(
13059        str_: *const gunichar,
13060        len: glong,
13061        items_read: *mut glong,
13062        items_written: *mut glong,
13063        error: *mut *mut GError,
13064    ) -> *mut gunichar2;
13065}
13066extern "C" {
13067    pub fn g_ucs4_to_utf8(
13068        str_: *const gunichar,
13069        len: glong,
13070        items_read: *mut glong,
13071        items_written: *mut glong,
13072        error: *mut *mut GError,
13073    ) -> *mut gchar;
13074}
13075extern "C" {
13076    pub fn g_unichar_to_utf8(c: gunichar, outbuf: *mut gchar) -> gint;
13077}
13078extern "C" {
13079    pub fn g_utf8_validate(str_: *const gchar, max_len: gssize, end: *mut *const gchar)
13080        -> gboolean;
13081}
13082extern "C" {
13083    pub fn g_utf8_validate_len(
13084        str_: *const gchar,
13085        max_len: gsize,
13086        end: *mut *const gchar,
13087    ) -> gboolean;
13088}
13089extern "C" {
13090    pub fn g_utf8_strup(str_: *const gchar, len: gssize) -> *mut gchar;
13091}
13092extern "C" {
13093    pub fn g_utf8_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
13094}
13095extern "C" {
13096    pub fn g_utf8_casefold(str_: *const gchar, len: gssize) -> *mut gchar;
13097}
13098pub const GNormalizeMode_G_NORMALIZE_DEFAULT: GNormalizeMode = 0;
13099pub const GNormalizeMode_G_NORMALIZE_NFD: GNormalizeMode = 0;
13100pub const GNormalizeMode_G_NORMALIZE_DEFAULT_COMPOSE: GNormalizeMode = 1;
13101pub const GNormalizeMode_G_NORMALIZE_NFC: GNormalizeMode = 1;
13102pub const GNormalizeMode_G_NORMALIZE_ALL: GNormalizeMode = 2;
13103pub const GNormalizeMode_G_NORMALIZE_NFKD: GNormalizeMode = 2;
13104pub const GNormalizeMode_G_NORMALIZE_ALL_COMPOSE: GNormalizeMode = 3;
13105pub const GNormalizeMode_G_NORMALIZE_NFKC: GNormalizeMode = 3;
13106pub type GNormalizeMode = ::std::os::raw::c_uint;
13107extern "C" {
13108    pub fn g_utf8_normalize(str_: *const gchar, len: gssize, mode: GNormalizeMode) -> *mut gchar;
13109}
13110extern "C" {
13111    pub fn g_utf8_collate(str1: *const gchar, str2: *const gchar) -> gint;
13112}
13113extern "C" {
13114    pub fn g_utf8_collate_key(str_: *const gchar, len: gssize) -> *mut gchar;
13115}
13116extern "C" {
13117    pub fn g_utf8_collate_key_for_filename(str_: *const gchar, len: gssize) -> *mut gchar;
13118}
13119extern "C" {
13120    pub fn g_utf8_make_valid(str_: *const gchar, len: gssize) -> *mut gchar;
13121}
13122pub const GAsciiType_G_ASCII_ALNUM: GAsciiType = 1;
13123pub const GAsciiType_G_ASCII_ALPHA: GAsciiType = 2;
13124pub const GAsciiType_G_ASCII_CNTRL: GAsciiType = 4;
13125pub const GAsciiType_G_ASCII_DIGIT: GAsciiType = 8;
13126pub const GAsciiType_G_ASCII_GRAPH: GAsciiType = 16;
13127pub const GAsciiType_G_ASCII_LOWER: GAsciiType = 32;
13128pub const GAsciiType_G_ASCII_PRINT: GAsciiType = 64;
13129pub const GAsciiType_G_ASCII_PUNCT: GAsciiType = 128;
13130pub const GAsciiType_G_ASCII_SPACE: GAsciiType = 256;
13131pub const GAsciiType_G_ASCII_UPPER: GAsciiType = 512;
13132pub const GAsciiType_G_ASCII_XDIGIT: GAsciiType = 1024;
13133pub type GAsciiType = ::std::os::raw::c_uint;
13134extern "C" {
13135    pub static g_ascii_table: *const guint16;
13136}
13137extern "C" {
13138    pub fn g_ascii_tolower(c: gchar) -> gchar;
13139}
13140extern "C" {
13141    pub fn g_ascii_toupper(c: gchar) -> gchar;
13142}
13143extern "C" {
13144    pub fn g_ascii_digit_value(c: gchar) -> gint;
13145}
13146extern "C" {
13147    pub fn g_ascii_xdigit_value(c: gchar) -> gint;
13148}
13149extern "C" {
13150    pub fn g_strdelimit(
13151        string: *mut gchar,
13152        delimiters: *const gchar,
13153        new_delimiter: gchar,
13154    ) -> *mut gchar;
13155}
13156extern "C" {
13157    pub fn g_strcanon(
13158        string: *mut gchar,
13159        valid_chars: *const gchar,
13160        substitutor: gchar,
13161    ) -> *mut gchar;
13162}
13163extern "C" {
13164    pub fn g_strerror(errnum: gint) -> *const gchar;
13165}
13166extern "C" {
13167    pub fn g_strsignal(signum: gint) -> *const gchar;
13168}
13169extern "C" {
13170    pub fn g_strreverse(string: *mut gchar) -> *mut gchar;
13171}
13172extern "C" {
13173    pub fn g_strlcpy(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
13174}
13175extern "C" {
13176    pub fn g_strlcat(dest: *mut gchar, src: *const gchar, dest_size: gsize) -> gsize;
13177}
13178extern "C" {
13179    pub fn g_strstr_len(
13180        haystack: *const gchar,
13181        haystack_len: gssize,
13182        needle: *const gchar,
13183    ) -> *mut gchar;
13184}
13185extern "C" {
13186    pub fn g_strrstr(haystack: *const gchar, needle: *const gchar) -> *mut gchar;
13187}
13188extern "C" {
13189    pub fn g_strrstr_len(
13190        haystack: *const gchar,
13191        haystack_len: gssize,
13192        needle: *const gchar,
13193    ) -> *mut gchar;
13194}
13195extern "C" {
13196    pub fn g_str_has_suffix(str_: *const gchar, suffix: *const gchar) -> gboolean;
13197}
13198extern "C" {
13199    pub fn g_str_has_prefix(str_: *const gchar, prefix: *const gchar) -> gboolean;
13200}
13201extern "C" {
13202    pub fn g_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
13203}
13204extern "C" {
13205    pub fn g_ascii_strtod(nptr: *const gchar, endptr: *mut *mut gchar) -> gdouble;
13206}
13207extern "C" {
13208    pub fn g_ascii_strtoull(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> guint64;
13209}
13210extern "C" {
13211    pub fn g_ascii_strtoll(nptr: *const gchar, endptr: *mut *mut gchar, base: guint) -> gint64;
13212}
13213extern "C" {
13214    pub fn g_ascii_dtostr(buffer: *mut gchar, buf_len: gint, d: gdouble) -> *mut gchar;
13215}
13216extern "C" {
13217    pub fn g_ascii_formatd(
13218        buffer: *mut gchar,
13219        buf_len: gint,
13220        format: *const gchar,
13221        d: gdouble,
13222    ) -> *mut gchar;
13223}
13224extern "C" {
13225    pub fn g_strchug(string: *mut gchar) -> *mut gchar;
13226}
13227extern "C" {
13228    pub fn g_strchomp(string: *mut gchar) -> *mut gchar;
13229}
13230extern "C" {
13231    pub fn g_ascii_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
13232}
13233extern "C" {
13234    pub fn g_ascii_strncasecmp(s1: *const gchar, s2: *const gchar, n: gsize) -> gint;
13235}
13236extern "C" {
13237    pub fn g_ascii_strdown(str_: *const gchar, len: gssize) -> *mut gchar;
13238}
13239extern "C" {
13240    pub fn g_ascii_strup(str_: *const gchar, len: gssize) -> *mut gchar;
13241}
13242extern "C" {
13243    pub fn g_str_is_ascii(str_: *const gchar) -> gboolean;
13244}
13245extern "C" {
13246    pub fn g_strcasecmp(s1: *const gchar, s2: *const gchar) -> gint;
13247}
13248extern "C" {
13249    pub fn g_strncasecmp(s1: *const gchar, s2: *const gchar, n: guint) -> gint;
13250}
13251extern "C" {
13252    pub fn g_strdown(string: *mut gchar) -> *mut gchar;
13253}
13254extern "C" {
13255    pub fn g_strup(string: *mut gchar) -> *mut gchar;
13256}
13257extern "C" {
13258    pub fn g_strdup(str_: *const gchar) -> *mut gchar;
13259}
13260extern "C" {
13261    pub fn g_strdup_printf(format: *const gchar, ...) -> *mut gchar;
13262}
13263extern "C" {
13264    pub fn g_strdup_vprintf(format: *const gchar, args: *mut __va_list_tag) -> *mut gchar;
13265}
13266extern "C" {
13267    pub fn g_strndup(str_: *const gchar, n: gsize) -> *mut gchar;
13268}
13269extern "C" {
13270    pub fn g_strnfill(length: gsize, fill_char: gchar) -> *mut gchar;
13271}
13272extern "C" {
13273    pub fn g_strconcat(string1: *const gchar, ...) -> *mut gchar;
13274}
13275extern "C" {
13276    pub fn g_strjoin(separator: *const gchar, ...) -> *mut gchar;
13277}
13278extern "C" {
13279    pub fn g_strcompress(source: *const gchar) -> *mut gchar;
13280}
13281extern "C" {
13282    pub fn g_strescape(source: *const gchar, exceptions: *const gchar) -> *mut gchar;
13283}
13284extern "C" {
13285    pub fn g_memdup(mem: gconstpointer, byte_size: guint) -> gpointer;
13286}
13287extern "C" {
13288    pub fn g_memdup2(mem: gconstpointer, byte_size: gsize) -> gpointer;
13289}
13290pub type GStrv = *mut *mut gchar;
13291extern "C" {
13292    pub fn g_strsplit(
13293        string: *const gchar,
13294        delimiter: *const gchar,
13295        max_tokens: gint,
13296    ) -> *mut *mut gchar;
13297}
13298extern "C" {
13299    pub fn g_strsplit_set(
13300        string: *const gchar,
13301        delimiters: *const gchar,
13302        max_tokens: gint,
13303    ) -> *mut *mut gchar;
13304}
13305extern "C" {
13306    pub fn g_strjoinv(separator: *const gchar, str_array: *mut *mut gchar) -> *mut gchar;
13307}
13308extern "C" {
13309    pub fn g_strfreev(str_array: *mut *mut gchar);
13310}
13311extern "C" {
13312    pub fn g_strdupv(str_array: *mut *mut gchar) -> *mut *mut gchar;
13313}
13314extern "C" {
13315    pub fn g_strv_length(str_array: *mut *mut gchar) -> guint;
13316}
13317extern "C" {
13318    pub fn g_stpcpy(dest: *mut gchar, src: *const ::std::os::raw::c_char) -> *mut gchar;
13319}
13320extern "C" {
13321    pub fn g_str_to_ascii(str_: *const gchar, from_locale: *const gchar) -> *mut gchar;
13322}
13323extern "C" {
13324    pub fn g_str_tokenize_and_fold(
13325        string: *const gchar,
13326        translit_locale: *const gchar,
13327        ascii_alternates: *mut *mut *mut gchar,
13328    ) -> *mut *mut gchar;
13329}
13330extern "C" {
13331    pub fn g_str_match_string(
13332        search_term: *const gchar,
13333        potential_hit: *const gchar,
13334        accept_alternates: gboolean,
13335    ) -> gboolean;
13336}
13337extern "C" {
13338    pub fn g_strv_contains(strv: *const *const gchar, str_: *const gchar) -> gboolean;
13339}
13340extern "C" {
13341    pub fn g_strv_equal(strv1: *const *const gchar, strv2: *const *const gchar) -> gboolean;
13342}
13343pub const GNumberParserError_G_NUMBER_PARSER_ERROR_INVALID: GNumberParserError = 0;
13344pub const GNumberParserError_G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS: GNumberParserError = 1;
13345pub type GNumberParserError = ::std::os::raw::c_uint;
13346extern "C" {
13347    pub fn g_number_parser_error_quark() -> GQuark;
13348}
13349extern "C" {
13350    pub fn g_ascii_string_to_signed(
13351        str_: *const gchar,
13352        base: guint,
13353        min: gint64,
13354        max: gint64,
13355        out_num: *mut gint64,
13356        error: *mut *mut GError,
13357    ) -> gboolean;
13358}
13359extern "C" {
13360    pub fn g_ascii_string_to_unsigned(
13361        str_: *const gchar,
13362        base: guint,
13363        min: guint64,
13364        max: guint64,
13365        out_num: *mut guint64,
13366        error: *mut *mut GError,
13367    ) -> gboolean;
13368}
13369pub type GString = _GString;
13370#[repr(C)]
13371#[derive(Debug, Copy, Clone)]
13372pub struct _GString {
13373    pub str_: *mut gchar,
13374    pub len: gsize,
13375    pub allocated_len: gsize,
13376}
13377#[test]
13378fn bindgen_test_layout__GString() {
13379    const UNINIT: ::std::mem::MaybeUninit<_GString> = ::std::mem::MaybeUninit::uninit();
13380    let ptr = UNINIT.as_ptr();
13381    assert_eq!(
13382        ::std::mem::size_of::<_GString>(),
13383        24usize,
13384        concat!("Size of: ", stringify!(_GString))
13385    );
13386    assert_eq!(
13387        ::std::mem::align_of::<_GString>(),
13388        8usize,
13389        concat!("Alignment of ", stringify!(_GString))
13390    );
13391    assert_eq!(
13392        unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
13393        0usize,
13394        concat!(
13395            "Offset of field: ",
13396            stringify!(_GString),
13397            "::",
13398            stringify!(str_)
13399        )
13400    );
13401    assert_eq!(
13402        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
13403        8usize,
13404        concat!(
13405            "Offset of field: ",
13406            stringify!(_GString),
13407            "::",
13408            stringify!(len)
13409        )
13410    );
13411    assert_eq!(
13412        unsafe { ::std::ptr::addr_of!((*ptr).allocated_len) as usize - ptr as usize },
13413        16usize,
13414        concat!(
13415            "Offset of field: ",
13416            stringify!(_GString),
13417            "::",
13418            stringify!(allocated_len)
13419        )
13420    );
13421}
13422extern "C" {
13423    pub fn g_string_new(init: *const gchar) -> *mut GString;
13424}
13425extern "C" {
13426    pub fn g_string_new_len(init: *const gchar, len: gssize) -> *mut GString;
13427}
13428extern "C" {
13429    pub fn g_string_sized_new(dfl_size: gsize) -> *mut GString;
13430}
13431extern "C" {
13432    pub fn g_string_free(string: *mut GString, free_segment: gboolean) -> *mut gchar;
13433}
13434extern "C" {
13435    pub fn g_string_free_and_steal(string: *mut GString) -> *mut gchar;
13436}
13437extern "C" {
13438    pub fn g_string_free_to_bytes(string: *mut GString) -> *mut GBytes;
13439}
13440extern "C" {
13441    pub fn g_string_equal(v: *const GString, v2: *const GString) -> gboolean;
13442}
13443extern "C" {
13444    pub fn g_string_hash(str_: *const GString) -> guint;
13445}
13446extern "C" {
13447    pub fn g_string_assign(string: *mut GString, rval: *const gchar) -> *mut GString;
13448}
13449extern "C" {
13450    pub fn g_string_truncate(string: *mut GString, len: gsize) -> *mut GString;
13451}
13452extern "C" {
13453    pub fn g_string_set_size(string: *mut GString, len: gsize) -> *mut GString;
13454}
13455extern "C" {
13456    pub fn g_string_insert_len(
13457        string: *mut GString,
13458        pos: gssize,
13459        val: *const gchar,
13460        len: gssize,
13461    ) -> *mut GString;
13462}
13463extern "C" {
13464    pub fn g_string_append(string: *mut GString, val: *const gchar) -> *mut GString;
13465}
13466extern "C" {
13467    pub fn g_string_append_len(
13468        string: *mut GString,
13469        val: *const gchar,
13470        len: gssize,
13471    ) -> *mut GString;
13472}
13473extern "C" {
13474    pub fn g_string_append_c(string: *mut GString, c: gchar) -> *mut GString;
13475}
13476extern "C" {
13477    pub fn g_string_append_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
13478}
13479extern "C" {
13480    pub fn g_string_prepend(string: *mut GString, val: *const gchar) -> *mut GString;
13481}
13482extern "C" {
13483    pub fn g_string_prepend_c(string: *mut GString, c: gchar) -> *mut GString;
13484}
13485extern "C" {
13486    pub fn g_string_prepend_unichar(string: *mut GString, wc: gunichar) -> *mut GString;
13487}
13488extern "C" {
13489    pub fn g_string_prepend_len(
13490        string: *mut GString,
13491        val: *const gchar,
13492        len: gssize,
13493    ) -> *mut GString;
13494}
13495extern "C" {
13496    pub fn g_string_insert(string: *mut GString, pos: gssize, val: *const gchar) -> *mut GString;
13497}
13498extern "C" {
13499    pub fn g_string_insert_c(string: *mut GString, pos: gssize, c: gchar) -> *mut GString;
13500}
13501extern "C" {
13502    pub fn g_string_insert_unichar(string: *mut GString, pos: gssize, wc: gunichar)
13503        -> *mut GString;
13504}
13505extern "C" {
13506    pub fn g_string_overwrite(string: *mut GString, pos: gsize, val: *const gchar) -> *mut GString;
13507}
13508extern "C" {
13509    pub fn g_string_overwrite_len(
13510        string: *mut GString,
13511        pos: gsize,
13512        val: *const gchar,
13513        len: gssize,
13514    ) -> *mut GString;
13515}
13516extern "C" {
13517    pub fn g_string_erase(string: *mut GString, pos: gssize, len: gssize) -> *mut GString;
13518}
13519extern "C" {
13520    pub fn g_string_replace(
13521        string: *mut GString,
13522        find: *const gchar,
13523        replace: *const gchar,
13524        limit: guint,
13525    ) -> guint;
13526}
13527extern "C" {
13528    pub fn g_string_ascii_down(string: *mut GString) -> *mut GString;
13529}
13530extern "C" {
13531    pub fn g_string_ascii_up(string: *mut GString) -> *mut GString;
13532}
13533extern "C" {
13534    pub fn g_string_vprintf(string: *mut GString, format: *const gchar, args: *mut __va_list_tag);
13535}
13536extern "C" {
13537    pub fn g_string_printf(string: *mut GString, format: *const gchar, ...);
13538}
13539extern "C" {
13540    pub fn g_string_append_vprintf(
13541        string: *mut GString,
13542        format: *const gchar,
13543        args: *mut __va_list_tag,
13544    );
13545}
13546extern "C" {
13547    pub fn g_string_append_printf(string: *mut GString, format: *const gchar, ...);
13548}
13549extern "C" {
13550    pub fn g_string_append_uri_escaped(
13551        string: *mut GString,
13552        unescaped: *const gchar,
13553        reserved_chars_allowed: *const gchar,
13554        allow_utf8: gboolean,
13555    ) -> *mut GString;
13556}
13557extern "C" {
13558    pub fn g_string_down(string: *mut GString) -> *mut GString;
13559}
13560extern "C" {
13561    pub fn g_string_up(string: *mut GString) -> *mut GString;
13562}
13563pub type GIOChannel = _GIOChannel;
13564pub type GIOFuncs = _GIOFuncs;
13565pub const GIOError_G_IO_ERROR_NONE: GIOError = 0;
13566pub const GIOError_G_IO_ERROR_AGAIN: GIOError = 1;
13567pub const GIOError_G_IO_ERROR_INVAL: GIOError = 2;
13568pub const GIOError_G_IO_ERROR_UNKNOWN: GIOError = 3;
13569pub type GIOError = ::std::os::raw::c_uint;
13570pub const GIOChannelError_G_IO_CHANNEL_ERROR_FBIG: GIOChannelError = 0;
13571pub const GIOChannelError_G_IO_CHANNEL_ERROR_INVAL: GIOChannelError = 1;
13572pub const GIOChannelError_G_IO_CHANNEL_ERROR_IO: GIOChannelError = 2;
13573pub const GIOChannelError_G_IO_CHANNEL_ERROR_ISDIR: GIOChannelError = 3;
13574pub const GIOChannelError_G_IO_CHANNEL_ERROR_NOSPC: GIOChannelError = 4;
13575pub const GIOChannelError_G_IO_CHANNEL_ERROR_NXIO: GIOChannelError = 5;
13576pub const GIOChannelError_G_IO_CHANNEL_ERROR_OVERFLOW: GIOChannelError = 6;
13577pub const GIOChannelError_G_IO_CHANNEL_ERROR_PIPE: GIOChannelError = 7;
13578pub const GIOChannelError_G_IO_CHANNEL_ERROR_FAILED: GIOChannelError = 8;
13579pub type GIOChannelError = ::std::os::raw::c_uint;
13580pub const GIOStatus_G_IO_STATUS_ERROR: GIOStatus = 0;
13581pub const GIOStatus_G_IO_STATUS_NORMAL: GIOStatus = 1;
13582pub const GIOStatus_G_IO_STATUS_EOF: GIOStatus = 2;
13583pub const GIOStatus_G_IO_STATUS_AGAIN: GIOStatus = 3;
13584pub type GIOStatus = ::std::os::raw::c_uint;
13585pub const GSeekType_G_SEEK_CUR: GSeekType = 0;
13586pub const GSeekType_G_SEEK_SET: GSeekType = 1;
13587pub const GSeekType_G_SEEK_END: GSeekType = 2;
13588pub type GSeekType = ::std::os::raw::c_uint;
13589pub const GIOFlags_G_IO_FLAG_NONE: GIOFlags = 0;
13590pub const GIOFlags_G_IO_FLAG_APPEND: GIOFlags = 1;
13591pub const GIOFlags_G_IO_FLAG_NONBLOCK: GIOFlags = 2;
13592pub const GIOFlags_G_IO_FLAG_IS_READABLE: GIOFlags = 4;
13593pub const GIOFlags_G_IO_FLAG_IS_WRITABLE: GIOFlags = 8;
13594pub const GIOFlags_G_IO_FLAG_IS_WRITEABLE: GIOFlags = 8;
13595pub const GIOFlags_G_IO_FLAG_IS_SEEKABLE: GIOFlags = 16;
13596pub const GIOFlags_G_IO_FLAG_MASK: GIOFlags = 31;
13597pub const GIOFlags_G_IO_FLAG_GET_MASK: GIOFlags = 31;
13598pub const GIOFlags_G_IO_FLAG_SET_MASK: GIOFlags = 3;
13599pub type GIOFlags = ::std::os::raw::c_uint;
13600#[repr(C)]
13601#[derive(Debug, Copy, Clone)]
13602pub struct _GIOChannel {
13603    pub ref_count: gint,
13604    pub funcs: *mut GIOFuncs,
13605    pub encoding: *mut gchar,
13606    pub read_cd: GIConv,
13607    pub write_cd: GIConv,
13608    pub line_term: *mut gchar,
13609    pub line_term_len: guint,
13610    pub buf_size: gsize,
13611    pub read_buf: *mut GString,
13612    pub encoded_read_buf: *mut GString,
13613    pub write_buf: *mut GString,
13614    pub partial_write_buf: [gchar; 6usize],
13615    pub _bitfield_align_1: [u8; 0],
13616    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
13617    pub reserved1: gpointer,
13618    pub reserved2: gpointer,
13619}
13620#[test]
13621fn bindgen_test_layout__GIOChannel() {
13622    const UNINIT: ::std::mem::MaybeUninit<_GIOChannel> = ::std::mem::MaybeUninit::uninit();
13623    let ptr = UNINIT.as_ptr();
13624    assert_eq!(
13625        ::std::mem::size_of::<_GIOChannel>(),
13626        112usize,
13627        concat!("Size of: ", stringify!(_GIOChannel))
13628    );
13629    assert_eq!(
13630        ::std::mem::align_of::<_GIOChannel>(),
13631        8usize,
13632        concat!("Alignment of ", stringify!(_GIOChannel))
13633    );
13634    assert_eq!(
13635        unsafe { ::std::ptr::addr_of!((*ptr).ref_count) as usize - ptr as usize },
13636        0usize,
13637        concat!(
13638            "Offset of field: ",
13639            stringify!(_GIOChannel),
13640            "::",
13641            stringify!(ref_count)
13642        )
13643    );
13644    assert_eq!(
13645        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
13646        8usize,
13647        concat!(
13648            "Offset of field: ",
13649            stringify!(_GIOChannel),
13650            "::",
13651            stringify!(funcs)
13652        )
13653    );
13654    assert_eq!(
13655        unsafe { ::std::ptr::addr_of!((*ptr).encoding) as usize - ptr as usize },
13656        16usize,
13657        concat!(
13658            "Offset of field: ",
13659            stringify!(_GIOChannel),
13660            "::",
13661            stringify!(encoding)
13662        )
13663    );
13664    assert_eq!(
13665        unsafe { ::std::ptr::addr_of!((*ptr).read_cd) as usize - ptr as usize },
13666        24usize,
13667        concat!(
13668            "Offset of field: ",
13669            stringify!(_GIOChannel),
13670            "::",
13671            stringify!(read_cd)
13672        )
13673    );
13674    assert_eq!(
13675        unsafe { ::std::ptr::addr_of!((*ptr).write_cd) as usize - ptr as usize },
13676        32usize,
13677        concat!(
13678            "Offset of field: ",
13679            stringify!(_GIOChannel),
13680            "::",
13681            stringify!(write_cd)
13682        )
13683    );
13684    assert_eq!(
13685        unsafe { ::std::ptr::addr_of!((*ptr).line_term) as usize - ptr as usize },
13686        40usize,
13687        concat!(
13688            "Offset of field: ",
13689            stringify!(_GIOChannel),
13690            "::",
13691            stringify!(line_term)
13692        )
13693    );
13694    assert_eq!(
13695        unsafe { ::std::ptr::addr_of!((*ptr).line_term_len) as usize - ptr as usize },
13696        48usize,
13697        concat!(
13698            "Offset of field: ",
13699            stringify!(_GIOChannel),
13700            "::",
13701            stringify!(line_term_len)
13702        )
13703    );
13704    assert_eq!(
13705        unsafe { ::std::ptr::addr_of!((*ptr).buf_size) as usize - ptr as usize },
13706        56usize,
13707        concat!(
13708            "Offset of field: ",
13709            stringify!(_GIOChannel),
13710            "::",
13711            stringify!(buf_size)
13712        )
13713    );
13714    assert_eq!(
13715        unsafe { ::std::ptr::addr_of!((*ptr).read_buf) as usize - ptr as usize },
13716        64usize,
13717        concat!(
13718            "Offset of field: ",
13719            stringify!(_GIOChannel),
13720            "::",
13721            stringify!(read_buf)
13722        )
13723    );
13724    assert_eq!(
13725        unsafe { ::std::ptr::addr_of!((*ptr).encoded_read_buf) as usize - ptr as usize },
13726        72usize,
13727        concat!(
13728            "Offset of field: ",
13729            stringify!(_GIOChannel),
13730            "::",
13731            stringify!(encoded_read_buf)
13732        )
13733    );
13734    assert_eq!(
13735        unsafe { ::std::ptr::addr_of!((*ptr).write_buf) as usize - ptr as usize },
13736        80usize,
13737        concat!(
13738            "Offset of field: ",
13739            stringify!(_GIOChannel),
13740            "::",
13741            stringify!(write_buf)
13742        )
13743    );
13744    assert_eq!(
13745        unsafe { ::std::ptr::addr_of!((*ptr).partial_write_buf) as usize - ptr as usize },
13746        88usize,
13747        concat!(
13748            "Offset of field: ",
13749            stringify!(_GIOChannel),
13750            "::",
13751            stringify!(partial_write_buf)
13752        )
13753    );
13754    assert_eq!(
13755        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
13756        96usize,
13757        concat!(
13758            "Offset of field: ",
13759            stringify!(_GIOChannel),
13760            "::",
13761            stringify!(reserved1)
13762        )
13763    );
13764    assert_eq!(
13765        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
13766        104usize,
13767        concat!(
13768            "Offset of field: ",
13769            stringify!(_GIOChannel),
13770            "::",
13771            stringify!(reserved2)
13772        )
13773    );
13774}
13775impl _GIOChannel {
13776    #[inline]
13777    pub fn use_buffer(&self) -> guint {
13778        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
13779    }
13780    #[inline]
13781    pub fn set_use_buffer(&mut self, val: guint) {
13782        unsafe {
13783            let val: u32 = ::std::mem::transmute(val);
13784            self._bitfield_1.set(0usize, 1u8, val as u64)
13785        }
13786    }
13787    #[inline]
13788    pub fn do_encode(&self) -> guint {
13789        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
13790    }
13791    #[inline]
13792    pub fn set_do_encode(&mut self, val: guint) {
13793        unsafe {
13794            let val: u32 = ::std::mem::transmute(val);
13795            self._bitfield_1.set(1usize, 1u8, val as u64)
13796        }
13797    }
13798    #[inline]
13799    pub fn close_on_unref(&self) -> guint {
13800        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
13801    }
13802    #[inline]
13803    pub fn set_close_on_unref(&mut self, val: guint) {
13804        unsafe {
13805            let val: u32 = ::std::mem::transmute(val);
13806            self._bitfield_1.set(2usize, 1u8, val as u64)
13807        }
13808    }
13809    #[inline]
13810    pub fn is_readable(&self) -> guint {
13811        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
13812    }
13813    #[inline]
13814    pub fn set_is_readable(&mut self, val: guint) {
13815        unsafe {
13816            let val: u32 = ::std::mem::transmute(val);
13817            self._bitfield_1.set(3usize, 1u8, val as u64)
13818        }
13819    }
13820    #[inline]
13821    pub fn is_writeable(&self) -> guint {
13822        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
13823    }
13824    #[inline]
13825    pub fn set_is_writeable(&mut self, val: guint) {
13826        unsafe {
13827            let val: u32 = ::std::mem::transmute(val);
13828            self._bitfield_1.set(4usize, 1u8, val as u64)
13829        }
13830    }
13831    #[inline]
13832    pub fn is_seekable(&self) -> guint {
13833        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
13834    }
13835    #[inline]
13836    pub fn set_is_seekable(&mut self, val: guint) {
13837        unsafe {
13838            let val: u32 = ::std::mem::transmute(val);
13839            self._bitfield_1.set(5usize, 1u8, val as u64)
13840        }
13841    }
13842    #[inline]
13843    pub fn new_bitfield_1(
13844        use_buffer: guint,
13845        do_encode: guint,
13846        close_on_unref: guint,
13847        is_readable: guint,
13848        is_writeable: guint,
13849        is_seekable: guint,
13850    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
13851        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
13852        __bindgen_bitfield_unit.set(0usize, 1u8, {
13853            let use_buffer: u32 = unsafe { ::std::mem::transmute(use_buffer) };
13854            use_buffer as u64
13855        });
13856        __bindgen_bitfield_unit.set(1usize, 1u8, {
13857            let do_encode: u32 = unsafe { ::std::mem::transmute(do_encode) };
13858            do_encode as u64
13859        });
13860        __bindgen_bitfield_unit.set(2usize, 1u8, {
13861            let close_on_unref: u32 = unsafe { ::std::mem::transmute(close_on_unref) };
13862            close_on_unref as u64
13863        });
13864        __bindgen_bitfield_unit.set(3usize, 1u8, {
13865            let is_readable: u32 = unsafe { ::std::mem::transmute(is_readable) };
13866            is_readable as u64
13867        });
13868        __bindgen_bitfield_unit.set(4usize, 1u8, {
13869            let is_writeable: u32 = unsafe { ::std::mem::transmute(is_writeable) };
13870            is_writeable as u64
13871        });
13872        __bindgen_bitfield_unit.set(5usize, 1u8, {
13873            let is_seekable: u32 = unsafe { ::std::mem::transmute(is_seekable) };
13874            is_seekable as u64
13875        });
13876        __bindgen_bitfield_unit
13877    }
13878}
13879pub type GIOFunc = ::std::option::Option<
13880    unsafe extern "C" fn(
13881        source: *mut GIOChannel,
13882        condition: GIOCondition,
13883        data: gpointer,
13884    ) -> gboolean,
13885>;
13886#[repr(C)]
13887#[derive(Debug, Copy, Clone)]
13888pub struct _GIOFuncs {
13889    pub io_read: ::std::option::Option<
13890        unsafe extern "C" fn(
13891            channel: *mut GIOChannel,
13892            buf: *mut gchar,
13893            count: gsize,
13894            bytes_read: *mut gsize,
13895            err: *mut *mut GError,
13896        ) -> GIOStatus,
13897    >,
13898    pub io_write: ::std::option::Option<
13899        unsafe extern "C" fn(
13900            channel: *mut GIOChannel,
13901            buf: *const gchar,
13902            count: gsize,
13903            bytes_written: *mut gsize,
13904            err: *mut *mut GError,
13905        ) -> GIOStatus,
13906    >,
13907    pub io_seek: ::std::option::Option<
13908        unsafe extern "C" fn(
13909            channel: *mut GIOChannel,
13910            offset: gint64,
13911            type_: GSeekType,
13912            err: *mut *mut GError,
13913        ) -> GIOStatus,
13914    >,
13915    pub io_close: ::std::option::Option<
13916        unsafe extern "C" fn(channel: *mut GIOChannel, err: *mut *mut GError) -> GIOStatus,
13917    >,
13918    pub io_create_watch: ::std::option::Option<
13919        unsafe extern "C" fn(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource,
13920    >,
13921    pub io_free: ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel)>,
13922    pub io_set_flags: ::std::option::Option<
13923        unsafe extern "C" fn(
13924            channel: *mut GIOChannel,
13925            flags: GIOFlags,
13926            err: *mut *mut GError,
13927        ) -> GIOStatus,
13928    >,
13929    pub io_get_flags:
13930        ::std::option::Option<unsafe extern "C" fn(channel: *mut GIOChannel) -> GIOFlags>,
13931}
13932#[test]
13933fn bindgen_test_layout__GIOFuncs() {
13934    const UNINIT: ::std::mem::MaybeUninit<_GIOFuncs> = ::std::mem::MaybeUninit::uninit();
13935    let ptr = UNINIT.as_ptr();
13936    assert_eq!(
13937        ::std::mem::size_of::<_GIOFuncs>(),
13938        64usize,
13939        concat!("Size of: ", stringify!(_GIOFuncs))
13940    );
13941    assert_eq!(
13942        ::std::mem::align_of::<_GIOFuncs>(),
13943        8usize,
13944        concat!("Alignment of ", stringify!(_GIOFuncs))
13945    );
13946    assert_eq!(
13947        unsafe { ::std::ptr::addr_of!((*ptr).io_read) as usize - ptr as usize },
13948        0usize,
13949        concat!(
13950            "Offset of field: ",
13951            stringify!(_GIOFuncs),
13952            "::",
13953            stringify!(io_read)
13954        )
13955    );
13956    assert_eq!(
13957        unsafe { ::std::ptr::addr_of!((*ptr).io_write) as usize - ptr as usize },
13958        8usize,
13959        concat!(
13960            "Offset of field: ",
13961            stringify!(_GIOFuncs),
13962            "::",
13963            stringify!(io_write)
13964        )
13965    );
13966    assert_eq!(
13967        unsafe { ::std::ptr::addr_of!((*ptr).io_seek) as usize - ptr as usize },
13968        16usize,
13969        concat!(
13970            "Offset of field: ",
13971            stringify!(_GIOFuncs),
13972            "::",
13973            stringify!(io_seek)
13974        )
13975    );
13976    assert_eq!(
13977        unsafe { ::std::ptr::addr_of!((*ptr).io_close) as usize - ptr as usize },
13978        24usize,
13979        concat!(
13980            "Offset of field: ",
13981            stringify!(_GIOFuncs),
13982            "::",
13983            stringify!(io_close)
13984        )
13985    );
13986    assert_eq!(
13987        unsafe { ::std::ptr::addr_of!((*ptr).io_create_watch) as usize - ptr as usize },
13988        32usize,
13989        concat!(
13990            "Offset of field: ",
13991            stringify!(_GIOFuncs),
13992            "::",
13993            stringify!(io_create_watch)
13994        )
13995    );
13996    assert_eq!(
13997        unsafe { ::std::ptr::addr_of!((*ptr).io_free) as usize - ptr as usize },
13998        40usize,
13999        concat!(
14000            "Offset of field: ",
14001            stringify!(_GIOFuncs),
14002            "::",
14003            stringify!(io_free)
14004        )
14005    );
14006    assert_eq!(
14007        unsafe { ::std::ptr::addr_of!((*ptr).io_set_flags) as usize - ptr as usize },
14008        48usize,
14009        concat!(
14010            "Offset of field: ",
14011            stringify!(_GIOFuncs),
14012            "::",
14013            stringify!(io_set_flags)
14014        )
14015    );
14016    assert_eq!(
14017        unsafe { ::std::ptr::addr_of!((*ptr).io_get_flags) as usize - ptr as usize },
14018        56usize,
14019        concat!(
14020            "Offset of field: ",
14021            stringify!(_GIOFuncs),
14022            "::",
14023            stringify!(io_get_flags)
14024        )
14025    );
14026}
14027extern "C" {
14028    pub fn g_io_channel_init(channel: *mut GIOChannel);
14029}
14030extern "C" {
14031    pub fn g_io_channel_ref(channel: *mut GIOChannel) -> *mut GIOChannel;
14032}
14033extern "C" {
14034    pub fn g_io_channel_unref(channel: *mut GIOChannel);
14035}
14036extern "C" {
14037    pub fn g_io_channel_read(
14038        channel: *mut GIOChannel,
14039        buf: *mut gchar,
14040        count: gsize,
14041        bytes_read: *mut gsize,
14042    ) -> GIOError;
14043}
14044extern "C" {
14045    pub fn g_io_channel_write(
14046        channel: *mut GIOChannel,
14047        buf: *const gchar,
14048        count: gsize,
14049        bytes_written: *mut gsize,
14050    ) -> GIOError;
14051}
14052extern "C" {
14053    pub fn g_io_channel_seek(
14054        channel: *mut GIOChannel,
14055        offset: gint64,
14056        type_: GSeekType,
14057    ) -> GIOError;
14058}
14059extern "C" {
14060    pub fn g_io_channel_close(channel: *mut GIOChannel);
14061}
14062extern "C" {
14063    pub fn g_io_channel_shutdown(
14064        channel: *mut GIOChannel,
14065        flush: gboolean,
14066        err: *mut *mut GError,
14067    ) -> GIOStatus;
14068}
14069extern "C" {
14070    pub fn g_io_add_watch_full(
14071        channel: *mut GIOChannel,
14072        priority: gint,
14073        condition: GIOCondition,
14074        func: GIOFunc,
14075        user_data: gpointer,
14076        notify: GDestroyNotify,
14077    ) -> guint;
14078}
14079extern "C" {
14080    pub fn g_io_create_watch(channel: *mut GIOChannel, condition: GIOCondition) -> *mut GSource;
14081}
14082extern "C" {
14083    pub fn g_io_add_watch(
14084        channel: *mut GIOChannel,
14085        condition: GIOCondition,
14086        func: GIOFunc,
14087        user_data: gpointer,
14088    ) -> guint;
14089}
14090extern "C" {
14091    pub fn g_io_channel_set_buffer_size(channel: *mut GIOChannel, size: gsize);
14092}
14093extern "C" {
14094    pub fn g_io_channel_get_buffer_size(channel: *mut GIOChannel) -> gsize;
14095}
14096extern "C" {
14097    pub fn g_io_channel_get_buffer_condition(channel: *mut GIOChannel) -> GIOCondition;
14098}
14099extern "C" {
14100    pub fn g_io_channel_set_flags(
14101        channel: *mut GIOChannel,
14102        flags: GIOFlags,
14103        error: *mut *mut GError,
14104    ) -> GIOStatus;
14105}
14106extern "C" {
14107    pub fn g_io_channel_get_flags(channel: *mut GIOChannel) -> GIOFlags;
14108}
14109extern "C" {
14110    pub fn g_io_channel_set_line_term(
14111        channel: *mut GIOChannel,
14112        line_term: *const gchar,
14113        length: gint,
14114    );
14115}
14116extern "C" {
14117    pub fn g_io_channel_get_line_term(channel: *mut GIOChannel, length: *mut gint) -> *const gchar;
14118}
14119extern "C" {
14120    pub fn g_io_channel_set_buffered(channel: *mut GIOChannel, buffered: gboolean);
14121}
14122extern "C" {
14123    pub fn g_io_channel_get_buffered(channel: *mut GIOChannel) -> gboolean;
14124}
14125extern "C" {
14126    pub fn g_io_channel_set_encoding(
14127        channel: *mut GIOChannel,
14128        encoding: *const gchar,
14129        error: *mut *mut GError,
14130    ) -> GIOStatus;
14131}
14132extern "C" {
14133    pub fn g_io_channel_get_encoding(channel: *mut GIOChannel) -> *const gchar;
14134}
14135extern "C" {
14136    pub fn g_io_channel_set_close_on_unref(channel: *mut GIOChannel, do_close: gboolean);
14137}
14138extern "C" {
14139    pub fn g_io_channel_get_close_on_unref(channel: *mut GIOChannel) -> gboolean;
14140}
14141extern "C" {
14142    pub fn g_io_channel_flush(channel: *mut GIOChannel, error: *mut *mut GError) -> GIOStatus;
14143}
14144extern "C" {
14145    pub fn g_io_channel_read_line(
14146        channel: *mut GIOChannel,
14147        str_return: *mut *mut gchar,
14148        length: *mut gsize,
14149        terminator_pos: *mut gsize,
14150        error: *mut *mut GError,
14151    ) -> GIOStatus;
14152}
14153extern "C" {
14154    pub fn g_io_channel_read_line_string(
14155        channel: *mut GIOChannel,
14156        buffer: *mut GString,
14157        terminator_pos: *mut gsize,
14158        error: *mut *mut GError,
14159    ) -> GIOStatus;
14160}
14161extern "C" {
14162    pub fn g_io_channel_read_to_end(
14163        channel: *mut GIOChannel,
14164        str_return: *mut *mut gchar,
14165        length: *mut gsize,
14166        error: *mut *mut GError,
14167    ) -> GIOStatus;
14168}
14169extern "C" {
14170    pub fn g_io_channel_read_chars(
14171        channel: *mut GIOChannel,
14172        buf: *mut gchar,
14173        count: gsize,
14174        bytes_read: *mut gsize,
14175        error: *mut *mut GError,
14176    ) -> GIOStatus;
14177}
14178extern "C" {
14179    pub fn g_io_channel_read_unichar(
14180        channel: *mut GIOChannel,
14181        thechar: *mut gunichar,
14182        error: *mut *mut GError,
14183    ) -> GIOStatus;
14184}
14185extern "C" {
14186    pub fn g_io_channel_write_chars(
14187        channel: *mut GIOChannel,
14188        buf: *const gchar,
14189        count: gssize,
14190        bytes_written: *mut gsize,
14191        error: *mut *mut GError,
14192    ) -> GIOStatus;
14193}
14194extern "C" {
14195    pub fn g_io_channel_write_unichar(
14196        channel: *mut GIOChannel,
14197        thechar: gunichar,
14198        error: *mut *mut GError,
14199    ) -> GIOStatus;
14200}
14201extern "C" {
14202    pub fn g_io_channel_seek_position(
14203        channel: *mut GIOChannel,
14204        offset: gint64,
14205        type_: GSeekType,
14206        error: *mut *mut GError,
14207    ) -> GIOStatus;
14208}
14209extern "C" {
14210    pub fn g_io_channel_new_file(
14211        filename: *const gchar,
14212        mode: *const gchar,
14213        error: *mut *mut GError,
14214    ) -> *mut GIOChannel;
14215}
14216extern "C" {
14217    pub fn g_io_channel_error_quark() -> GQuark;
14218}
14219extern "C" {
14220    pub fn g_io_channel_error_from_errno(en: gint) -> GIOChannelError;
14221}
14222extern "C" {
14223    pub fn g_io_channel_unix_new(fd: ::std::os::raw::c_int) -> *mut GIOChannel;
14224}
14225extern "C" {
14226    pub fn g_io_channel_unix_get_fd(channel: *mut GIOChannel) -> gint;
14227}
14228extern "C" {
14229    pub static mut g_io_watch_funcs: GSourceFuncs;
14230}
14231pub const GKeyFileError_G_KEY_FILE_ERROR_UNKNOWN_ENCODING: GKeyFileError = 0;
14232pub const GKeyFileError_G_KEY_FILE_ERROR_PARSE: GKeyFileError = 1;
14233pub const GKeyFileError_G_KEY_FILE_ERROR_NOT_FOUND: GKeyFileError = 2;
14234pub const GKeyFileError_G_KEY_FILE_ERROR_KEY_NOT_FOUND: GKeyFileError = 3;
14235pub const GKeyFileError_G_KEY_FILE_ERROR_GROUP_NOT_FOUND: GKeyFileError = 4;
14236pub const GKeyFileError_G_KEY_FILE_ERROR_INVALID_VALUE: GKeyFileError = 5;
14237pub type GKeyFileError = ::std::os::raw::c_uint;
14238extern "C" {
14239    pub fn g_key_file_error_quark() -> GQuark;
14240}
14241#[repr(C)]
14242#[derive(Debug, Copy, Clone)]
14243pub struct _GKeyFile {
14244    _unused: [u8; 0],
14245}
14246pub type GKeyFile = _GKeyFile;
14247pub const GKeyFileFlags_G_KEY_FILE_NONE: GKeyFileFlags = 0;
14248pub const GKeyFileFlags_G_KEY_FILE_KEEP_COMMENTS: GKeyFileFlags = 1;
14249pub const GKeyFileFlags_G_KEY_FILE_KEEP_TRANSLATIONS: GKeyFileFlags = 2;
14250pub type GKeyFileFlags = ::std::os::raw::c_uint;
14251extern "C" {
14252    pub fn g_key_file_new() -> *mut GKeyFile;
14253}
14254extern "C" {
14255    pub fn g_key_file_ref(key_file: *mut GKeyFile) -> *mut GKeyFile;
14256}
14257extern "C" {
14258    pub fn g_key_file_unref(key_file: *mut GKeyFile);
14259}
14260extern "C" {
14261    pub fn g_key_file_free(key_file: *mut GKeyFile);
14262}
14263extern "C" {
14264    pub fn g_key_file_set_list_separator(key_file: *mut GKeyFile, separator: gchar);
14265}
14266extern "C" {
14267    pub fn g_key_file_load_from_file(
14268        key_file: *mut GKeyFile,
14269        file: *const gchar,
14270        flags: GKeyFileFlags,
14271        error: *mut *mut GError,
14272    ) -> gboolean;
14273}
14274extern "C" {
14275    pub fn g_key_file_load_from_data(
14276        key_file: *mut GKeyFile,
14277        data: *const gchar,
14278        length: gsize,
14279        flags: GKeyFileFlags,
14280        error: *mut *mut GError,
14281    ) -> gboolean;
14282}
14283extern "C" {
14284    pub fn g_key_file_load_from_bytes(
14285        key_file: *mut GKeyFile,
14286        bytes: *mut GBytes,
14287        flags: GKeyFileFlags,
14288        error: *mut *mut GError,
14289    ) -> gboolean;
14290}
14291extern "C" {
14292    pub fn g_key_file_load_from_dirs(
14293        key_file: *mut GKeyFile,
14294        file: *const gchar,
14295        search_dirs: *mut *const gchar,
14296        full_path: *mut *mut gchar,
14297        flags: GKeyFileFlags,
14298        error: *mut *mut GError,
14299    ) -> gboolean;
14300}
14301extern "C" {
14302    pub fn g_key_file_load_from_data_dirs(
14303        key_file: *mut GKeyFile,
14304        file: *const gchar,
14305        full_path: *mut *mut gchar,
14306        flags: GKeyFileFlags,
14307        error: *mut *mut GError,
14308    ) -> gboolean;
14309}
14310extern "C" {
14311    pub fn g_key_file_to_data(
14312        key_file: *mut GKeyFile,
14313        length: *mut gsize,
14314        error: *mut *mut GError,
14315    ) -> *mut gchar;
14316}
14317extern "C" {
14318    pub fn g_key_file_save_to_file(
14319        key_file: *mut GKeyFile,
14320        filename: *const gchar,
14321        error: *mut *mut GError,
14322    ) -> gboolean;
14323}
14324extern "C" {
14325    pub fn g_key_file_get_start_group(key_file: *mut GKeyFile) -> *mut gchar;
14326}
14327extern "C" {
14328    pub fn g_key_file_get_groups(key_file: *mut GKeyFile, length: *mut gsize) -> *mut *mut gchar;
14329}
14330extern "C" {
14331    pub fn g_key_file_get_keys(
14332        key_file: *mut GKeyFile,
14333        group_name: *const gchar,
14334        length: *mut gsize,
14335        error: *mut *mut GError,
14336    ) -> *mut *mut gchar;
14337}
14338extern "C" {
14339    pub fn g_key_file_has_group(key_file: *mut GKeyFile, group_name: *const gchar) -> gboolean;
14340}
14341extern "C" {
14342    pub fn g_key_file_has_key(
14343        key_file: *mut GKeyFile,
14344        group_name: *const gchar,
14345        key: *const gchar,
14346        error: *mut *mut GError,
14347    ) -> gboolean;
14348}
14349extern "C" {
14350    pub fn g_key_file_get_value(
14351        key_file: *mut GKeyFile,
14352        group_name: *const gchar,
14353        key: *const gchar,
14354        error: *mut *mut GError,
14355    ) -> *mut gchar;
14356}
14357extern "C" {
14358    pub fn g_key_file_set_value(
14359        key_file: *mut GKeyFile,
14360        group_name: *const gchar,
14361        key: *const gchar,
14362        value: *const gchar,
14363    );
14364}
14365extern "C" {
14366    pub fn g_key_file_get_string(
14367        key_file: *mut GKeyFile,
14368        group_name: *const gchar,
14369        key: *const gchar,
14370        error: *mut *mut GError,
14371    ) -> *mut gchar;
14372}
14373extern "C" {
14374    pub fn g_key_file_set_string(
14375        key_file: *mut GKeyFile,
14376        group_name: *const gchar,
14377        key: *const gchar,
14378        string: *const gchar,
14379    );
14380}
14381extern "C" {
14382    pub fn g_key_file_get_locale_string(
14383        key_file: *mut GKeyFile,
14384        group_name: *const gchar,
14385        key: *const gchar,
14386        locale: *const gchar,
14387        error: *mut *mut GError,
14388    ) -> *mut gchar;
14389}
14390extern "C" {
14391    pub fn g_key_file_get_locale_for_key(
14392        key_file: *mut GKeyFile,
14393        group_name: *const gchar,
14394        key: *const gchar,
14395        locale: *const gchar,
14396    ) -> *mut gchar;
14397}
14398extern "C" {
14399    pub fn g_key_file_set_locale_string(
14400        key_file: *mut GKeyFile,
14401        group_name: *const gchar,
14402        key: *const gchar,
14403        locale: *const gchar,
14404        string: *const gchar,
14405    );
14406}
14407extern "C" {
14408    pub fn g_key_file_get_boolean(
14409        key_file: *mut GKeyFile,
14410        group_name: *const gchar,
14411        key: *const gchar,
14412        error: *mut *mut GError,
14413    ) -> gboolean;
14414}
14415extern "C" {
14416    pub fn g_key_file_set_boolean(
14417        key_file: *mut GKeyFile,
14418        group_name: *const gchar,
14419        key: *const gchar,
14420        value: gboolean,
14421    );
14422}
14423extern "C" {
14424    pub fn g_key_file_get_integer(
14425        key_file: *mut GKeyFile,
14426        group_name: *const gchar,
14427        key: *const gchar,
14428        error: *mut *mut GError,
14429    ) -> gint;
14430}
14431extern "C" {
14432    pub fn g_key_file_set_integer(
14433        key_file: *mut GKeyFile,
14434        group_name: *const gchar,
14435        key: *const gchar,
14436        value: gint,
14437    );
14438}
14439extern "C" {
14440    pub fn g_key_file_get_int64(
14441        key_file: *mut GKeyFile,
14442        group_name: *const gchar,
14443        key: *const gchar,
14444        error: *mut *mut GError,
14445    ) -> gint64;
14446}
14447extern "C" {
14448    pub fn g_key_file_set_int64(
14449        key_file: *mut GKeyFile,
14450        group_name: *const gchar,
14451        key: *const gchar,
14452        value: gint64,
14453    );
14454}
14455extern "C" {
14456    pub fn g_key_file_get_uint64(
14457        key_file: *mut GKeyFile,
14458        group_name: *const gchar,
14459        key: *const gchar,
14460        error: *mut *mut GError,
14461    ) -> guint64;
14462}
14463extern "C" {
14464    pub fn g_key_file_set_uint64(
14465        key_file: *mut GKeyFile,
14466        group_name: *const gchar,
14467        key: *const gchar,
14468        value: guint64,
14469    );
14470}
14471extern "C" {
14472    pub fn g_key_file_get_double(
14473        key_file: *mut GKeyFile,
14474        group_name: *const gchar,
14475        key: *const gchar,
14476        error: *mut *mut GError,
14477    ) -> gdouble;
14478}
14479extern "C" {
14480    pub fn g_key_file_set_double(
14481        key_file: *mut GKeyFile,
14482        group_name: *const gchar,
14483        key: *const gchar,
14484        value: gdouble,
14485    );
14486}
14487extern "C" {
14488    pub fn g_key_file_get_string_list(
14489        key_file: *mut GKeyFile,
14490        group_name: *const gchar,
14491        key: *const gchar,
14492        length: *mut gsize,
14493        error: *mut *mut GError,
14494    ) -> *mut *mut gchar;
14495}
14496extern "C" {
14497    pub fn g_key_file_set_string_list(
14498        key_file: *mut GKeyFile,
14499        group_name: *const gchar,
14500        key: *const gchar,
14501        list: *const *const gchar,
14502        length: gsize,
14503    );
14504}
14505extern "C" {
14506    pub fn g_key_file_get_locale_string_list(
14507        key_file: *mut GKeyFile,
14508        group_name: *const gchar,
14509        key: *const gchar,
14510        locale: *const gchar,
14511        length: *mut gsize,
14512        error: *mut *mut GError,
14513    ) -> *mut *mut gchar;
14514}
14515extern "C" {
14516    pub fn g_key_file_set_locale_string_list(
14517        key_file: *mut GKeyFile,
14518        group_name: *const gchar,
14519        key: *const gchar,
14520        locale: *const gchar,
14521        list: *const *const gchar,
14522        length: gsize,
14523    );
14524}
14525extern "C" {
14526    pub fn g_key_file_get_boolean_list(
14527        key_file: *mut GKeyFile,
14528        group_name: *const gchar,
14529        key: *const gchar,
14530        length: *mut gsize,
14531        error: *mut *mut GError,
14532    ) -> *mut gboolean;
14533}
14534extern "C" {
14535    pub fn g_key_file_set_boolean_list(
14536        key_file: *mut GKeyFile,
14537        group_name: *const gchar,
14538        key: *const gchar,
14539        list: *mut gboolean,
14540        length: gsize,
14541    );
14542}
14543extern "C" {
14544    pub fn g_key_file_get_integer_list(
14545        key_file: *mut GKeyFile,
14546        group_name: *const gchar,
14547        key: *const gchar,
14548        length: *mut gsize,
14549        error: *mut *mut GError,
14550    ) -> *mut gint;
14551}
14552extern "C" {
14553    pub fn g_key_file_set_double_list(
14554        key_file: *mut GKeyFile,
14555        group_name: *const gchar,
14556        key: *const gchar,
14557        list: *mut gdouble,
14558        length: gsize,
14559    );
14560}
14561extern "C" {
14562    pub fn g_key_file_get_double_list(
14563        key_file: *mut GKeyFile,
14564        group_name: *const gchar,
14565        key: *const gchar,
14566        length: *mut gsize,
14567        error: *mut *mut GError,
14568    ) -> *mut gdouble;
14569}
14570extern "C" {
14571    pub fn g_key_file_set_integer_list(
14572        key_file: *mut GKeyFile,
14573        group_name: *const gchar,
14574        key: *const gchar,
14575        list: *mut gint,
14576        length: gsize,
14577    );
14578}
14579extern "C" {
14580    pub fn g_key_file_set_comment(
14581        key_file: *mut GKeyFile,
14582        group_name: *const gchar,
14583        key: *const gchar,
14584        comment: *const gchar,
14585        error: *mut *mut GError,
14586    ) -> gboolean;
14587}
14588extern "C" {
14589    pub fn g_key_file_get_comment(
14590        key_file: *mut GKeyFile,
14591        group_name: *const gchar,
14592        key: *const gchar,
14593        error: *mut *mut GError,
14594    ) -> *mut gchar;
14595}
14596extern "C" {
14597    pub fn g_key_file_remove_comment(
14598        key_file: *mut GKeyFile,
14599        group_name: *const gchar,
14600        key: *const gchar,
14601        error: *mut *mut GError,
14602    ) -> gboolean;
14603}
14604extern "C" {
14605    pub fn g_key_file_remove_key(
14606        key_file: *mut GKeyFile,
14607        group_name: *const gchar,
14608        key: *const gchar,
14609        error: *mut *mut GError,
14610    ) -> gboolean;
14611}
14612extern "C" {
14613    pub fn g_key_file_remove_group(
14614        key_file: *mut GKeyFile,
14615        group_name: *const gchar,
14616        error: *mut *mut GError,
14617    ) -> gboolean;
14618}
14619#[repr(C)]
14620#[derive(Debug, Copy, Clone)]
14621pub struct _GMappedFile {
14622    _unused: [u8; 0],
14623}
14624pub type GMappedFile = _GMappedFile;
14625extern "C" {
14626    pub fn g_mapped_file_new(
14627        filename: *const gchar,
14628        writable: gboolean,
14629        error: *mut *mut GError,
14630    ) -> *mut GMappedFile;
14631}
14632extern "C" {
14633    pub fn g_mapped_file_new_from_fd(
14634        fd: gint,
14635        writable: gboolean,
14636        error: *mut *mut GError,
14637    ) -> *mut GMappedFile;
14638}
14639extern "C" {
14640    pub fn g_mapped_file_get_length(file: *mut GMappedFile) -> gsize;
14641}
14642extern "C" {
14643    pub fn g_mapped_file_get_contents(file: *mut GMappedFile) -> *mut gchar;
14644}
14645extern "C" {
14646    pub fn g_mapped_file_get_bytes(file: *mut GMappedFile) -> *mut GBytes;
14647}
14648extern "C" {
14649    pub fn g_mapped_file_ref(file: *mut GMappedFile) -> *mut GMappedFile;
14650}
14651extern "C" {
14652    pub fn g_mapped_file_unref(file: *mut GMappedFile);
14653}
14654extern "C" {
14655    pub fn g_mapped_file_free(file: *mut GMappedFile);
14656}
14657pub const GMarkupError_G_MARKUP_ERROR_BAD_UTF8: GMarkupError = 0;
14658pub const GMarkupError_G_MARKUP_ERROR_EMPTY: GMarkupError = 1;
14659pub const GMarkupError_G_MARKUP_ERROR_PARSE: GMarkupError = 2;
14660pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ELEMENT: GMarkupError = 3;
14661pub const GMarkupError_G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: GMarkupError = 4;
14662pub const GMarkupError_G_MARKUP_ERROR_INVALID_CONTENT: GMarkupError = 5;
14663pub const GMarkupError_G_MARKUP_ERROR_MISSING_ATTRIBUTE: GMarkupError = 6;
14664pub type GMarkupError = ::std::os::raw::c_uint;
14665extern "C" {
14666    pub fn g_markup_error_quark() -> GQuark;
14667}
14668pub const GMarkupParseFlags_G_MARKUP_DEFAULT_FLAGS: GMarkupParseFlags = 0;
14669pub const GMarkupParseFlags_G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: GMarkupParseFlags = 1;
14670pub const GMarkupParseFlags_G_MARKUP_TREAT_CDATA_AS_TEXT: GMarkupParseFlags = 2;
14671pub const GMarkupParseFlags_G_MARKUP_PREFIX_ERROR_POSITION: GMarkupParseFlags = 4;
14672pub const GMarkupParseFlags_G_MARKUP_IGNORE_QUALIFIED: GMarkupParseFlags = 8;
14673pub type GMarkupParseFlags = ::std::os::raw::c_uint;
14674#[repr(C)]
14675#[derive(Debug, Copy, Clone)]
14676pub struct _GMarkupParseContext {
14677    _unused: [u8; 0],
14678}
14679pub type GMarkupParseContext = _GMarkupParseContext;
14680pub type GMarkupParser = _GMarkupParser;
14681#[repr(C)]
14682#[derive(Debug, Copy, Clone)]
14683pub struct _GMarkupParser {
14684    pub start_element: ::std::option::Option<
14685        unsafe extern "C" fn(
14686            context: *mut GMarkupParseContext,
14687            element_name: *const gchar,
14688            attribute_names: *mut *const gchar,
14689            attribute_values: *mut *const gchar,
14690            user_data: gpointer,
14691            error: *mut *mut GError,
14692        ),
14693    >,
14694    pub end_element: ::std::option::Option<
14695        unsafe extern "C" fn(
14696            context: *mut GMarkupParseContext,
14697            element_name: *const gchar,
14698            user_data: gpointer,
14699            error: *mut *mut GError,
14700        ),
14701    >,
14702    pub text: ::std::option::Option<
14703        unsafe extern "C" fn(
14704            context: *mut GMarkupParseContext,
14705            text: *const gchar,
14706            text_len: gsize,
14707            user_data: gpointer,
14708            error: *mut *mut GError,
14709        ),
14710    >,
14711    pub passthrough: ::std::option::Option<
14712        unsafe extern "C" fn(
14713            context: *mut GMarkupParseContext,
14714            passthrough_text: *const gchar,
14715            text_len: gsize,
14716            user_data: gpointer,
14717            error: *mut *mut GError,
14718        ),
14719    >,
14720    pub error: ::std::option::Option<
14721        unsafe extern "C" fn(
14722            context: *mut GMarkupParseContext,
14723            error: *mut GError,
14724            user_data: gpointer,
14725        ),
14726    >,
14727}
14728#[test]
14729fn bindgen_test_layout__GMarkupParser() {
14730    const UNINIT: ::std::mem::MaybeUninit<_GMarkupParser> = ::std::mem::MaybeUninit::uninit();
14731    let ptr = UNINIT.as_ptr();
14732    assert_eq!(
14733        ::std::mem::size_of::<_GMarkupParser>(),
14734        40usize,
14735        concat!("Size of: ", stringify!(_GMarkupParser))
14736    );
14737    assert_eq!(
14738        ::std::mem::align_of::<_GMarkupParser>(),
14739        8usize,
14740        concat!("Alignment of ", stringify!(_GMarkupParser))
14741    );
14742    assert_eq!(
14743        unsafe { ::std::ptr::addr_of!((*ptr).start_element) as usize - ptr as usize },
14744        0usize,
14745        concat!(
14746            "Offset of field: ",
14747            stringify!(_GMarkupParser),
14748            "::",
14749            stringify!(start_element)
14750        )
14751    );
14752    assert_eq!(
14753        unsafe { ::std::ptr::addr_of!((*ptr).end_element) as usize - ptr as usize },
14754        8usize,
14755        concat!(
14756            "Offset of field: ",
14757            stringify!(_GMarkupParser),
14758            "::",
14759            stringify!(end_element)
14760        )
14761    );
14762    assert_eq!(
14763        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
14764        16usize,
14765        concat!(
14766            "Offset of field: ",
14767            stringify!(_GMarkupParser),
14768            "::",
14769            stringify!(text)
14770        )
14771    );
14772    assert_eq!(
14773        unsafe { ::std::ptr::addr_of!((*ptr).passthrough) as usize - ptr as usize },
14774        24usize,
14775        concat!(
14776            "Offset of field: ",
14777            stringify!(_GMarkupParser),
14778            "::",
14779            stringify!(passthrough)
14780        )
14781    );
14782    assert_eq!(
14783        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
14784        32usize,
14785        concat!(
14786            "Offset of field: ",
14787            stringify!(_GMarkupParser),
14788            "::",
14789            stringify!(error)
14790        )
14791    );
14792}
14793extern "C" {
14794    pub fn g_markup_parse_context_new(
14795        parser: *const GMarkupParser,
14796        flags: GMarkupParseFlags,
14797        user_data: gpointer,
14798        user_data_dnotify: GDestroyNotify,
14799    ) -> *mut GMarkupParseContext;
14800}
14801extern "C" {
14802    pub fn g_markup_parse_context_ref(
14803        context: *mut GMarkupParseContext,
14804    ) -> *mut GMarkupParseContext;
14805}
14806extern "C" {
14807    pub fn g_markup_parse_context_unref(context: *mut GMarkupParseContext);
14808}
14809extern "C" {
14810    pub fn g_markup_parse_context_free(context: *mut GMarkupParseContext);
14811}
14812extern "C" {
14813    pub fn g_markup_parse_context_parse(
14814        context: *mut GMarkupParseContext,
14815        text: *const gchar,
14816        text_len: gssize,
14817        error: *mut *mut GError,
14818    ) -> gboolean;
14819}
14820extern "C" {
14821    pub fn g_markup_parse_context_push(
14822        context: *mut GMarkupParseContext,
14823        parser: *const GMarkupParser,
14824        user_data: gpointer,
14825    );
14826}
14827extern "C" {
14828    pub fn g_markup_parse_context_pop(context: *mut GMarkupParseContext) -> gpointer;
14829}
14830extern "C" {
14831    pub fn g_markup_parse_context_end_parse(
14832        context: *mut GMarkupParseContext,
14833        error: *mut *mut GError,
14834    ) -> gboolean;
14835}
14836extern "C" {
14837    pub fn g_markup_parse_context_get_element(context: *mut GMarkupParseContext) -> *const gchar;
14838}
14839extern "C" {
14840    pub fn g_markup_parse_context_get_element_stack(
14841        context: *mut GMarkupParseContext,
14842    ) -> *const GSList;
14843}
14844extern "C" {
14845    pub fn g_markup_parse_context_get_position(
14846        context: *mut GMarkupParseContext,
14847        line_number: *mut gint,
14848        char_number: *mut gint,
14849    );
14850}
14851extern "C" {
14852    pub fn g_markup_parse_context_get_user_data(context: *mut GMarkupParseContext) -> gpointer;
14853}
14854extern "C" {
14855    pub fn g_markup_escape_text(text: *const gchar, length: gssize) -> *mut gchar;
14856}
14857extern "C" {
14858    pub fn g_markup_printf_escaped(format: *const ::std::os::raw::c_char, ...) -> *mut gchar;
14859}
14860extern "C" {
14861    pub fn g_markup_vprintf_escaped(
14862        format: *const ::std::os::raw::c_char,
14863        args: *mut __va_list_tag,
14864    ) -> *mut gchar;
14865}
14866pub const GMarkupCollectType_G_MARKUP_COLLECT_INVALID: GMarkupCollectType = 0;
14867pub const GMarkupCollectType_G_MARKUP_COLLECT_STRING: GMarkupCollectType = 1;
14868pub const GMarkupCollectType_G_MARKUP_COLLECT_STRDUP: GMarkupCollectType = 2;
14869pub const GMarkupCollectType_G_MARKUP_COLLECT_BOOLEAN: GMarkupCollectType = 3;
14870pub const GMarkupCollectType_G_MARKUP_COLLECT_TRISTATE: GMarkupCollectType = 4;
14871pub const GMarkupCollectType_G_MARKUP_COLLECT_OPTIONAL: GMarkupCollectType = 65536;
14872pub type GMarkupCollectType = ::std::os::raw::c_uint;
14873extern "C" {
14874    pub fn g_markup_collect_attributes(
14875        element_name: *const gchar,
14876        attribute_names: *mut *const gchar,
14877        attribute_values: *mut *const gchar,
14878        error: *mut *mut GError,
14879        first_type: GMarkupCollectType,
14880        first_attr: *const gchar,
14881        ...
14882    ) -> gboolean;
14883}
14884#[repr(C)]
14885#[derive(Debug, Copy, Clone)]
14886pub struct _GVariantType {
14887    _unused: [u8; 0],
14888}
14889pub type GVariantType = _GVariantType;
14890extern "C" {
14891    pub fn g_variant_type_string_is_valid(type_string: *const gchar) -> gboolean;
14892}
14893extern "C" {
14894    pub fn g_variant_type_string_scan(
14895        string: *const gchar,
14896        limit: *const gchar,
14897        endptr: *mut *const gchar,
14898    ) -> gboolean;
14899}
14900extern "C" {
14901    pub fn g_variant_type_free(type_: *mut GVariantType);
14902}
14903extern "C" {
14904    pub fn g_variant_type_copy(type_: *const GVariantType) -> *mut GVariantType;
14905}
14906extern "C" {
14907    pub fn g_variant_type_new(type_string: *const gchar) -> *mut GVariantType;
14908}
14909extern "C" {
14910    pub fn g_variant_type_get_string_length(type_: *const GVariantType) -> gsize;
14911}
14912extern "C" {
14913    pub fn g_variant_type_peek_string(type_: *const GVariantType) -> *const gchar;
14914}
14915extern "C" {
14916    pub fn g_variant_type_dup_string(type_: *const GVariantType) -> *mut gchar;
14917}
14918extern "C" {
14919    pub fn g_variant_type_is_definite(type_: *const GVariantType) -> gboolean;
14920}
14921extern "C" {
14922    pub fn g_variant_type_is_container(type_: *const GVariantType) -> gboolean;
14923}
14924extern "C" {
14925    pub fn g_variant_type_is_basic(type_: *const GVariantType) -> gboolean;
14926}
14927extern "C" {
14928    pub fn g_variant_type_is_maybe(type_: *const GVariantType) -> gboolean;
14929}
14930extern "C" {
14931    pub fn g_variant_type_is_array(type_: *const GVariantType) -> gboolean;
14932}
14933extern "C" {
14934    pub fn g_variant_type_is_tuple(type_: *const GVariantType) -> gboolean;
14935}
14936extern "C" {
14937    pub fn g_variant_type_is_dict_entry(type_: *const GVariantType) -> gboolean;
14938}
14939extern "C" {
14940    pub fn g_variant_type_is_variant(type_: *const GVariantType) -> gboolean;
14941}
14942extern "C" {
14943    pub fn g_variant_type_hash(type_: gconstpointer) -> guint;
14944}
14945extern "C" {
14946    pub fn g_variant_type_equal(type1: gconstpointer, type2: gconstpointer) -> gboolean;
14947}
14948extern "C" {
14949    pub fn g_variant_type_is_subtype_of(
14950        type_: *const GVariantType,
14951        supertype: *const GVariantType,
14952    ) -> gboolean;
14953}
14954extern "C" {
14955    pub fn g_variant_type_element(type_: *const GVariantType) -> *const GVariantType;
14956}
14957extern "C" {
14958    pub fn g_variant_type_first(type_: *const GVariantType) -> *const GVariantType;
14959}
14960extern "C" {
14961    pub fn g_variant_type_next(type_: *const GVariantType) -> *const GVariantType;
14962}
14963extern "C" {
14964    pub fn g_variant_type_n_items(type_: *const GVariantType) -> gsize;
14965}
14966extern "C" {
14967    pub fn g_variant_type_key(type_: *const GVariantType) -> *const GVariantType;
14968}
14969extern "C" {
14970    pub fn g_variant_type_value(type_: *const GVariantType) -> *const GVariantType;
14971}
14972extern "C" {
14973    pub fn g_variant_type_new_array(element: *const GVariantType) -> *mut GVariantType;
14974}
14975extern "C" {
14976    pub fn g_variant_type_new_maybe(element: *const GVariantType) -> *mut GVariantType;
14977}
14978extern "C" {
14979    pub fn g_variant_type_new_tuple(
14980        items: *const *const GVariantType,
14981        length: gint,
14982    ) -> *mut GVariantType;
14983}
14984extern "C" {
14985    pub fn g_variant_type_new_dict_entry(
14986        key: *const GVariantType,
14987        value: *const GVariantType,
14988    ) -> *mut GVariantType;
14989}
14990extern "C" {
14991    pub fn g_variant_type_checked_(arg1: *const gchar) -> *const GVariantType;
14992}
14993extern "C" {
14994    pub fn g_variant_type_string_get_depth_(type_string: *const gchar) -> gsize;
14995}
14996#[repr(C)]
14997#[derive(Debug, Copy, Clone)]
14998pub struct _GVariant {
14999    _unused: [u8; 0],
15000}
15001pub type GVariant = _GVariant;
15002pub const GVariantClass_G_VARIANT_CLASS_BOOLEAN: GVariantClass = 98;
15003pub const GVariantClass_G_VARIANT_CLASS_BYTE: GVariantClass = 121;
15004pub const GVariantClass_G_VARIANT_CLASS_INT16: GVariantClass = 110;
15005pub const GVariantClass_G_VARIANT_CLASS_UINT16: GVariantClass = 113;
15006pub const GVariantClass_G_VARIANT_CLASS_INT32: GVariantClass = 105;
15007pub const GVariantClass_G_VARIANT_CLASS_UINT32: GVariantClass = 117;
15008pub const GVariantClass_G_VARIANT_CLASS_INT64: GVariantClass = 120;
15009pub const GVariantClass_G_VARIANT_CLASS_UINT64: GVariantClass = 116;
15010pub const GVariantClass_G_VARIANT_CLASS_HANDLE: GVariantClass = 104;
15011pub const GVariantClass_G_VARIANT_CLASS_DOUBLE: GVariantClass = 100;
15012pub const GVariantClass_G_VARIANT_CLASS_STRING: GVariantClass = 115;
15013pub const GVariantClass_G_VARIANT_CLASS_OBJECT_PATH: GVariantClass = 111;
15014pub const GVariantClass_G_VARIANT_CLASS_SIGNATURE: GVariantClass = 103;
15015pub const GVariantClass_G_VARIANT_CLASS_VARIANT: GVariantClass = 118;
15016pub const GVariantClass_G_VARIANT_CLASS_MAYBE: GVariantClass = 109;
15017pub const GVariantClass_G_VARIANT_CLASS_ARRAY: GVariantClass = 97;
15018pub const GVariantClass_G_VARIANT_CLASS_TUPLE: GVariantClass = 40;
15019pub const GVariantClass_G_VARIANT_CLASS_DICT_ENTRY: GVariantClass = 123;
15020pub type GVariantClass = ::std::os::raw::c_uint;
15021extern "C" {
15022    pub fn g_variant_unref(value: *mut GVariant);
15023}
15024extern "C" {
15025    pub fn g_variant_ref(value: *mut GVariant) -> *mut GVariant;
15026}
15027extern "C" {
15028    pub fn g_variant_ref_sink(value: *mut GVariant) -> *mut GVariant;
15029}
15030extern "C" {
15031    pub fn g_variant_is_floating(value: *mut GVariant) -> gboolean;
15032}
15033extern "C" {
15034    pub fn g_variant_take_ref(value: *mut GVariant) -> *mut GVariant;
15035}
15036extern "C" {
15037    pub fn g_variant_get_type(value: *mut GVariant) -> *const GVariantType;
15038}
15039extern "C" {
15040    pub fn g_variant_get_type_string(value: *mut GVariant) -> *const gchar;
15041}
15042extern "C" {
15043    pub fn g_variant_is_of_type(value: *mut GVariant, type_: *const GVariantType) -> gboolean;
15044}
15045extern "C" {
15046    pub fn g_variant_is_container(value: *mut GVariant) -> gboolean;
15047}
15048extern "C" {
15049    pub fn g_variant_classify(value: *mut GVariant) -> GVariantClass;
15050}
15051extern "C" {
15052    pub fn g_variant_new_boolean(value: gboolean) -> *mut GVariant;
15053}
15054extern "C" {
15055    pub fn g_variant_new_byte(value: guint8) -> *mut GVariant;
15056}
15057extern "C" {
15058    pub fn g_variant_new_int16(value: gint16) -> *mut GVariant;
15059}
15060extern "C" {
15061    pub fn g_variant_new_uint16(value: guint16) -> *mut GVariant;
15062}
15063extern "C" {
15064    pub fn g_variant_new_int32(value: gint32) -> *mut GVariant;
15065}
15066extern "C" {
15067    pub fn g_variant_new_uint32(value: guint32) -> *mut GVariant;
15068}
15069extern "C" {
15070    pub fn g_variant_new_int64(value: gint64) -> *mut GVariant;
15071}
15072extern "C" {
15073    pub fn g_variant_new_uint64(value: guint64) -> *mut GVariant;
15074}
15075extern "C" {
15076    pub fn g_variant_new_handle(value: gint32) -> *mut GVariant;
15077}
15078extern "C" {
15079    pub fn g_variant_new_double(value: gdouble) -> *mut GVariant;
15080}
15081extern "C" {
15082    pub fn g_variant_new_string(string: *const gchar) -> *mut GVariant;
15083}
15084extern "C" {
15085    pub fn g_variant_new_take_string(string: *mut gchar) -> *mut GVariant;
15086}
15087extern "C" {
15088    pub fn g_variant_new_printf(format_string: *const gchar, ...) -> *mut GVariant;
15089}
15090extern "C" {
15091    pub fn g_variant_new_object_path(object_path: *const gchar) -> *mut GVariant;
15092}
15093extern "C" {
15094    pub fn g_variant_is_object_path(string: *const gchar) -> gboolean;
15095}
15096extern "C" {
15097    pub fn g_variant_new_signature(signature: *const gchar) -> *mut GVariant;
15098}
15099extern "C" {
15100    pub fn g_variant_is_signature(string: *const gchar) -> gboolean;
15101}
15102extern "C" {
15103    pub fn g_variant_new_variant(value: *mut GVariant) -> *mut GVariant;
15104}
15105extern "C" {
15106    pub fn g_variant_new_strv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
15107}
15108extern "C" {
15109    pub fn g_variant_new_objv(strv: *const *const gchar, length: gssize) -> *mut GVariant;
15110}
15111extern "C" {
15112    pub fn g_variant_new_bytestring(string: *const gchar) -> *mut GVariant;
15113}
15114extern "C" {
15115    pub fn g_variant_new_bytestring_array(
15116        strv: *const *const gchar,
15117        length: gssize,
15118    ) -> *mut GVariant;
15119}
15120extern "C" {
15121    pub fn g_variant_new_fixed_array(
15122        element_type: *const GVariantType,
15123        elements: gconstpointer,
15124        n_elements: gsize,
15125        element_size: gsize,
15126    ) -> *mut GVariant;
15127}
15128extern "C" {
15129    pub fn g_variant_get_boolean(value: *mut GVariant) -> gboolean;
15130}
15131extern "C" {
15132    pub fn g_variant_get_byte(value: *mut GVariant) -> guint8;
15133}
15134extern "C" {
15135    pub fn g_variant_get_int16(value: *mut GVariant) -> gint16;
15136}
15137extern "C" {
15138    pub fn g_variant_get_uint16(value: *mut GVariant) -> guint16;
15139}
15140extern "C" {
15141    pub fn g_variant_get_int32(value: *mut GVariant) -> gint32;
15142}
15143extern "C" {
15144    pub fn g_variant_get_uint32(value: *mut GVariant) -> guint32;
15145}
15146extern "C" {
15147    pub fn g_variant_get_int64(value: *mut GVariant) -> gint64;
15148}
15149extern "C" {
15150    pub fn g_variant_get_uint64(value: *mut GVariant) -> guint64;
15151}
15152extern "C" {
15153    pub fn g_variant_get_handle(value: *mut GVariant) -> gint32;
15154}
15155extern "C" {
15156    pub fn g_variant_get_double(value: *mut GVariant) -> gdouble;
15157}
15158extern "C" {
15159    pub fn g_variant_get_variant(value: *mut GVariant) -> *mut GVariant;
15160}
15161extern "C" {
15162    pub fn g_variant_get_string(value: *mut GVariant, length: *mut gsize) -> *const gchar;
15163}
15164extern "C" {
15165    pub fn g_variant_dup_string(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
15166}
15167extern "C" {
15168    pub fn g_variant_get_strv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
15169}
15170extern "C" {
15171    pub fn g_variant_dup_strv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
15172}
15173extern "C" {
15174    pub fn g_variant_get_objv(value: *mut GVariant, length: *mut gsize) -> *mut *const gchar;
15175}
15176extern "C" {
15177    pub fn g_variant_dup_objv(value: *mut GVariant, length: *mut gsize) -> *mut *mut gchar;
15178}
15179extern "C" {
15180    pub fn g_variant_get_bytestring(value: *mut GVariant) -> *const gchar;
15181}
15182extern "C" {
15183    pub fn g_variant_dup_bytestring(value: *mut GVariant, length: *mut gsize) -> *mut gchar;
15184}
15185extern "C" {
15186    pub fn g_variant_get_bytestring_array(
15187        value: *mut GVariant,
15188        length: *mut gsize,
15189    ) -> *mut *const gchar;
15190}
15191extern "C" {
15192    pub fn g_variant_dup_bytestring_array(
15193        value: *mut GVariant,
15194        length: *mut gsize,
15195    ) -> *mut *mut gchar;
15196}
15197extern "C" {
15198    pub fn g_variant_new_maybe(
15199        child_type: *const GVariantType,
15200        child: *mut GVariant,
15201    ) -> *mut GVariant;
15202}
15203extern "C" {
15204    pub fn g_variant_new_array(
15205        child_type: *const GVariantType,
15206        children: *const *mut GVariant,
15207        n_children: gsize,
15208    ) -> *mut GVariant;
15209}
15210extern "C" {
15211    pub fn g_variant_new_tuple(children: *const *mut GVariant, n_children: gsize) -> *mut GVariant;
15212}
15213extern "C" {
15214    pub fn g_variant_new_dict_entry(key: *mut GVariant, value: *mut GVariant) -> *mut GVariant;
15215}
15216extern "C" {
15217    pub fn g_variant_get_maybe(value: *mut GVariant) -> *mut GVariant;
15218}
15219extern "C" {
15220    pub fn g_variant_n_children(value: *mut GVariant) -> gsize;
15221}
15222extern "C" {
15223    pub fn g_variant_get_child(
15224        value: *mut GVariant,
15225        index_: gsize,
15226        format_string: *const gchar,
15227        ...
15228    );
15229}
15230extern "C" {
15231    pub fn g_variant_get_child_value(value: *mut GVariant, index_: gsize) -> *mut GVariant;
15232}
15233extern "C" {
15234    pub fn g_variant_lookup(
15235        dictionary: *mut GVariant,
15236        key: *const gchar,
15237        format_string: *const gchar,
15238        ...
15239    ) -> gboolean;
15240}
15241extern "C" {
15242    pub fn g_variant_lookup_value(
15243        dictionary: *mut GVariant,
15244        key: *const gchar,
15245        expected_type: *const GVariantType,
15246    ) -> *mut GVariant;
15247}
15248extern "C" {
15249    pub fn g_variant_get_fixed_array(
15250        value: *mut GVariant,
15251        n_elements: *mut gsize,
15252        element_size: gsize,
15253    ) -> gconstpointer;
15254}
15255extern "C" {
15256    pub fn g_variant_get_size(value: *mut GVariant) -> gsize;
15257}
15258extern "C" {
15259    pub fn g_variant_get_data(value: *mut GVariant) -> gconstpointer;
15260}
15261extern "C" {
15262    pub fn g_variant_get_data_as_bytes(value: *mut GVariant) -> *mut GBytes;
15263}
15264extern "C" {
15265    pub fn g_variant_store(value: *mut GVariant, data: gpointer);
15266}
15267extern "C" {
15268    pub fn g_variant_print(value: *mut GVariant, type_annotate: gboolean) -> *mut gchar;
15269}
15270extern "C" {
15271    pub fn g_variant_print_string(
15272        value: *mut GVariant,
15273        string: *mut GString,
15274        type_annotate: gboolean,
15275    ) -> *mut GString;
15276}
15277extern "C" {
15278    pub fn g_variant_hash(value: gconstpointer) -> guint;
15279}
15280extern "C" {
15281    pub fn g_variant_equal(one: gconstpointer, two: gconstpointer) -> gboolean;
15282}
15283extern "C" {
15284    pub fn g_variant_get_normal_form(value: *mut GVariant) -> *mut GVariant;
15285}
15286extern "C" {
15287    pub fn g_variant_is_normal_form(value: *mut GVariant) -> gboolean;
15288}
15289extern "C" {
15290    pub fn g_variant_byteswap(value: *mut GVariant) -> *mut GVariant;
15291}
15292extern "C" {
15293    pub fn g_variant_new_from_bytes(
15294        type_: *const GVariantType,
15295        bytes: *mut GBytes,
15296        trusted: gboolean,
15297    ) -> *mut GVariant;
15298}
15299extern "C" {
15300    pub fn g_variant_new_from_data(
15301        type_: *const GVariantType,
15302        data: gconstpointer,
15303        size: gsize,
15304        trusted: gboolean,
15305        notify: GDestroyNotify,
15306        user_data: gpointer,
15307    ) -> *mut GVariant;
15308}
15309pub type GVariantIter = _GVariantIter;
15310#[repr(C)]
15311#[derive(Debug, Copy, Clone)]
15312pub struct _GVariantIter {
15313    pub x: [gsize; 16usize],
15314}
15315#[test]
15316fn bindgen_test_layout__GVariantIter() {
15317    const UNINIT: ::std::mem::MaybeUninit<_GVariantIter> = ::std::mem::MaybeUninit::uninit();
15318    let ptr = UNINIT.as_ptr();
15319    assert_eq!(
15320        ::std::mem::size_of::<_GVariantIter>(),
15321        128usize,
15322        concat!("Size of: ", stringify!(_GVariantIter))
15323    );
15324    assert_eq!(
15325        ::std::mem::align_of::<_GVariantIter>(),
15326        8usize,
15327        concat!("Alignment of ", stringify!(_GVariantIter))
15328    );
15329    assert_eq!(
15330        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
15331        0usize,
15332        concat!(
15333            "Offset of field: ",
15334            stringify!(_GVariantIter),
15335            "::",
15336            stringify!(x)
15337        )
15338    );
15339}
15340extern "C" {
15341    pub fn g_variant_iter_new(value: *mut GVariant) -> *mut GVariantIter;
15342}
15343extern "C" {
15344    pub fn g_variant_iter_init(iter: *mut GVariantIter, value: *mut GVariant) -> gsize;
15345}
15346extern "C" {
15347    pub fn g_variant_iter_copy(iter: *mut GVariantIter) -> *mut GVariantIter;
15348}
15349extern "C" {
15350    pub fn g_variant_iter_n_children(iter: *mut GVariantIter) -> gsize;
15351}
15352extern "C" {
15353    pub fn g_variant_iter_free(iter: *mut GVariantIter);
15354}
15355extern "C" {
15356    pub fn g_variant_iter_next_value(iter: *mut GVariantIter) -> *mut GVariant;
15357}
15358extern "C" {
15359    pub fn g_variant_iter_next(
15360        iter: *mut GVariantIter,
15361        format_string: *const gchar,
15362        ...
15363    ) -> gboolean;
15364}
15365extern "C" {
15366    pub fn g_variant_iter_loop(
15367        iter: *mut GVariantIter,
15368        format_string: *const gchar,
15369        ...
15370    ) -> gboolean;
15371}
15372pub type GVariantBuilder = _GVariantBuilder;
15373#[repr(C)]
15374#[derive(Copy, Clone)]
15375pub struct _GVariantBuilder {
15376    pub u: _GVariantBuilder__bindgen_ty_1,
15377}
15378#[repr(C)]
15379#[derive(Copy, Clone)]
15380pub union _GVariantBuilder__bindgen_ty_1 {
15381    pub s: _GVariantBuilder__bindgen_ty_1__bindgen_ty_1,
15382    pub x: [gsize; 16usize],
15383}
15384#[repr(C)]
15385#[derive(Debug, Copy, Clone)]
15386pub struct _GVariantBuilder__bindgen_ty_1__bindgen_ty_1 {
15387    pub partial_magic: gsize,
15388    pub type_: *const GVariantType,
15389    pub y: [gsize; 14usize],
15390}
15391#[test]
15392fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1__bindgen_ty_1() {
15393    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1> =
15394        ::std::mem::MaybeUninit::uninit();
15395    let ptr = UNINIT.as_ptr();
15396    assert_eq!(
15397        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
15398        128usize,
15399        concat!(
15400            "Size of: ",
15401            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
15402        )
15403    );
15404    assert_eq!(
15405        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1__bindgen_ty_1>(),
15406        8usize,
15407        concat!(
15408            "Alignment of ",
15409            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1)
15410        )
15411    );
15412    assert_eq!(
15413        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
15414        0usize,
15415        concat!(
15416            "Offset of field: ",
15417            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
15418            "::",
15419            stringify!(partial_magic)
15420        )
15421    );
15422    assert_eq!(
15423        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15424        8usize,
15425        concat!(
15426            "Offset of field: ",
15427            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
15428            "::",
15429            stringify!(type_)
15430        )
15431    );
15432    assert_eq!(
15433        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
15434        16usize,
15435        concat!(
15436            "Offset of field: ",
15437            stringify!(_GVariantBuilder__bindgen_ty_1__bindgen_ty_1),
15438            "::",
15439            stringify!(y)
15440        )
15441    );
15442}
15443#[test]
15444fn bindgen_test_layout__GVariantBuilder__bindgen_ty_1() {
15445    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder__bindgen_ty_1> =
15446        ::std::mem::MaybeUninit::uninit();
15447    let ptr = UNINIT.as_ptr();
15448    assert_eq!(
15449        ::std::mem::size_of::<_GVariantBuilder__bindgen_ty_1>(),
15450        128usize,
15451        concat!("Size of: ", stringify!(_GVariantBuilder__bindgen_ty_1))
15452    );
15453    assert_eq!(
15454        ::std::mem::align_of::<_GVariantBuilder__bindgen_ty_1>(),
15455        8usize,
15456        concat!("Alignment of ", stringify!(_GVariantBuilder__bindgen_ty_1))
15457    );
15458    assert_eq!(
15459        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15460        0usize,
15461        concat!(
15462            "Offset of field: ",
15463            stringify!(_GVariantBuilder__bindgen_ty_1),
15464            "::",
15465            stringify!(s)
15466        )
15467    );
15468    assert_eq!(
15469        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
15470        0usize,
15471        concat!(
15472            "Offset of field: ",
15473            stringify!(_GVariantBuilder__bindgen_ty_1),
15474            "::",
15475            stringify!(x)
15476        )
15477    );
15478}
15479#[test]
15480fn bindgen_test_layout__GVariantBuilder() {
15481    const UNINIT: ::std::mem::MaybeUninit<_GVariantBuilder> = ::std::mem::MaybeUninit::uninit();
15482    let ptr = UNINIT.as_ptr();
15483    assert_eq!(
15484        ::std::mem::size_of::<_GVariantBuilder>(),
15485        128usize,
15486        concat!("Size of: ", stringify!(_GVariantBuilder))
15487    );
15488    assert_eq!(
15489        ::std::mem::align_of::<_GVariantBuilder>(),
15490        8usize,
15491        concat!("Alignment of ", stringify!(_GVariantBuilder))
15492    );
15493    assert_eq!(
15494        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
15495        0usize,
15496        concat!(
15497            "Offset of field: ",
15498            stringify!(_GVariantBuilder),
15499            "::",
15500            stringify!(u)
15501        )
15502    );
15503}
15504pub const GVariantParseError_G_VARIANT_PARSE_ERROR_FAILED: GVariantParseError = 0;
15505pub const GVariantParseError_G_VARIANT_PARSE_ERROR_BASIC_TYPE_EXPECTED: GVariantParseError = 1;
15506pub const GVariantParseError_G_VARIANT_PARSE_ERROR_CANNOT_INFER_TYPE: GVariantParseError = 2;
15507pub const GVariantParseError_G_VARIANT_PARSE_ERROR_DEFINITE_TYPE_EXPECTED: GVariantParseError = 3;
15508pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INPUT_NOT_AT_END: GVariantParseError = 4;
15509pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_CHARACTER: GVariantParseError = 5;
15510pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_FORMAT_STRING: GVariantParseError = 6;
15511pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_OBJECT_PATH: GVariantParseError = 7;
15512pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_SIGNATURE: GVariantParseError = 8;
15513pub const GVariantParseError_G_VARIANT_PARSE_ERROR_INVALID_TYPE_STRING: GVariantParseError = 9;
15514pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NO_COMMON_TYPE: GVariantParseError = 10;
15515pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_OUT_OF_RANGE: GVariantParseError = 11;
15516pub const GVariantParseError_G_VARIANT_PARSE_ERROR_NUMBER_TOO_BIG: GVariantParseError = 12;
15517pub const GVariantParseError_G_VARIANT_PARSE_ERROR_TYPE_ERROR: GVariantParseError = 13;
15518pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNEXPECTED_TOKEN: GVariantParseError = 14;
15519pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNKNOWN_KEYWORD: GVariantParseError = 15;
15520pub const GVariantParseError_G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT:
15521    GVariantParseError = 16;
15522pub const GVariantParseError_G_VARIANT_PARSE_ERROR_VALUE_EXPECTED: GVariantParseError = 17;
15523pub const GVariantParseError_G_VARIANT_PARSE_ERROR_RECURSION: GVariantParseError = 18;
15524pub type GVariantParseError = ::std::os::raw::c_uint;
15525extern "C" {
15526    pub fn g_variant_parser_get_error_quark() -> GQuark;
15527}
15528extern "C" {
15529    pub fn g_variant_parse_error_quark() -> GQuark;
15530}
15531extern "C" {
15532    pub fn g_variant_builder_new(type_: *const GVariantType) -> *mut GVariantBuilder;
15533}
15534extern "C" {
15535    pub fn g_variant_builder_unref(builder: *mut GVariantBuilder);
15536}
15537extern "C" {
15538    pub fn g_variant_builder_ref(builder: *mut GVariantBuilder) -> *mut GVariantBuilder;
15539}
15540extern "C" {
15541    pub fn g_variant_builder_init(builder: *mut GVariantBuilder, type_: *const GVariantType);
15542}
15543extern "C" {
15544    pub fn g_variant_builder_end(builder: *mut GVariantBuilder) -> *mut GVariant;
15545}
15546extern "C" {
15547    pub fn g_variant_builder_clear(builder: *mut GVariantBuilder);
15548}
15549extern "C" {
15550    pub fn g_variant_builder_open(builder: *mut GVariantBuilder, type_: *const GVariantType);
15551}
15552extern "C" {
15553    pub fn g_variant_builder_close(builder: *mut GVariantBuilder);
15554}
15555extern "C" {
15556    pub fn g_variant_builder_add_value(builder: *mut GVariantBuilder, value: *mut GVariant);
15557}
15558extern "C" {
15559    pub fn g_variant_builder_add(builder: *mut GVariantBuilder, format_string: *const gchar, ...);
15560}
15561extern "C" {
15562    pub fn g_variant_builder_add_parsed(builder: *mut GVariantBuilder, format: *const gchar, ...);
15563}
15564extern "C" {
15565    pub fn g_variant_new(format_string: *const gchar, ...) -> *mut GVariant;
15566}
15567extern "C" {
15568    pub fn g_variant_get(value: *mut GVariant, format_string: *const gchar, ...);
15569}
15570extern "C" {
15571    pub fn g_variant_new_va(
15572        format_string: *const gchar,
15573        endptr: *mut *const gchar,
15574        app: *mut va_list,
15575    ) -> *mut GVariant;
15576}
15577extern "C" {
15578    pub fn g_variant_get_va(
15579        value: *mut GVariant,
15580        format_string: *const gchar,
15581        endptr: *mut *const gchar,
15582        app: *mut va_list,
15583    );
15584}
15585extern "C" {
15586    pub fn g_variant_check_format_string(
15587        value: *mut GVariant,
15588        format_string: *const gchar,
15589        copy_only: gboolean,
15590    ) -> gboolean;
15591}
15592extern "C" {
15593    pub fn g_variant_parse(
15594        type_: *const GVariantType,
15595        text: *const gchar,
15596        limit: *const gchar,
15597        endptr: *mut *const gchar,
15598        error: *mut *mut GError,
15599    ) -> *mut GVariant;
15600}
15601extern "C" {
15602    pub fn g_variant_new_parsed(format: *const gchar, ...) -> *mut GVariant;
15603}
15604extern "C" {
15605    pub fn g_variant_new_parsed_va(format: *const gchar, app: *mut va_list) -> *mut GVariant;
15606}
15607extern "C" {
15608    pub fn g_variant_parse_error_print_context(
15609        error: *mut GError,
15610        source_str: *const gchar,
15611    ) -> *mut gchar;
15612}
15613extern "C" {
15614    pub fn g_variant_compare(one: gconstpointer, two: gconstpointer) -> gint;
15615}
15616pub type GVariantDict = _GVariantDict;
15617#[repr(C)]
15618#[derive(Copy, Clone)]
15619pub struct _GVariantDict {
15620    pub u: _GVariantDict__bindgen_ty_1,
15621}
15622#[repr(C)]
15623#[derive(Copy, Clone)]
15624pub union _GVariantDict__bindgen_ty_1 {
15625    pub s: _GVariantDict__bindgen_ty_1__bindgen_ty_1,
15626    pub x: [gsize; 16usize],
15627}
15628#[repr(C)]
15629#[derive(Debug, Copy, Clone)]
15630pub struct _GVariantDict__bindgen_ty_1__bindgen_ty_1 {
15631    pub asv: *mut GVariant,
15632    pub partial_magic: gsize,
15633    pub y: [gsize; 14usize],
15634}
15635#[test]
15636fn bindgen_test_layout__GVariantDict__bindgen_ty_1__bindgen_ty_1() {
15637    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1__bindgen_ty_1> =
15638        ::std::mem::MaybeUninit::uninit();
15639    let ptr = UNINIT.as_ptr();
15640    assert_eq!(
15641        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
15642        128usize,
15643        concat!(
15644            "Size of: ",
15645            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
15646        )
15647    );
15648    assert_eq!(
15649        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1__bindgen_ty_1>(),
15650        8usize,
15651        concat!(
15652            "Alignment of ",
15653            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1)
15654        )
15655    );
15656    assert_eq!(
15657        unsafe { ::std::ptr::addr_of!((*ptr).asv) as usize - ptr as usize },
15658        0usize,
15659        concat!(
15660            "Offset of field: ",
15661            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
15662            "::",
15663            stringify!(asv)
15664        )
15665    );
15666    assert_eq!(
15667        unsafe { ::std::ptr::addr_of!((*ptr).partial_magic) as usize - ptr as usize },
15668        8usize,
15669        concat!(
15670            "Offset of field: ",
15671            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
15672            "::",
15673            stringify!(partial_magic)
15674        )
15675    );
15676    assert_eq!(
15677        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
15678        16usize,
15679        concat!(
15680            "Offset of field: ",
15681            stringify!(_GVariantDict__bindgen_ty_1__bindgen_ty_1),
15682            "::",
15683            stringify!(y)
15684        )
15685    );
15686}
15687#[test]
15688fn bindgen_test_layout__GVariantDict__bindgen_ty_1() {
15689    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict__bindgen_ty_1> =
15690        ::std::mem::MaybeUninit::uninit();
15691    let ptr = UNINIT.as_ptr();
15692    assert_eq!(
15693        ::std::mem::size_of::<_GVariantDict__bindgen_ty_1>(),
15694        128usize,
15695        concat!("Size of: ", stringify!(_GVariantDict__bindgen_ty_1))
15696    );
15697    assert_eq!(
15698        ::std::mem::align_of::<_GVariantDict__bindgen_ty_1>(),
15699        8usize,
15700        concat!("Alignment of ", stringify!(_GVariantDict__bindgen_ty_1))
15701    );
15702    assert_eq!(
15703        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15704        0usize,
15705        concat!(
15706            "Offset of field: ",
15707            stringify!(_GVariantDict__bindgen_ty_1),
15708            "::",
15709            stringify!(s)
15710        )
15711    );
15712    assert_eq!(
15713        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
15714        0usize,
15715        concat!(
15716            "Offset of field: ",
15717            stringify!(_GVariantDict__bindgen_ty_1),
15718            "::",
15719            stringify!(x)
15720        )
15721    );
15722}
15723#[test]
15724fn bindgen_test_layout__GVariantDict() {
15725    const UNINIT: ::std::mem::MaybeUninit<_GVariantDict> = ::std::mem::MaybeUninit::uninit();
15726    let ptr = UNINIT.as_ptr();
15727    assert_eq!(
15728        ::std::mem::size_of::<_GVariantDict>(),
15729        128usize,
15730        concat!("Size of: ", stringify!(_GVariantDict))
15731    );
15732    assert_eq!(
15733        ::std::mem::align_of::<_GVariantDict>(),
15734        8usize,
15735        concat!("Alignment of ", stringify!(_GVariantDict))
15736    );
15737    assert_eq!(
15738        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
15739        0usize,
15740        concat!(
15741            "Offset of field: ",
15742            stringify!(_GVariantDict),
15743            "::",
15744            stringify!(u)
15745        )
15746    );
15747}
15748extern "C" {
15749    pub fn g_variant_dict_new(from_asv: *mut GVariant) -> *mut GVariantDict;
15750}
15751extern "C" {
15752    pub fn g_variant_dict_init(dict: *mut GVariantDict, from_asv: *mut GVariant);
15753}
15754extern "C" {
15755    pub fn g_variant_dict_lookup(
15756        dict: *mut GVariantDict,
15757        key: *const gchar,
15758        format_string: *const gchar,
15759        ...
15760    ) -> gboolean;
15761}
15762extern "C" {
15763    pub fn g_variant_dict_lookup_value(
15764        dict: *mut GVariantDict,
15765        key: *const gchar,
15766        expected_type: *const GVariantType,
15767    ) -> *mut GVariant;
15768}
15769extern "C" {
15770    pub fn g_variant_dict_contains(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
15771}
15772extern "C" {
15773    pub fn g_variant_dict_insert(
15774        dict: *mut GVariantDict,
15775        key: *const gchar,
15776        format_string: *const gchar,
15777        ...
15778    );
15779}
15780extern "C" {
15781    pub fn g_variant_dict_insert_value(
15782        dict: *mut GVariantDict,
15783        key: *const gchar,
15784        value: *mut GVariant,
15785    );
15786}
15787extern "C" {
15788    pub fn g_variant_dict_remove(dict: *mut GVariantDict, key: *const gchar) -> gboolean;
15789}
15790extern "C" {
15791    pub fn g_variant_dict_clear(dict: *mut GVariantDict);
15792}
15793extern "C" {
15794    pub fn g_variant_dict_end(dict: *mut GVariantDict) -> *mut GVariant;
15795}
15796extern "C" {
15797    pub fn g_variant_dict_ref(dict: *mut GVariantDict) -> *mut GVariantDict;
15798}
15799extern "C" {
15800    pub fn g_variant_dict_unref(dict: *mut GVariantDict);
15801}
15802extern "C" {
15803    pub fn g_printf_string_upper_bound(format: *const gchar, args: *mut __va_list_tag) -> gsize;
15804}
15805pub const GLogLevelFlags_G_LOG_FLAG_RECURSION: GLogLevelFlags = 1;
15806pub const GLogLevelFlags_G_LOG_FLAG_FATAL: GLogLevelFlags = 2;
15807pub const GLogLevelFlags_G_LOG_LEVEL_ERROR: GLogLevelFlags = 4;
15808pub const GLogLevelFlags_G_LOG_LEVEL_CRITICAL: GLogLevelFlags = 8;
15809pub const GLogLevelFlags_G_LOG_LEVEL_WARNING: GLogLevelFlags = 16;
15810pub const GLogLevelFlags_G_LOG_LEVEL_MESSAGE: GLogLevelFlags = 32;
15811pub const GLogLevelFlags_G_LOG_LEVEL_INFO: GLogLevelFlags = 64;
15812pub const GLogLevelFlags_G_LOG_LEVEL_DEBUG: GLogLevelFlags = 128;
15813pub const GLogLevelFlags_G_LOG_LEVEL_MASK: GLogLevelFlags = -4;
15814pub type GLogLevelFlags = ::std::os::raw::c_int;
15815pub type GLogFunc = ::std::option::Option<
15816    unsafe extern "C" fn(
15817        log_domain: *const gchar,
15818        log_level: GLogLevelFlags,
15819        message: *const gchar,
15820        user_data: gpointer,
15821    ),
15822>;
15823extern "C" {
15824    pub fn g_log_set_handler(
15825        log_domain: *const gchar,
15826        log_levels: GLogLevelFlags,
15827        log_func: GLogFunc,
15828        user_data: gpointer,
15829    ) -> guint;
15830}
15831extern "C" {
15832    pub fn g_log_set_handler_full(
15833        log_domain: *const gchar,
15834        log_levels: GLogLevelFlags,
15835        log_func: GLogFunc,
15836        user_data: gpointer,
15837        destroy: GDestroyNotify,
15838    ) -> guint;
15839}
15840extern "C" {
15841    pub fn g_log_remove_handler(log_domain: *const gchar, handler_id: guint);
15842}
15843extern "C" {
15844    pub fn g_log_default_handler(
15845        log_domain: *const gchar,
15846        log_level: GLogLevelFlags,
15847        message: *const gchar,
15848        unused_data: gpointer,
15849    );
15850}
15851extern "C" {
15852    pub fn g_log_set_default_handler(log_func: GLogFunc, user_data: gpointer) -> GLogFunc;
15853}
15854extern "C" {
15855    pub fn g_log(log_domain: *const gchar, log_level: GLogLevelFlags, format: *const gchar, ...);
15856}
15857extern "C" {
15858    pub fn g_logv(
15859        log_domain: *const gchar,
15860        log_level: GLogLevelFlags,
15861        format: *const gchar,
15862        args: *mut __va_list_tag,
15863    );
15864}
15865extern "C" {
15866    pub fn g_log_set_fatal_mask(
15867        log_domain: *const gchar,
15868        fatal_mask: GLogLevelFlags,
15869    ) -> GLogLevelFlags;
15870}
15871extern "C" {
15872    pub fn g_log_set_always_fatal(fatal_mask: GLogLevelFlags) -> GLogLevelFlags;
15873}
15874pub const GLogWriterOutput_G_LOG_WRITER_HANDLED: GLogWriterOutput = 1;
15875pub const GLogWriterOutput_G_LOG_WRITER_UNHANDLED: GLogWriterOutput = 0;
15876pub type GLogWriterOutput = ::std::os::raw::c_uint;
15877pub type GLogField = _GLogField;
15878#[repr(C)]
15879#[derive(Debug, Copy, Clone)]
15880pub struct _GLogField {
15881    pub key: *const gchar,
15882    pub value: gconstpointer,
15883    pub length: gssize,
15884}
15885#[test]
15886fn bindgen_test_layout__GLogField() {
15887    const UNINIT: ::std::mem::MaybeUninit<_GLogField> = ::std::mem::MaybeUninit::uninit();
15888    let ptr = UNINIT.as_ptr();
15889    assert_eq!(
15890        ::std::mem::size_of::<_GLogField>(),
15891        24usize,
15892        concat!("Size of: ", stringify!(_GLogField))
15893    );
15894    assert_eq!(
15895        ::std::mem::align_of::<_GLogField>(),
15896        8usize,
15897        concat!("Alignment of ", stringify!(_GLogField))
15898    );
15899    assert_eq!(
15900        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
15901        0usize,
15902        concat!(
15903            "Offset of field: ",
15904            stringify!(_GLogField),
15905            "::",
15906            stringify!(key)
15907        )
15908    );
15909    assert_eq!(
15910        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
15911        8usize,
15912        concat!(
15913            "Offset of field: ",
15914            stringify!(_GLogField),
15915            "::",
15916            stringify!(value)
15917        )
15918    );
15919    assert_eq!(
15920        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
15921        16usize,
15922        concat!(
15923            "Offset of field: ",
15924            stringify!(_GLogField),
15925            "::",
15926            stringify!(length)
15927        )
15928    );
15929}
15930pub type GLogWriterFunc = ::std::option::Option<
15931    unsafe extern "C" fn(
15932        log_level: GLogLevelFlags,
15933        fields: *const GLogField,
15934        n_fields: gsize,
15935        user_data: gpointer,
15936    ) -> GLogWriterOutput,
15937>;
15938extern "C" {
15939    pub fn g_log_structured(log_domain: *const gchar, log_level: GLogLevelFlags, ...);
15940}
15941extern "C" {
15942    pub fn g_log_structured_array(
15943        log_level: GLogLevelFlags,
15944        fields: *const GLogField,
15945        n_fields: gsize,
15946    );
15947}
15948extern "C" {
15949    pub fn g_log_variant(
15950        log_domain: *const gchar,
15951        log_level: GLogLevelFlags,
15952        fields: *mut GVariant,
15953    );
15954}
15955extern "C" {
15956    pub fn g_log_set_writer_func(
15957        func: GLogWriterFunc,
15958        user_data: gpointer,
15959        user_data_free: GDestroyNotify,
15960    );
15961}
15962extern "C" {
15963    pub fn g_log_writer_supports_color(output_fd: gint) -> gboolean;
15964}
15965extern "C" {
15966    pub fn g_log_writer_is_journald(output_fd: gint) -> gboolean;
15967}
15968extern "C" {
15969    pub fn g_log_writer_format_fields(
15970        log_level: GLogLevelFlags,
15971        fields: *const GLogField,
15972        n_fields: gsize,
15973        use_color: gboolean,
15974    ) -> *mut gchar;
15975}
15976extern "C" {
15977    pub fn g_log_writer_journald(
15978        log_level: GLogLevelFlags,
15979        fields: *const GLogField,
15980        n_fields: gsize,
15981        user_data: gpointer,
15982    ) -> GLogWriterOutput;
15983}
15984extern "C" {
15985    pub fn g_log_writer_standard_streams(
15986        log_level: GLogLevelFlags,
15987        fields: *const GLogField,
15988        n_fields: gsize,
15989        user_data: gpointer,
15990    ) -> GLogWriterOutput;
15991}
15992extern "C" {
15993    pub fn g_log_writer_default(
15994        log_level: GLogLevelFlags,
15995        fields: *const GLogField,
15996        n_fields: gsize,
15997        user_data: gpointer,
15998    ) -> GLogWriterOutput;
15999}
16000extern "C" {
16001    pub fn g_log_writer_default_set_use_stderr(use_stderr: gboolean);
16002}
16003extern "C" {
16004    pub fn g_log_writer_default_would_drop(
16005        log_level: GLogLevelFlags,
16006        log_domain: *const ::std::os::raw::c_char,
16007    ) -> gboolean;
16008}
16009extern "C" {
16010    pub fn g_log_get_debug_enabled() -> gboolean;
16011}
16012extern "C" {
16013    pub fn g_log_set_debug_enabled(enabled: gboolean);
16014}
16015extern "C" {
16016    pub fn _g_log_fallback_handler(
16017        log_domain: *const gchar,
16018        log_level: GLogLevelFlags,
16019        message: *const gchar,
16020        unused_data: gpointer,
16021    );
16022}
16023extern "C" {
16024    pub fn g_return_if_fail_warning(
16025        log_domain: *const ::std::os::raw::c_char,
16026        pretty_function: *const ::std::os::raw::c_char,
16027        expression: *const ::std::os::raw::c_char,
16028    );
16029}
16030extern "C" {
16031    pub fn g_warn_message(
16032        domain: *const ::std::os::raw::c_char,
16033        file: *const ::std::os::raw::c_char,
16034        line: ::std::os::raw::c_int,
16035        func: *const ::std::os::raw::c_char,
16036        warnexpr: *const ::std::os::raw::c_char,
16037    );
16038}
16039extern "C" {
16040    pub fn g_assert_warning(
16041        log_domain: *const ::std::os::raw::c_char,
16042        file: *const ::std::os::raw::c_char,
16043        line: ::std::os::raw::c_int,
16044        pretty_function: *const ::std::os::raw::c_char,
16045        expression: *const ::std::os::raw::c_char,
16046    ) -> !;
16047}
16048extern "C" {
16049    pub fn g_log_structured_standard(
16050        log_domain: *const gchar,
16051        log_level: GLogLevelFlags,
16052        file: *const gchar,
16053        line: *const gchar,
16054        func: *const gchar,
16055        message_format: *const gchar,
16056        ...
16057    );
16058}
16059pub type GPrintFunc = ::std::option::Option<unsafe extern "C" fn(string: *const gchar)>;
16060extern "C" {
16061    pub fn g_print(format: *const gchar, ...);
16062}
16063extern "C" {
16064    pub fn g_set_print_handler(func: GPrintFunc) -> GPrintFunc;
16065}
16066extern "C" {
16067    pub fn g_printerr(format: *const gchar, ...);
16068}
16069extern "C" {
16070    pub fn g_set_printerr_handler(func: GPrintFunc) -> GPrintFunc;
16071}
16072#[repr(C)]
16073#[derive(Debug, Copy, Clone)]
16074pub struct _GOptionContext {
16075    _unused: [u8; 0],
16076}
16077pub type GOptionContext = _GOptionContext;
16078#[repr(C)]
16079#[derive(Debug, Copy, Clone)]
16080pub struct _GOptionGroup {
16081    _unused: [u8; 0],
16082}
16083pub type GOptionGroup = _GOptionGroup;
16084pub type GOptionEntry = _GOptionEntry;
16085pub const GOptionFlags_G_OPTION_FLAG_NONE: GOptionFlags = 0;
16086pub const GOptionFlags_G_OPTION_FLAG_HIDDEN: GOptionFlags = 1;
16087pub const GOptionFlags_G_OPTION_FLAG_IN_MAIN: GOptionFlags = 2;
16088pub const GOptionFlags_G_OPTION_FLAG_REVERSE: GOptionFlags = 4;
16089pub const GOptionFlags_G_OPTION_FLAG_NO_ARG: GOptionFlags = 8;
16090pub const GOptionFlags_G_OPTION_FLAG_FILENAME: GOptionFlags = 16;
16091pub const GOptionFlags_G_OPTION_FLAG_OPTIONAL_ARG: GOptionFlags = 32;
16092pub const GOptionFlags_G_OPTION_FLAG_NOALIAS: GOptionFlags = 64;
16093pub type GOptionFlags = ::std::os::raw::c_uint;
16094pub const GOptionArg_G_OPTION_ARG_NONE: GOptionArg = 0;
16095pub const GOptionArg_G_OPTION_ARG_STRING: GOptionArg = 1;
16096pub const GOptionArg_G_OPTION_ARG_INT: GOptionArg = 2;
16097pub const GOptionArg_G_OPTION_ARG_CALLBACK: GOptionArg = 3;
16098pub const GOptionArg_G_OPTION_ARG_FILENAME: GOptionArg = 4;
16099pub const GOptionArg_G_OPTION_ARG_STRING_ARRAY: GOptionArg = 5;
16100pub const GOptionArg_G_OPTION_ARG_FILENAME_ARRAY: GOptionArg = 6;
16101pub const GOptionArg_G_OPTION_ARG_DOUBLE: GOptionArg = 7;
16102pub const GOptionArg_G_OPTION_ARG_INT64: GOptionArg = 8;
16103pub type GOptionArg = ::std::os::raw::c_uint;
16104pub type GOptionArgFunc = ::std::option::Option<
16105    unsafe extern "C" fn(
16106        option_name: *const gchar,
16107        value: *const gchar,
16108        data: gpointer,
16109        error: *mut *mut GError,
16110    ) -> gboolean,
16111>;
16112pub type GOptionParseFunc = ::std::option::Option<
16113    unsafe extern "C" fn(
16114        context: *mut GOptionContext,
16115        group: *mut GOptionGroup,
16116        data: gpointer,
16117        error: *mut *mut GError,
16118    ) -> gboolean,
16119>;
16120pub type GOptionErrorFunc = ::std::option::Option<
16121    unsafe extern "C" fn(
16122        context: *mut GOptionContext,
16123        group: *mut GOptionGroup,
16124        data: gpointer,
16125        error: *mut *mut GError,
16126    ),
16127>;
16128pub const GOptionError_G_OPTION_ERROR_UNKNOWN_OPTION: GOptionError = 0;
16129pub const GOptionError_G_OPTION_ERROR_BAD_VALUE: GOptionError = 1;
16130pub const GOptionError_G_OPTION_ERROR_FAILED: GOptionError = 2;
16131pub type GOptionError = ::std::os::raw::c_uint;
16132extern "C" {
16133    pub fn g_option_error_quark() -> GQuark;
16134}
16135#[repr(C)]
16136#[derive(Debug, Copy, Clone)]
16137pub struct _GOptionEntry {
16138    pub long_name: *const gchar,
16139    pub short_name: gchar,
16140    pub flags: gint,
16141    pub arg: GOptionArg,
16142    pub arg_data: gpointer,
16143    pub description: *const gchar,
16144    pub arg_description: *const gchar,
16145}
16146#[test]
16147fn bindgen_test_layout__GOptionEntry() {
16148    const UNINIT: ::std::mem::MaybeUninit<_GOptionEntry> = ::std::mem::MaybeUninit::uninit();
16149    let ptr = UNINIT.as_ptr();
16150    assert_eq!(
16151        ::std::mem::size_of::<_GOptionEntry>(),
16152        48usize,
16153        concat!("Size of: ", stringify!(_GOptionEntry))
16154    );
16155    assert_eq!(
16156        ::std::mem::align_of::<_GOptionEntry>(),
16157        8usize,
16158        concat!("Alignment of ", stringify!(_GOptionEntry))
16159    );
16160    assert_eq!(
16161        unsafe { ::std::ptr::addr_of!((*ptr).long_name) as usize - ptr as usize },
16162        0usize,
16163        concat!(
16164            "Offset of field: ",
16165            stringify!(_GOptionEntry),
16166            "::",
16167            stringify!(long_name)
16168        )
16169    );
16170    assert_eq!(
16171        unsafe { ::std::ptr::addr_of!((*ptr).short_name) as usize - ptr as usize },
16172        8usize,
16173        concat!(
16174            "Offset of field: ",
16175            stringify!(_GOptionEntry),
16176            "::",
16177            stringify!(short_name)
16178        )
16179    );
16180    assert_eq!(
16181        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
16182        12usize,
16183        concat!(
16184            "Offset of field: ",
16185            stringify!(_GOptionEntry),
16186            "::",
16187            stringify!(flags)
16188        )
16189    );
16190    assert_eq!(
16191        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
16192        16usize,
16193        concat!(
16194            "Offset of field: ",
16195            stringify!(_GOptionEntry),
16196            "::",
16197            stringify!(arg)
16198        )
16199    );
16200    assert_eq!(
16201        unsafe { ::std::ptr::addr_of!((*ptr).arg_data) as usize - ptr as usize },
16202        24usize,
16203        concat!(
16204            "Offset of field: ",
16205            stringify!(_GOptionEntry),
16206            "::",
16207            stringify!(arg_data)
16208        )
16209    );
16210    assert_eq!(
16211        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
16212        32usize,
16213        concat!(
16214            "Offset of field: ",
16215            stringify!(_GOptionEntry),
16216            "::",
16217            stringify!(description)
16218        )
16219    );
16220    assert_eq!(
16221        unsafe { ::std::ptr::addr_of!((*ptr).arg_description) as usize - ptr as usize },
16222        40usize,
16223        concat!(
16224            "Offset of field: ",
16225            stringify!(_GOptionEntry),
16226            "::",
16227            stringify!(arg_description)
16228        )
16229    );
16230}
16231extern "C" {
16232    pub fn g_option_context_new(parameter_string: *const gchar) -> *mut GOptionContext;
16233}
16234extern "C" {
16235    pub fn g_option_context_set_summary(context: *mut GOptionContext, summary: *const gchar);
16236}
16237extern "C" {
16238    pub fn g_option_context_get_summary(context: *mut GOptionContext) -> *const gchar;
16239}
16240extern "C" {
16241    pub fn g_option_context_set_description(
16242        context: *mut GOptionContext,
16243        description: *const gchar,
16244    );
16245}
16246extern "C" {
16247    pub fn g_option_context_get_description(context: *mut GOptionContext) -> *const gchar;
16248}
16249extern "C" {
16250    pub fn g_option_context_free(context: *mut GOptionContext);
16251}
16252extern "C" {
16253    pub fn g_option_context_set_help_enabled(context: *mut GOptionContext, help_enabled: gboolean);
16254}
16255extern "C" {
16256    pub fn g_option_context_get_help_enabled(context: *mut GOptionContext) -> gboolean;
16257}
16258extern "C" {
16259    pub fn g_option_context_set_ignore_unknown_options(
16260        context: *mut GOptionContext,
16261        ignore_unknown: gboolean,
16262    );
16263}
16264extern "C" {
16265    pub fn g_option_context_get_ignore_unknown_options(context: *mut GOptionContext) -> gboolean;
16266}
16267extern "C" {
16268    pub fn g_option_context_set_strict_posix(context: *mut GOptionContext, strict_posix: gboolean);
16269}
16270extern "C" {
16271    pub fn g_option_context_get_strict_posix(context: *mut GOptionContext) -> gboolean;
16272}
16273extern "C" {
16274    pub fn g_option_context_add_main_entries(
16275        context: *mut GOptionContext,
16276        entries: *const GOptionEntry,
16277        translation_domain: *const gchar,
16278    );
16279}
16280extern "C" {
16281    pub fn g_option_context_parse(
16282        context: *mut GOptionContext,
16283        argc: *mut gint,
16284        argv: *mut *mut *mut gchar,
16285        error: *mut *mut GError,
16286    ) -> gboolean;
16287}
16288extern "C" {
16289    pub fn g_option_context_parse_strv(
16290        context: *mut GOptionContext,
16291        arguments: *mut *mut *mut gchar,
16292        error: *mut *mut GError,
16293    ) -> gboolean;
16294}
16295extern "C" {
16296    pub fn g_option_context_set_translate_func(
16297        context: *mut GOptionContext,
16298        func: GTranslateFunc,
16299        data: gpointer,
16300        destroy_notify: GDestroyNotify,
16301    );
16302}
16303extern "C" {
16304    pub fn g_option_context_set_translation_domain(
16305        context: *mut GOptionContext,
16306        domain: *const gchar,
16307    );
16308}
16309extern "C" {
16310    pub fn g_option_context_add_group(context: *mut GOptionContext, group: *mut GOptionGroup);
16311}
16312extern "C" {
16313    pub fn g_option_context_set_main_group(context: *mut GOptionContext, group: *mut GOptionGroup);
16314}
16315extern "C" {
16316    pub fn g_option_context_get_main_group(context: *mut GOptionContext) -> *mut GOptionGroup;
16317}
16318extern "C" {
16319    pub fn g_option_context_get_help(
16320        context: *mut GOptionContext,
16321        main_help: gboolean,
16322        group: *mut GOptionGroup,
16323    ) -> *mut gchar;
16324}
16325extern "C" {
16326    pub fn g_option_group_new(
16327        name: *const gchar,
16328        description: *const gchar,
16329        help_description: *const gchar,
16330        user_data: gpointer,
16331        destroy: GDestroyNotify,
16332    ) -> *mut GOptionGroup;
16333}
16334extern "C" {
16335    pub fn g_option_group_set_parse_hooks(
16336        group: *mut GOptionGroup,
16337        pre_parse_func: GOptionParseFunc,
16338        post_parse_func: GOptionParseFunc,
16339    );
16340}
16341extern "C" {
16342    pub fn g_option_group_set_error_hook(group: *mut GOptionGroup, error_func: GOptionErrorFunc);
16343}
16344extern "C" {
16345    pub fn g_option_group_free(group: *mut GOptionGroup);
16346}
16347extern "C" {
16348    pub fn g_option_group_ref(group: *mut GOptionGroup) -> *mut GOptionGroup;
16349}
16350extern "C" {
16351    pub fn g_option_group_unref(group: *mut GOptionGroup);
16352}
16353extern "C" {
16354    pub fn g_option_group_add_entries(group: *mut GOptionGroup, entries: *const GOptionEntry);
16355}
16356extern "C" {
16357    pub fn g_option_group_set_translate_func(
16358        group: *mut GOptionGroup,
16359        func: GTranslateFunc,
16360        data: gpointer,
16361        destroy_notify: GDestroyNotify,
16362    );
16363}
16364extern "C" {
16365    pub fn g_option_group_set_translation_domain(group: *mut GOptionGroup, domain: *const gchar);
16366}
16367pub type GPathBuf = _GPathBuf;
16368#[repr(C)]
16369#[derive(Debug, Copy, Clone)]
16370pub struct _GPathBuf {
16371    pub dummy: [gpointer; 8usize],
16372}
16373#[test]
16374fn bindgen_test_layout__GPathBuf() {
16375    const UNINIT: ::std::mem::MaybeUninit<_GPathBuf> = ::std::mem::MaybeUninit::uninit();
16376    let ptr = UNINIT.as_ptr();
16377    assert_eq!(
16378        ::std::mem::size_of::<_GPathBuf>(),
16379        64usize,
16380        concat!("Size of: ", stringify!(_GPathBuf))
16381    );
16382    assert_eq!(
16383        ::std::mem::align_of::<_GPathBuf>(),
16384        8usize,
16385        concat!("Alignment of ", stringify!(_GPathBuf))
16386    );
16387    assert_eq!(
16388        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
16389        0usize,
16390        concat!(
16391            "Offset of field: ",
16392            stringify!(_GPathBuf),
16393            "::",
16394            stringify!(dummy)
16395        )
16396    );
16397}
16398extern "C" {
16399    pub fn g_path_buf_new() -> *mut GPathBuf;
16400}
16401extern "C" {
16402    pub fn g_path_buf_new_from_path(path: *const ::std::os::raw::c_char) -> *mut GPathBuf;
16403}
16404extern "C" {
16405    pub fn g_path_buf_init(buf: *mut GPathBuf) -> *mut GPathBuf;
16406}
16407extern "C" {
16408    pub fn g_path_buf_init_from_path(
16409        buf: *mut GPathBuf,
16410        path: *const ::std::os::raw::c_char,
16411    ) -> *mut GPathBuf;
16412}
16413extern "C" {
16414    pub fn g_path_buf_clear(buf: *mut GPathBuf);
16415}
16416extern "C" {
16417    pub fn g_path_buf_clear_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
16418}
16419extern "C" {
16420    pub fn g_path_buf_free(buf: *mut GPathBuf);
16421}
16422extern "C" {
16423    pub fn g_path_buf_free_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
16424}
16425extern "C" {
16426    pub fn g_path_buf_copy(buf: *mut GPathBuf) -> *mut GPathBuf;
16427}
16428extern "C" {
16429    pub fn g_path_buf_push(
16430        buf: *mut GPathBuf,
16431        path: *const ::std::os::raw::c_char,
16432    ) -> *mut GPathBuf;
16433}
16434extern "C" {
16435    pub fn g_path_buf_pop(buf: *mut GPathBuf) -> gboolean;
16436}
16437extern "C" {
16438    pub fn g_path_buf_set_filename(
16439        buf: *mut GPathBuf,
16440        file_name: *const ::std::os::raw::c_char,
16441    ) -> gboolean;
16442}
16443extern "C" {
16444    pub fn g_path_buf_set_extension(
16445        buf: *mut GPathBuf,
16446        extension: *const ::std::os::raw::c_char,
16447    ) -> gboolean;
16448}
16449extern "C" {
16450    pub fn g_path_buf_to_path(buf: *mut GPathBuf) -> *mut ::std::os::raw::c_char;
16451}
16452extern "C" {
16453    pub fn g_path_buf_equal(v1: gconstpointer, v2: gconstpointer) -> gboolean;
16454}
16455#[repr(C)]
16456#[derive(Debug, Copy, Clone)]
16457pub struct _GPatternSpec {
16458    _unused: [u8; 0],
16459}
16460pub type GPatternSpec = _GPatternSpec;
16461extern "C" {
16462    pub fn g_pattern_spec_new(pattern: *const gchar) -> *mut GPatternSpec;
16463}
16464extern "C" {
16465    pub fn g_pattern_spec_free(pspec: *mut GPatternSpec);
16466}
16467extern "C" {
16468    pub fn g_pattern_spec_copy(pspec: *mut GPatternSpec) -> *mut GPatternSpec;
16469}
16470extern "C" {
16471    pub fn g_pattern_spec_equal(pspec1: *mut GPatternSpec, pspec2: *mut GPatternSpec) -> gboolean;
16472}
16473extern "C" {
16474    pub fn g_pattern_spec_match(
16475        pspec: *mut GPatternSpec,
16476        string_length: gsize,
16477        string: *const gchar,
16478        string_reversed: *const gchar,
16479    ) -> gboolean;
16480}
16481extern "C" {
16482    pub fn g_pattern_spec_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
16483}
16484extern "C" {
16485    pub fn g_pattern_match(
16486        pspec: *mut GPatternSpec,
16487        string_length: guint,
16488        string: *const gchar,
16489        string_reversed: *const gchar,
16490    ) -> gboolean;
16491}
16492extern "C" {
16493    pub fn g_pattern_match_string(pspec: *mut GPatternSpec, string: *const gchar) -> gboolean;
16494}
16495extern "C" {
16496    pub fn g_pattern_match_simple(pattern: *const gchar, string: *const gchar) -> gboolean;
16497}
16498extern "C" {
16499    pub fn g_spaced_primes_closest(num: guint) -> guint;
16500}
16501extern "C" {
16502    pub fn g_qsort_with_data(
16503        pbase: gconstpointer,
16504        total_elems: gint,
16505        size: gsize,
16506        compare_func: GCompareDataFunc,
16507        user_data: gpointer,
16508    );
16509}
16510pub type GQueue = _GQueue;
16511#[repr(C)]
16512#[derive(Debug, Copy, Clone)]
16513pub struct _GQueue {
16514    pub head: *mut GList,
16515    pub tail: *mut GList,
16516    pub length: guint,
16517}
16518#[test]
16519fn bindgen_test_layout__GQueue() {
16520    const UNINIT: ::std::mem::MaybeUninit<_GQueue> = ::std::mem::MaybeUninit::uninit();
16521    let ptr = UNINIT.as_ptr();
16522    assert_eq!(
16523        ::std::mem::size_of::<_GQueue>(),
16524        24usize,
16525        concat!("Size of: ", stringify!(_GQueue))
16526    );
16527    assert_eq!(
16528        ::std::mem::align_of::<_GQueue>(),
16529        8usize,
16530        concat!("Alignment of ", stringify!(_GQueue))
16531    );
16532    assert_eq!(
16533        unsafe { ::std::ptr::addr_of!((*ptr).head) as usize - ptr as usize },
16534        0usize,
16535        concat!(
16536            "Offset of field: ",
16537            stringify!(_GQueue),
16538            "::",
16539            stringify!(head)
16540        )
16541    );
16542    assert_eq!(
16543        unsafe { ::std::ptr::addr_of!((*ptr).tail) as usize - ptr as usize },
16544        8usize,
16545        concat!(
16546            "Offset of field: ",
16547            stringify!(_GQueue),
16548            "::",
16549            stringify!(tail)
16550        )
16551    );
16552    assert_eq!(
16553        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
16554        16usize,
16555        concat!(
16556            "Offset of field: ",
16557            stringify!(_GQueue),
16558            "::",
16559            stringify!(length)
16560        )
16561    );
16562}
16563extern "C" {
16564    pub fn g_queue_new() -> *mut GQueue;
16565}
16566extern "C" {
16567    pub fn g_queue_free(queue: *mut GQueue);
16568}
16569extern "C" {
16570    pub fn g_queue_free_full(queue: *mut GQueue, free_func: GDestroyNotify);
16571}
16572extern "C" {
16573    pub fn g_queue_init(queue: *mut GQueue);
16574}
16575extern "C" {
16576    pub fn g_queue_clear(queue: *mut GQueue);
16577}
16578extern "C" {
16579    pub fn g_queue_is_empty(queue: *mut GQueue) -> gboolean;
16580}
16581extern "C" {
16582    pub fn g_queue_clear_full(queue: *mut GQueue, free_func: GDestroyNotify);
16583}
16584extern "C" {
16585    pub fn g_queue_get_length(queue: *mut GQueue) -> guint;
16586}
16587extern "C" {
16588    pub fn g_queue_reverse(queue: *mut GQueue);
16589}
16590extern "C" {
16591    pub fn g_queue_copy(queue: *mut GQueue) -> *mut GQueue;
16592}
16593extern "C" {
16594    pub fn g_queue_foreach(queue: *mut GQueue, func: GFunc, user_data: gpointer);
16595}
16596extern "C" {
16597    pub fn g_queue_find(queue: *mut GQueue, data: gconstpointer) -> *mut GList;
16598}
16599extern "C" {
16600    pub fn g_queue_find_custom(
16601        queue: *mut GQueue,
16602        data: gconstpointer,
16603        func: GCompareFunc,
16604    ) -> *mut GList;
16605}
16606extern "C" {
16607    pub fn g_queue_sort(queue: *mut GQueue, compare_func: GCompareDataFunc, user_data: gpointer);
16608}
16609extern "C" {
16610    pub fn g_queue_push_head(queue: *mut GQueue, data: gpointer);
16611}
16612extern "C" {
16613    pub fn g_queue_push_tail(queue: *mut GQueue, data: gpointer);
16614}
16615extern "C" {
16616    pub fn g_queue_push_nth(queue: *mut GQueue, data: gpointer, n: gint);
16617}
16618extern "C" {
16619    pub fn g_queue_pop_head(queue: *mut GQueue) -> gpointer;
16620}
16621extern "C" {
16622    pub fn g_queue_pop_tail(queue: *mut GQueue) -> gpointer;
16623}
16624extern "C" {
16625    pub fn g_queue_pop_nth(queue: *mut GQueue, n: guint) -> gpointer;
16626}
16627extern "C" {
16628    pub fn g_queue_peek_head(queue: *mut GQueue) -> gpointer;
16629}
16630extern "C" {
16631    pub fn g_queue_peek_tail(queue: *mut GQueue) -> gpointer;
16632}
16633extern "C" {
16634    pub fn g_queue_peek_nth(queue: *mut GQueue, n: guint) -> gpointer;
16635}
16636extern "C" {
16637    pub fn g_queue_index(queue: *mut GQueue, data: gconstpointer) -> gint;
16638}
16639extern "C" {
16640    pub fn g_queue_remove(queue: *mut GQueue, data: gconstpointer) -> gboolean;
16641}
16642extern "C" {
16643    pub fn g_queue_remove_all(queue: *mut GQueue, data: gconstpointer) -> guint;
16644}
16645extern "C" {
16646    pub fn g_queue_insert_before(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
16647}
16648extern "C" {
16649    pub fn g_queue_insert_before_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
16650}
16651extern "C" {
16652    pub fn g_queue_insert_after(queue: *mut GQueue, sibling: *mut GList, data: gpointer);
16653}
16654extern "C" {
16655    pub fn g_queue_insert_after_link(queue: *mut GQueue, sibling: *mut GList, link_: *mut GList);
16656}
16657extern "C" {
16658    pub fn g_queue_insert_sorted(
16659        queue: *mut GQueue,
16660        data: gpointer,
16661        func: GCompareDataFunc,
16662        user_data: gpointer,
16663    );
16664}
16665extern "C" {
16666    pub fn g_queue_push_head_link(queue: *mut GQueue, link_: *mut GList);
16667}
16668extern "C" {
16669    pub fn g_queue_push_tail_link(queue: *mut GQueue, link_: *mut GList);
16670}
16671extern "C" {
16672    pub fn g_queue_push_nth_link(queue: *mut GQueue, n: gint, link_: *mut GList);
16673}
16674extern "C" {
16675    pub fn g_queue_pop_head_link(queue: *mut GQueue) -> *mut GList;
16676}
16677extern "C" {
16678    pub fn g_queue_pop_tail_link(queue: *mut GQueue) -> *mut GList;
16679}
16680extern "C" {
16681    pub fn g_queue_pop_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
16682}
16683extern "C" {
16684    pub fn g_queue_peek_head_link(queue: *mut GQueue) -> *mut GList;
16685}
16686extern "C" {
16687    pub fn g_queue_peek_tail_link(queue: *mut GQueue) -> *mut GList;
16688}
16689extern "C" {
16690    pub fn g_queue_peek_nth_link(queue: *mut GQueue, n: guint) -> *mut GList;
16691}
16692extern "C" {
16693    pub fn g_queue_link_index(queue: *mut GQueue, link_: *mut GList) -> gint;
16694}
16695extern "C" {
16696    pub fn g_queue_unlink(queue: *mut GQueue, link_: *mut GList);
16697}
16698extern "C" {
16699    pub fn g_queue_delete_link(queue: *mut GQueue, link_: *mut GList);
16700}
16701#[repr(C)]
16702#[derive(Debug, Copy, Clone)]
16703pub struct _GRand {
16704    _unused: [u8; 0],
16705}
16706pub type GRand = _GRand;
16707extern "C" {
16708    pub fn g_rand_new_with_seed(seed: guint32) -> *mut GRand;
16709}
16710extern "C" {
16711    pub fn g_rand_new_with_seed_array(seed: *const guint32, seed_length: guint) -> *mut GRand;
16712}
16713extern "C" {
16714    pub fn g_rand_new() -> *mut GRand;
16715}
16716extern "C" {
16717    pub fn g_rand_free(rand_: *mut GRand);
16718}
16719extern "C" {
16720    pub fn g_rand_copy(rand_: *mut GRand) -> *mut GRand;
16721}
16722extern "C" {
16723    pub fn g_rand_set_seed(rand_: *mut GRand, seed: guint32);
16724}
16725extern "C" {
16726    pub fn g_rand_set_seed_array(rand_: *mut GRand, seed: *const guint32, seed_length: guint);
16727}
16728extern "C" {
16729    pub fn g_rand_int(rand_: *mut GRand) -> guint32;
16730}
16731extern "C" {
16732    pub fn g_rand_int_range(rand_: *mut GRand, begin: gint32, end: gint32) -> gint32;
16733}
16734extern "C" {
16735    pub fn g_rand_double(rand_: *mut GRand) -> gdouble;
16736}
16737extern "C" {
16738    pub fn g_rand_double_range(rand_: *mut GRand, begin: gdouble, end: gdouble) -> gdouble;
16739}
16740extern "C" {
16741    pub fn g_random_set_seed(seed: guint32);
16742}
16743extern "C" {
16744    pub fn g_random_int() -> guint32;
16745}
16746extern "C" {
16747    pub fn g_random_int_range(begin: gint32, end: gint32) -> gint32;
16748}
16749extern "C" {
16750    pub fn g_random_double() -> gdouble;
16751}
16752extern "C" {
16753    pub fn g_random_double_range(begin: gdouble, end: gdouble) -> gdouble;
16754}
16755extern "C" {
16756    pub fn g_rc_box_alloc(block_size: gsize) -> gpointer;
16757}
16758extern "C" {
16759    pub fn g_rc_box_alloc0(block_size: gsize) -> gpointer;
16760}
16761extern "C" {
16762    pub fn g_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
16763}
16764extern "C" {
16765    pub fn g_rc_box_acquire(mem_block: gpointer) -> gpointer;
16766}
16767extern "C" {
16768    pub fn g_rc_box_release(mem_block: gpointer);
16769}
16770extern "C" {
16771    pub fn g_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
16772}
16773extern "C" {
16774    pub fn g_rc_box_get_size(mem_block: gpointer) -> gsize;
16775}
16776extern "C" {
16777    pub fn g_atomic_rc_box_alloc(block_size: gsize) -> gpointer;
16778}
16779extern "C" {
16780    pub fn g_atomic_rc_box_alloc0(block_size: gsize) -> gpointer;
16781}
16782extern "C" {
16783    pub fn g_atomic_rc_box_dup(block_size: gsize, mem_block: gconstpointer) -> gpointer;
16784}
16785extern "C" {
16786    pub fn g_atomic_rc_box_acquire(mem_block: gpointer) -> gpointer;
16787}
16788extern "C" {
16789    pub fn g_atomic_rc_box_release(mem_block: gpointer);
16790}
16791extern "C" {
16792    pub fn g_atomic_rc_box_release_full(mem_block: gpointer, clear_func: GDestroyNotify);
16793}
16794extern "C" {
16795    pub fn g_atomic_rc_box_get_size(mem_block: gpointer) -> gsize;
16796}
16797extern "C" {
16798    pub fn g_ref_count_init(rc: *mut grefcount);
16799}
16800extern "C" {
16801    pub fn g_ref_count_inc(rc: *mut grefcount);
16802}
16803extern "C" {
16804    pub fn g_ref_count_dec(rc: *mut grefcount) -> gboolean;
16805}
16806extern "C" {
16807    pub fn g_ref_count_compare(rc: *mut grefcount, val: gint) -> gboolean;
16808}
16809extern "C" {
16810    pub fn g_atomic_ref_count_init(arc: *mut gatomicrefcount);
16811}
16812extern "C" {
16813    pub fn g_atomic_ref_count_inc(arc: *mut gatomicrefcount);
16814}
16815extern "C" {
16816    pub fn g_atomic_ref_count_dec(arc: *mut gatomicrefcount) -> gboolean;
16817}
16818extern "C" {
16819    pub fn g_atomic_ref_count_compare(arc: *mut gatomicrefcount, val: gint) -> gboolean;
16820}
16821extern "C" {
16822    pub fn g_ref_string_new(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
16823}
16824extern "C" {
16825    pub fn g_ref_string_new_len(
16826        str_: *const ::std::os::raw::c_char,
16827        len: gssize,
16828    ) -> *mut ::std::os::raw::c_char;
16829}
16830extern "C" {
16831    pub fn g_ref_string_new_intern(
16832        str_: *const ::std::os::raw::c_char,
16833    ) -> *mut ::std::os::raw::c_char;
16834}
16835extern "C" {
16836    pub fn g_ref_string_acquire(str_: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
16837}
16838extern "C" {
16839    pub fn g_ref_string_release(str_: *mut ::std::os::raw::c_char);
16840}
16841extern "C" {
16842    pub fn g_ref_string_length(str_: *mut ::std::os::raw::c_char) -> gsize;
16843}
16844pub type GRefString = ::std::os::raw::c_char;
16845pub const GRegexError_G_REGEX_ERROR_COMPILE: GRegexError = 0;
16846pub const GRegexError_G_REGEX_ERROR_OPTIMIZE: GRegexError = 1;
16847pub const GRegexError_G_REGEX_ERROR_REPLACE: GRegexError = 2;
16848pub const GRegexError_G_REGEX_ERROR_MATCH: GRegexError = 3;
16849pub const GRegexError_G_REGEX_ERROR_INTERNAL: GRegexError = 4;
16850pub const GRegexError_G_REGEX_ERROR_STRAY_BACKSLASH: GRegexError = 101;
16851pub const GRegexError_G_REGEX_ERROR_MISSING_CONTROL_CHAR: GRegexError = 102;
16852pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: GRegexError = 103;
16853pub const GRegexError_G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: GRegexError = 104;
16854pub const GRegexError_G_REGEX_ERROR_QUANTIFIER_TOO_BIG: GRegexError = 105;
16855pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: GRegexError = 106;
16856pub const GRegexError_G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: GRegexError = 107;
16857pub const GRegexError_G_REGEX_ERROR_RANGE_OUT_OF_ORDER: GRegexError = 108;
16858pub const GRegexError_G_REGEX_ERROR_NOTHING_TO_REPEAT: GRegexError = 109;
16859pub const GRegexError_G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: GRegexError = 112;
16860pub const GRegexError_G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: GRegexError = 113;
16861pub const GRegexError_G_REGEX_ERROR_UNMATCHED_PARENTHESIS: GRegexError = 114;
16862pub const GRegexError_G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: GRegexError = 115;
16863pub const GRegexError_G_REGEX_ERROR_UNTERMINATED_COMMENT: GRegexError = 118;
16864pub const GRegexError_G_REGEX_ERROR_EXPRESSION_TOO_LARGE: GRegexError = 120;
16865pub const GRegexError_G_REGEX_ERROR_MEMORY_ERROR: GRegexError = 121;
16866pub const GRegexError_G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: GRegexError = 125;
16867pub const GRegexError_G_REGEX_ERROR_MALFORMED_CONDITION: GRegexError = 126;
16868pub const GRegexError_G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: GRegexError = 127;
16869pub const GRegexError_G_REGEX_ERROR_ASSERTION_EXPECTED: GRegexError = 128;
16870pub const GRegexError_G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: GRegexError = 130;
16871pub const GRegexError_G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: GRegexError = 131;
16872pub const GRegexError_G_REGEX_ERROR_HEX_CODE_TOO_LARGE: GRegexError = 134;
16873pub const GRegexError_G_REGEX_ERROR_INVALID_CONDITION: GRegexError = 135;
16874pub const GRegexError_G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: GRegexError = 136;
16875pub const GRegexError_G_REGEX_ERROR_INFINITE_LOOP: GRegexError = 140;
16876pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: GRegexError = 142;
16877pub const GRegexError_G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: GRegexError = 143;
16878pub const GRegexError_G_REGEX_ERROR_MALFORMED_PROPERTY: GRegexError = 146;
16879pub const GRegexError_G_REGEX_ERROR_UNKNOWN_PROPERTY: GRegexError = 147;
16880pub const GRegexError_G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: GRegexError = 148;
16881pub const GRegexError_G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: GRegexError = 149;
16882pub const GRegexError_G_REGEX_ERROR_INVALID_OCTAL_VALUE: GRegexError = 151;
16883pub const GRegexError_G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: GRegexError = 154;
16884pub const GRegexError_G_REGEX_ERROR_DEFINE_REPETION: GRegexError = 155;
16885pub const GRegexError_G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: GRegexError = 156;
16886pub const GRegexError_G_REGEX_ERROR_MISSING_BACK_REFERENCE: GRegexError = 157;
16887pub const GRegexError_G_REGEX_ERROR_INVALID_RELATIVE_REFERENCE: GRegexError = 158;
16888pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_FORBIDDEN: GRegexError = 159;
16889pub const GRegexError_G_REGEX_ERROR_UNKNOWN_BACKTRACKING_CONTROL_VERB: GRegexError = 160;
16890pub const GRegexError_G_REGEX_ERROR_NUMBER_TOO_BIG: GRegexError = 161;
16891pub const GRegexError_G_REGEX_ERROR_MISSING_SUBPATTERN_NAME: GRegexError = 162;
16892pub const GRegexError_G_REGEX_ERROR_MISSING_DIGIT: GRegexError = 163;
16893pub const GRegexError_G_REGEX_ERROR_INVALID_DATA_CHARACTER: GRegexError = 164;
16894pub const GRegexError_G_REGEX_ERROR_EXTRA_SUBPATTERN_NAME: GRegexError = 165;
16895pub const GRegexError_G_REGEX_ERROR_BACKTRACKING_CONTROL_VERB_ARGUMENT_REQUIRED: GRegexError = 166;
16896pub const GRegexError_G_REGEX_ERROR_INVALID_CONTROL_CHAR: GRegexError = 168;
16897pub const GRegexError_G_REGEX_ERROR_MISSING_NAME: GRegexError = 169;
16898pub const GRegexError_G_REGEX_ERROR_NOT_SUPPORTED_IN_CLASS: GRegexError = 171;
16899pub const GRegexError_G_REGEX_ERROR_TOO_MANY_FORWARD_REFERENCES: GRegexError = 172;
16900pub const GRegexError_G_REGEX_ERROR_NAME_TOO_LONG: GRegexError = 175;
16901pub const GRegexError_G_REGEX_ERROR_CHARACTER_VALUE_TOO_LARGE: GRegexError = 176;
16902pub type GRegexError = ::std::os::raw::c_uint;
16903extern "C" {
16904    pub fn g_regex_error_quark() -> GQuark;
16905}
16906pub const GRegexCompileFlags_G_REGEX_DEFAULT: GRegexCompileFlags = 0;
16907pub const GRegexCompileFlags_G_REGEX_CASELESS: GRegexCompileFlags = 1;
16908pub const GRegexCompileFlags_G_REGEX_MULTILINE: GRegexCompileFlags = 2;
16909pub const GRegexCompileFlags_G_REGEX_DOTALL: GRegexCompileFlags = 4;
16910pub const GRegexCompileFlags_G_REGEX_EXTENDED: GRegexCompileFlags = 8;
16911pub const GRegexCompileFlags_G_REGEX_ANCHORED: GRegexCompileFlags = 16;
16912pub const GRegexCompileFlags_G_REGEX_DOLLAR_ENDONLY: GRegexCompileFlags = 32;
16913pub const GRegexCompileFlags_G_REGEX_UNGREEDY: GRegexCompileFlags = 512;
16914pub const GRegexCompileFlags_G_REGEX_RAW: GRegexCompileFlags = 2048;
16915pub const GRegexCompileFlags_G_REGEX_NO_AUTO_CAPTURE: GRegexCompileFlags = 4096;
16916pub const GRegexCompileFlags_G_REGEX_OPTIMIZE: GRegexCompileFlags = 8192;
16917pub const GRegexCompileFlags_G_REGEX_FIRSTLINE: GRegexCompileFlags = 262144;
16918pub const GRegexCompileFlags_G_REGEX_DUPNAMES: GRegexCompileFlags = 524288;
16919pub const GRegexCompileFlags_G_REGEX_NEWLINE_CR: GRegexCompileFlags = 1048576;
16920pub const GRegexCompileFlags_G_REGEX_NEWLINE_LF: GRegexCompileFlags = 2097152;
16921pub const GRegexCompileFlags_G_REGEX_NEWLINE_CRLF: GRegexCompileFlags = 3145728;
16922pub const GRegexCompileFlags_G_REGEX_NEWLINE_ANYCRLF: GRegexCompileFlags = 5242880;
16923pub const GRegexCompileFlags_G_REGEX_BSR_ANYCRLF: GRegexCompileFlags = 8388608;
16924pub const GRegexCompileFlags_G_REGEX_JAVASCRIPT_COMPAT: GRegexCompileFlags = 33554432;
16925pub type GRegexCompileFlags = ::std::os::raw::c_uint;
16926pub const GRegexMatchFlags_G_REGEX_MATCH_DEFAULT: GRegexMatchFlags = 0;
16927pub const GRegexMatchFlags_G_REGEX_MATCH_ANCHORED: GRegexMatchFlags = 16;
16928pub const GRegexMatchFlags_G_REGEX_MATCH_NOTBOL: GRegexMatchFlags = 128;
16929pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEOL: GRegexMatchFlags = 256;
16930pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY: GRegexMatchFlags = 1024;
16931pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL: GRegexMatchFlags = 32768;
16932pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CR: GRegexMatchFlags = 1048576;
16933pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_LF: GRegexMatchFlags = 2097152;
16934pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_CRLF: GRegexMatchFlags = 3145728;
16935pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANY: GRegexMatchFlags = 4194304;
16936pub const GRegexMatchFlags_G_REGEX_MATCH_NEWLINE_ANYCRLF: GRegexMatchFlags = 5242880;
16937pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANYCRLF: GRegexMatchFlags = 8388608;
16938pub const GRegexMatchFlags_G_REGEX_MATCH_BSR_ANY: GRegexMatchFlags = 16777216;
16939pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_SOFT: GRegexMatchFlags = 32768;
16940pub const GRegexMatchFlags_G_REGEX_MATCH_PARTIAL_HARD: GRegexMatchFlags = 134217728;
16941pub const GRegexMatchFlags_G_REGEX_MATCH_NOTEMPTY_ATSTART: GRegexMatchFlags = 268435456;
16942pub type GRegexMatchFlags = ::std::os::raw::c_uint;
16943#[repr(C)]
16944#[derive(Debug, Copy, Clone)]
16945pub struct _GRegex {
16946    _unused: [u8; 0],
16947}
16948pub type GRegex = _GRegex;
16949#[repr(C)]
16950#[derive(Debug, Copy, Clone)]
16951pub struct _GMatchInfo {
16952    _unused: [u8; 0],
16953}
16954pub type GMatchInfo = _GMatchInfo;
16955pub type GRegexEvalCallback = ::std::option::Option<
16956    unsafe extern "C" fn(
16957        match_info: *const GMatchInfo,
16958        result: *mut GString,
16959        user_data: gpointer,
16960    ) -> gboolean,
16961>;
16962extern "C" {
16963    pub fn g_regex_new(
16964        pattern: *const gchar,
16965        compile_options: GRegexCompileFlags,
16966        match_options: GRegexMatchFlags,
16967        error: *mut *mut GError,
16968    ) -> *mut GRegex;
16969}
16970extern "C" {
16971    pub fn g_regex_ref(regex: *mut GRegex) -> *mut GRegex;
16972}
16973extern "C" {
16974    pub fn g_regex_unref(regex: *mut GRegex);
16975}
16976extern "C" {
16977    pub fn g_regex_get_pattern(regex: *const GRegex) -> *const gchar;
16978}
16979extern "C" {
16980    pub fn g_regex_get_max_backref(regex: *const GRegex) -> gint;
16981}
16982extern "C" {
16983    pub fn g_regex_get_capture_count(regex: *const GRegex) -> gint;
16984}
16985extern "C" {
16986    pub fn g_regex_get_has_cr_or_lf(regex: *const GRegex) -> gboolean;
16987}
16988extern "C" {
16989    pub fn g_regex_get_max_lookbehind(regex: *const GRegex) -> gint;
16990}
16991extern "C" {
16992    pub fn g_regex_get_string_number(regex: *const GRegex, name: *const gchar) -> gint;
16993}
16994extern "C" {
16995    pub fn g_regex_escape_string(string: *const gchar, length: gint) -> *mut gchar;
16996}
16997extern "C" {
16998    pub fn g_regex_escape_nul(string: *const gchar, length: gint) -> *mut gchar;
16999}
17000extern "C" {
17001    pub fn g_regex_get_compile_flags(regex: *const GRegex) -> GRegexCompileFlags;
17002}
17003extern "C" {
17004    pub fn g_regex_get_match_flags(regex: *const GRegex) -> GRegexMatchFlags;
17005}
17006extern "C" {
17007    pub fn g_regex_match_simple(
17008        pattern: *const gchar,
17009        string: *const gchar,
17010        compile_options: GRegexCompileFlags,
17011        match_options: GRegexMatchFlags,
17012    ) -> gboolean;
17013}
17014extern "C" {
17015    pub fn g_regex_match(
17016        regex: *const GRegex,
17017        string: *const gchar,
17018        match_options: GRegexMatchFlags,
17019        match_info: *mut *mut GMatchInfo,
17020    ) -> gboolean;
17021}
17022extern "C" {
17023    pub fn g_regex_match_full(
17024        regex: *const GRegex,
17025        string: *const gchar,
17026        string_len: gssize,
17027        start_position: gint,
17028        match_options: GRegexMatchFlags,
17029        match_info: *mut *mut GMatchInfo,
17030        error: *mut *mut GError,
17031    ) -> gboolean;
17032}
17033extern "C" {
17034    pub fn g_regex_match_all(
17035        regex: *const GRegex,
17036        string: *const gchar,
17037        match_options: GRegexMatchFlags,
17038        match_info: *mut *mut GMatchInfo,
17039    ) -> gboolean;
17040}
17041extern "C" {
17042    pub fn g_regex_match_all_full(
17043        regex: *const GRegex,
17044        string: *const gchar,
17045        string_len: gssize,
17046        start_position: gint,
17047        match_options: GRegexMatchFlags,
17048        match_info: *mut *mut GMatchInfo,
17049        error: *mut *mut GError,
17050    ) -> gboolean;
17051}
17052extern "C" {
17053    pub fn g_regex_split_simple(
17054        pattern: *const gchar,
17055        string: *const gchar,
17056        compile_options: GRegexCompileFlags,
17057        match_options: GRegexMatchFlags,
17058    ) -> *mut *mut gchar;
17059}
17060extern "C" {
17061    pub fn g_regex_split(
17062        regex: *const GRegex,
17063        string: *const gchar,
17064        match_options: GRegexMatchFlags,
17065    ) -> *mut *mut gchar;
17066}
17067extern "C" {
17068    pub fn g_regex_split_full(
17069        regex: *const GRegex,
17070        string: *const gchar,
17071        string_len: gssize,
17072        start_position: gint,
17073        match_options: GRegexMatchFlags,
17074        max_tokens: gint,
17075        error: *mut *mut GError,
17076    ) -> *mut *mut gchar;
17077}
17078extern "C" {
17079    pub fn g_regex_replace(
17080        regex: *const GRegex,
17081        string: *const gchar,
17082        string_len: gssize,
17083        start_position: gint,
17084        replacement: *const gchar,
17085        match_options: GRegexMatchFlags,
17086        error: *mut *mut GError,
17087    ) -> *mut gchar;
17088}
17089extern "C" {
17090    pub fn g_regex_replace_literal(
17091        regex: *const GRegex,
17092        string: *const gchar,
17093        string_len: gssize,
17094        start_position: gint,
17095        replacement: *const gchar,
17096        match_options: GRegexMatchFlags,
17097        error: *mut *mut GError,
17098    ) -> *mut gchar;
17099}
17100extern "C" {
17101    pub fn g_regex_replace_eval(
17102        regex: *const GRegex,
17103        string: *const gchar,
17104        string_len: gssize,
17105        start_position: gint,
17106        match_options: GRegexMatchFlags,
17107        eval: GRegexEvalCallback,
17108        user_data: gpointer,
17109        error: *mut *mut GError,
17110    ) -> *mut gchar;
17111}
17112extern "C" {
17113    pub fn g_regex_check_replacement(
17114        replacement: *const gchar,
17115        has_references: *mut gboolean,
17116        error: *mut *mut GError,
17117    ) -> gboolean;
17118}
17119extern "C" {
17120    pub fn g_match_info_get_regex(match_info: *const GMatchInfo) -> *mut GRegex;
17121}
17122extern "C" {
17123    pub fn g_match_info_get_string(match_info: *const GMatchInfo) -> *const gchar;
17124}
17125extern "C" {
17126    pub fn g_match_info_ref(match_info: *mut GMatchInfo) -> *mut GMatchInfo;
17127}
17128extern "C" {
17129    pub fn g_match_info_unref(match_info: *mut GMatchInfo);
17130}
17131extern "C" {
17132    pub fn g_match_info_free(match_info: *mut GMatchInfo);
17133}
17134extern "C" {
17135    pub fn g_match_info_next(match_info: *mut GMatchInfo, error: *mut *mut GError) -> gboolean;
17136}
17137extern "C" {
17138    pub fn g_match_info_matches(match_info: *const GMatchInfo) -> gboolean;
17139}
17140extern "C" {
17141    pub fn g_match_info_get_match_count(match_info: *const GMatchInfo) -> gint;
17142}
17143extern "C" {
17144    pub fn g_match_info_is_partial_match(match_info: *const GMatchInfo) -> gboolean;
17145}
17146extern "C" {
17147    pub fn g_match_info_expand_references(
17148        match_info: *const GMatchInfo,
17149        string_to_expand: *const gchar,
17150        error: *mut *mut GError,
17151    ) -> *mut gchar;
17152}
17153extern "C" {
17154    pub fn g_match_info_fetch(match_info: *const GMatchInfo, match_num: gint) -> *mut gchar;
17155}
17156extern "C" {
17157    pub fn g_match_info_fetch_pos(
17158        match_info: *const GMatchInfo,
17159        match_num: gint,
17160        start_pos: *mut gint,
17161        end_pos: *mut gint,
17162    ) -> gboolean;
17163}
17164extern "C" {
17165    pub fn g_match_info_fetch_named(
17166        match_info: *const GMatchInfo,
17167        name: *const gchar,
17168    ) -> *mut gchar;
17169}
17170extern "C" {
17171    pub fn g_match_info_fetch_named_pos(
17172        match_info: *const GMatchInfo,
17173        name: *const gchar,
17174        start_pos: *mut gint,
17175        end_pos: *mut gint,
17176    ) -> gboolean;
17177}
17178extern "C" {
17179    pub fn g_match_info_fetch_all(match_info: *const GMatchInfo) -> *mut *mut gchar;
17180}
17181pub type GScanner = _GScanner;
17182pub type GScannerConfig = _GScannerConfig;
17183pub type GTokenValue = _GTokenValue;
17184pub type GScannerMsgFunc = ::std::option::Option<
17185    unsafe extern "C" fn(scanner: *mut GScanner, message: *mut gchar, error: gboolean),
17186>;
17187pub const GErrorType_G_ERR_UNKNOWN: GErrorType = 0;
17188pub const GErrorType_G_ERR_UNEXP_EOF: GErrorType = 1;
17189pub const GErrorType_G_ERR_UNEXP_EOF_IN_STRING: GErrorType = 2;
17190pub const GErrorType_G_ERR_UNEXP_EOF_IN_COMMENT: GErrorType = 3;
17191pub const GErrorType_G_ERR_NON_DIGIT_IN_CONST: GErrorType = 4;
17192pub const GErrorType_G_ERR_DIGIT_RADIX: GErrorType = 5;
17193pub const GErrorType_G_ERR_FLOAT_RADIX: GErrorType = 6;
17194pub const GErrorType_G_ERR_FLOAT_MALFORMED: GErrorType = 7;
17195pub type GErrorType = ::std::os::raw::c_uint;
17196pub const GTokenType_G_TOKEN_EOF: GTokenType = 0;
17197pub const GTokenType_G_TOKEN_LEFT_PAREN: GTokenType = 40;
17198pub const GTokenType_G_TOKEN_RIGHT_PAREN: GTokenType = 41;
17199pub const GTokenType_G_TOKEN_LEFT_CURLY: GTokenType = 123;
17200pub const GTokenType_G_TOKEN_RIGHT_CURLY: GTokenType = 125;
17201pub const GTokenType_G_TOKEN_LEFT_BRACE: GTokenType = 91;
17202pub const GTokenType_G_TOKEN_RIGHT_BRACE: GTokenType = 93;
17203pub const GTokenType_G_TOKEN_EQUAL_SIGN: GTokenType = 61;
17204pub const GTokenType_G_TOKEN_COMMA: GTokenType = 44;
17205pub const GTokenType_G_TOKEN_NONE: GTokenType = 256;
17206pub const GTokenType_G_TOKEN_ERROR: GTokenType = 257;
17207pub const GTokenType_G_TOKEN_CHAR: GTokenType = 258;
17208pub const GTokenType_G_TOKEN_BINARY: GTokenType = 259;
17209pub const GTokenType_G_TOKEN_OCTAL: GTokenType = 260;
17210pub const GTokenType_G_TOKEN_INT: GTokenType = 261;
17211pub const GTokenType_G_TOKEN_HEX: GTokenType = 262;
17212pub const GTokenType_G_TOKEN_FLOAT: GTokenType = 263;
17213pub const GTokenType_G_TOKEN_STRING: GTokenType = 264;
17214pub const GTokenType_G_TOKEN_SYMBOL: GTokenType = 265;
17215pub const GTokenType_G_TOKEN_IDENTIFIER: GTokenType = 266;
17216pub const GTokenType_G_TOKEN_IDENTIFIER_NULL: GTokenType = 267;
17217pub const GTokenType_G_TOKEN_COMMENT_SINGLE: GTokenType = 268;
17218pub const GTokenType_G_TOKEN_COMMENT_MULTI: GTokenType = 269;
17219pub const GTokenType_G_TOKEN_LAST: GTokenType = 270;
17220pub type GTokenType = ::std::os::raw::c_uint;
17221#[repr(C)]
17222#[derive(Copy, Clone)]
17223pub union _GTokenValue {
17224    pub v_symbol: gpointer,
17225    pub v_identifier: *mut gchar,
17226    pub v_binary: gulong,
17227    pub v_octal: gulong,
17228    pub v_int: gulong,
17229    pub v_int64: guint64,
17230    pub v_float: gdouble,
17231    pub v_hex: gulong,
17232    pub v_string: *mut gchar,
17233    pub v_comment: *mut gchar,
17234    pub v_char: guchar,
17235    pub v_error: guint,
17236}
17237#[test]
17238fn bindgen_test_layout__GTokenValue() {
17239    const UNINIT: ::std::mem::MaybeUninit<_GTokenValue> = ::std::mem::MaybeUninit::uninit();
17240    let ptr = UNINIT.as_ptr();
17241    assert_eq!(
17242        ::std::mem::size_of::<_GTokenValue>(),
17243        8usize,
17244        concat!("Size of: ", stringify!(_GTokenValue))
17245    );
17246    assert_eq!(
17247        ::std::mem::align_of::<_GTokenValue>(),
17248        8usize,
17249        concat!("Alignment of ", stringify!(_GTokenValue))
17250    );
17251    assert_eq!(
17252        unsafe { ::std::ptr::addr_of!((*ptr).v_symbol) as usize - ptr as usize },
17253        0usize,
17254        concat!(
17255            "Offset of field: ",
17256            stringify!(_GTokenValue),
17257            "::",
17258            stringify!(v_symbol)
17259        )
17260    );
17261    assert_eq!(
17262        unsafe { ::std::ptr::addr_of!((*ptr).v_identifier) as usize - ptr as usize },
17263        0usize,
17264        concat!(
17265            "Offset of field: ",
17266            stringify!(_GTokenValue),
17267            "::",
17268            stringify!(v_identifier)
17269        )
17270    );
17271    assert_eq!(
17272        unsafe { ::std::ptr::addr_of!((*ptr).v_binary) as usize - ptr as usize },
17273        0usize,
17274        concat!(
17275            "Offset of field: ",
17276            stringify!(_GTokenValue),
17277            "::",
17278            stringify!(v_binary)
17279        )
17280    );
17281    assert_eq!(
17282        unsafe { ::std::ptr::addr_of!((*ptr).v_octal) as usize - ptr as usize },
17283        0usize,
17284        concat!(
17285            "Offset of field: ",
17286            stringify!(_GTokenValue),
17287            "::",
17288            stringify!(v_octal)
17289        )
17290    );
17291    assert_eq!(
17292        unsafe { ::std::ptr::addr_of!((*ptr).v_int) as usize - ptr as usize },
17293        0usize,
17294        concat!(
17295            "Offset of field: ",
17296            stringify!(_GTokenValue),
17297            "::",
17298            stringify!(v_int)
17299        )
17300    );
17301    assert_eq!(
17302        unsafe { ::std::ptr::addr_of!((*ptr).v_int64) as usize - ptr as usize },
17303        0usize,
17304        concat!(
17305            "Offset of field: ",
17306            stringify!(_GTokenValue),
17307            "::",
17308            stringify!(v_int64)
17309        )
17310    );
17311    assert_eq!(
17312        unsafe { ::std::ptr::addr_of!((*ptr).v_float) as usize - ptr as usize },
17313        0usize,
17314        concat!(
17315            "Offset of field: ",
17316            stringify!(_GTokenValue),
17317            "::",
17318            stringify!(v_float)
17319        )
17320    );
17321    assert_eq!(
17322        unsafe { ::std::ptr::addr_of!((*ptr).v_hex) as usize - ptr as usize },
17323        0usize,
17324        concat!(
17325            "Offset of field: ",
17326            stringify!(_GTokenValue),
17327            "::",
17328            stringify!(v_hex)
17329        )
17330    );
17331    assert_eq!(
17332        unsafe { ::std::ptr::addr_of!((*ptr).v_string) as usize - ptr as usize },
17333        0usize,
17334        concat!(
17335            "Offset of field: ",
17336            stringify!(_GTokenValue),
17337            "::",
17338            stringify!(v_string)
17339        )
17340    );
17341    assert_eq!(
17342        unsafe { ::std::ptr::addr_of!((*ptr).v_comment) as usize - ptr as usize },
17343        0usize,
17344        concat!(
17345            "Offset of field: ",
17346            stringify!(_GTokenValue),
17347            "::",
17348            stringify!(v_comment)
17349        )
17350    );
17351    assert_eq!(
17352        unsafe { ::std::ptr::addr_of!((*ptr).v_char) as usize - ptr as usize },
17353        0usize,
17354        concat!(
17355            "Offset of field: ",
17356            stringify!(_GTokenValue),
17357            "::",
17358            stringify!(v_char)
17359        )
17360    );
17361    assert_eq!(
17362        unsafe { ::std::ptr::addr_of!((*ptr).v_error) as usize - ptr as usize },
17363        0usize,
17364        concat!(
17365            "Offset of field: ",
17366            stringify!(_GTokenValue),
17367            "::",
17368            stringify!(v_error)
17369        )
17370    );
17371}
17372#[repr(C)]
17373#[derive(Debug, Copy, Clone)]
17374pub struct _GScannerConfig {
17375    pub cset_skip_characters: *mut gchar,
17376    pub cset_identifier_first: *mut gchar,
17377    pub cset_identifier_nth: *mut gchar,
17378    pub cpair_comment_single: *mut gchar,
17379    pub _bitfield_align_1: [u8; 0],
17380    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
17381    pub padding_dummy: guint,
17382}
17383#[test]
17384fn bindgen_test_layout__GScannerConfig() {
17385    const UNINIT: ::std::mem::MaybeUninit<_GScannerConfig> = ::std::mem::MaybeUninit::uninit();
17386    let ptr = UNINIT.as_ptr();
17387    assert_eq!(
17388        ::std::mem::size_of::<_GScannerConfig>(),
17389        40usize,
17390        concat!("Size of: ", stringify!(_GScannerConfig))
17391    );
17392    assert_eq!(
17393        ::std::mem::align_of::<_GScannerConfig>(),
17394        8usize,
17395        concat!("Alignment of ", stringify!(_GScannerConfig))
17396    );
17397    assert_eq!(
17398        unsafe { ::std::ptr::addr_of!((*ptr).cset_skip_characters) as usize - ptr as usize },
17399        0usize,
17400        concat!(
17401            "Offset of field: ",
17402            stringify!(_GScannerConfig),
17403            "::",
17404            stringify!(cset_skip_characters)
17405        )
17406    );
17407    assert_eq!(
17408        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_first) as usize - ptr as usize },
17409        8usize,
17410        concat!(
17411            "Offset of field: ",
17412            stringify!(_GScannerConfig),
17413            "::",
17414            stringify!(cset_identifier_first)
17415        )
17416    );
17417    assert_eq!(
17418        unsafe { ::std::ptr::addr_of!((*ptr).cset_identifier_nth) as usize - ptr as usize },
17419        16usize,
17420        concat!(
17421            "Offset of field: ",
17422            stringify!(_GScannerConfig),
17423            "::",
17424            stringify!(cset_identifier_nth)
17425        )
17426    );
17427    assert_eq!(
17428        unsafe { ::std::ptr::addr_of!((*ptr).cpair_comment_single) as usize - ptr as usize },
17429        24usize,
17430        concat!(
17431            "Offset of field: ",
17432            stringify!(_GScannerConfig),
17433            "::",
17434            stringify!(cpair_comment_single)
17435        )
17436    );
17437    assert_eq!(
17438        unsafe { ::std::ptr::addr_of!((*ptr).padding_dummy) as usize - ptr as usize },
17439        36usize,
17440        concat!(
17441            "Offset of field: ",
17442            stringify!(_GScannerConfig),
17443            "::",
17444            stringify!(padding_dummy)
17445        )
17446    );
17447}
17448impl _GScannerConfig {
17449    #[inline]
17450    pub fn case_sensitive(&self) -> guint {
17451        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
17452    }
17453    #[inline]
17454    pub fn set_case_sensitive(&mut self, val: guint) {
17455        unsafe {
17456            let val: u32 = ::std::mem::transmute(val);
17457            self._bitfield_1.set(0usize, 1u8, val as u64)
17458        }
17459    }
17460    #[inline]
17461    pub fn skip_comment_multi(&self) -> guint {
17462        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
17463    }
17464    #[inline]
17465    pub fn set_skip_comment_multi(&mut self, val: guint) {
17466        unsafe {
17467            let val: u32 = ::std::mem::transmute(val);
17468            self._bitfield_1.set(1usize, 1u8, val as u64)
17469        }
17470    }
17471    #[inline]
17472    pub fn skip_comment_single(&self) -> guint {
17473        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
17474    }
17475    #[inline]
17476    pub fn set_skip_comment_single(&mut self, val: guint) {
17477        unsafe {
17478            let val: u32 = ::std::mem::transmute(val);
17479            self._bitfield_1.set(2usize, 1u8, val as u64)
17480        }
17481    }
17482    #[inline]
17483    pub fn scan_comment_multi(&self) -> guint {
17484        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
17485    }
17486    #[inline]
17487    pub fn set_scan_comment_multi(&mut self, val: guint) {
17488        unsafe {
17489            let val: u32 = ::std::mem::transmute(val);
17490            self._bitfield_1.set(3usize, 1u8, val as u64)
17491        }
17492    }
17493    #[inline]
17494    pub fn scan_identifier(&self) -> guint {
17495        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
17496    }
17497    #[inline]
17498    pub fn set_scan_identifier(&mut self, val: guint) {
17499        unsafe {
17500            let val: u32 = ::std::mem::transmute(val);
17501            self._bitfield_1.set(4usize, 1u8, val as u64)
17502        }
17503    }
17504    #[inline]
17505    pub fn scan_identifier_1char(&self) -> guint {
17506        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
17507    }
17508    #[inline]
17509    pub fn set_scan_identifier_1char(&mut self, val: guint) {
17510        unsafe {
17511            let val: u32 = ::std::mem::transmute(val);
17512            self._bitfield_1.set(5usize, 1u8, val as u64)
17513        }
17514    }
17515    #[inline]
17516    pub fn scan_identifier_NULL(&self) -> guint {
17517        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
17518    }
17519    #[inline]
17520    pub fn set_scan_identifier_NULL(&mut self, val: guint) {
17521        unsafe {
17522            let val: u32 = ::std::mem::transmute(val);
17523            self._bitfield_1.set(6usize, 1u8, val as u64)
17524        }
17525    }
17526    #[inline]
17527    pub fn scan_symbols(&self) -> guint {
17528        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
17529    }
17530    #[inline]
17531    pub fn set_scan_symbols(&mut self, val: guint) {
17532        unsafe {
17533            let val: u32 = ::std::mem::transmute(val);
17534            self._bitfield_1.set(7usize, 1u8, val as u64)
17535        }
17536    }
17537    #[inline]
17538    pub fn scan_binary(&self) -> guint {
17539        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
17540    }
17541    #[inline]
17542    pub fn set_scan_binary(&mut self, val: guint) {
17543        unsafe {
17544            let val: u32 = ::std::mem::transmute(val);
17545            self._bitfield_1.set(8usize, 1u8, val as u64)
17546        }
17547    }
17548    #[inline]
17549    pub fn scan_octal(&self) -> guint {
17550        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
17551    }
17552    #[inline]
17553    pub fn set_scan_octal(&mut self, val: guint) {
17554        unsafe {
17555            let val: u32 = ::std::mem::transmute(val);
17556            self._bitfield_1.set(9usize, 1u8, val as u64)
17557        }
17558    }
17559    #[inline]
17560    pub fn scan_float(&self) -> guint {
17561        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
17562    }
17563    #[inline]
17564    pub fn set_scan_float(&mut self, val: guint) {
17565        unsafe {
17566            let val: u32 = ::std::mem::transmute(val);
17567            self._bitfield_1.set(10usize, 1u8, val as u64)
17568        }
17569    }
17570    #[inline]
17571    pub fn scan_hex(&self) -> guint {
17572        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
17573    }
17574    #[inline]
17575    pub fn set_scan_hex(&mut self, val: guint) {
17576        unsafe {
17577            let val: u32 = ::std::mem::transmute(val);
17578            self._bitfield_1.set(11usize, 1u8, val as u64)
17579        }
17580    }
17581    #[inline]
17582    pub fn scan_hex_dollar(&self) -> guint {
17583        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
17584    }
17585    #[inline]
17586    pub fn set_scan_hex_dollar(&mut self, val: guint) {
17587        unsafe {
17588            let val: u32 = ::std::mem::transmute(val);
17589            self._bitfield_1.set(12usize, 1u8, val as u64)
17590        }
17591    }
17592    #[inline]
17593    pub fn scan_string_sq(&self) -> guint {
17594        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
17595    }
17596    #[inline]
17597    pub fn set_scan_string_sq(&mut self, val: guint) {
17598        unsafe {
17599            let val: u32 = ::std::mem::transmute(val);
17600            self._bitfield_1.set(13usize, 1u8, val as u64)
17601        }
17602    }
17603    #[inline]
17604    pub fn scan_string_dq(&self) -> guint {
17605        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
17606    }
17607    #[inline]
17608    pub fn set_scan_string_dq(&mut self, val: guint) {
17609        unsafe {
17610            let val: u32 = ::std::mem::transmute(val);
17611            self._bitfield_1.set(14usize, 1u8, val as u64)
17612        }
17613    }
17614    #[inline]
17615    pub fn numbers_2_int(&self) -> guint {
17616        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
17617    }
17618    #[inline]
17619    pub fn set_numbers_2_int(&mut self, val: guint) {
17620        unsafe {
17621            let val: u32 = ::std::mem::transmute(val);
17622            self._bitfield_1.set(15usize, 1u8, val as u64)
17623        }
17624    }
17625    #[inline]
17626    pub fn int_2_float(&self) -> guint {
17627        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
17628    }
17629    #[inline]
17630    pub fn set_int_2_float(&mut self, val: guint) {
17631        unsafe {
17632            let val: u32 = ::std::mem::transmute(val);
17633            self._bitfield_1.set(16usize, 1u8, val as u64)
17634        }
17635    }
17636    #[inline]
17637    pub fn identifier_2_string(&self) -> guint {
17638        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
17639    }
17640    #[inline]
17641    pub fn set_identifier_2_string(&mut self, val: guint) {
17642        unsafe {
17643            let val: u32 = ::std::mem::transmute(val);
17644            self._bitfield_1.set(17usize, 1u8, val as u64)
17645        }
17646    }
17647    #[inline]
17648    pub fn char_2_token(&self) -> guint {
17649        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
17650    }
17651    #[inline]
17652    pub fn set_char_2_token(&mut self, val: guint) {
17653        unsafe {
17654            let val: u32 = ::std::mem::transmute(val);
17655            self._bitfield_1.set(18usize, 1u8, val as u64)
17656        }
17657    }
17658    #[inline]
17659    pub fn symbol_2_token(&self) -> guint {
17660        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
17661    }
17662    #[inline]
17663    pub fn set_symbol_2_token(&mut self, val: guint) {
17664        unsafe {
17665            let val: u32 = ::std::mem::transmute(val);
17666            self._bitfield_1.set(19usize, 1u8, val as u64)
17667        }
17668    }
17669    #[inline]
17670    pub fn scope_0_fallback(&self) -> guint {
17671        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
17672    }
17673    #[inline]
17674    pub fn set_scope_0_fallback(&mut self, val: guint) {
17675        unsafe {
17676            let val: u32 = ::std::mem::transmute(val);
17677            self._bitfield_1.set(20usize, 1u8, val as u64)
17678        }
17679    }
17680    #[inline]
17681    pub fn store_int64(&self) -> guint {
17682        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
17683    }
17684    #[inline]
17685    pub fn set_store_int64(&mut self, val: guint) {
17686        unsafe {
17687            let val: u32 = ::std::mem::transmute(val);
17688            self._bitfield_1.set(21usize, 1u8, val as u64)
17689        }
17690    }
17691    #[inline]
17692    pub fn new_bitfield_1(
17693        case_sensitive: guint,
17694        skip_comment_multi: guint,
17695        skip_comment_single: guint,
17696        scan_comment_multi: guint,
17697        scan_identifier: guint,
17698        scan_identifier_1char: guint,
17699        scan_identifier_NULL: guint,
17700        scan_symbols: guint,
17701        scan_binary: guint,
17702        scan_octal: guint,
17703        scan_float: guint,
17704        scan_hex: guint,
17705        scan_hex_dollar: guint,
17706        scan_string_sq: guint,
17707        scan_string_dq: guint,
17708        numbers_2_int: guint,
17709        int_2_float: guint,
17710        identifier_2_string: guint,
17711        char_2_token: guint,
17712        symbol_2_token: guint,
17713        scope_0_fallback: guint,
17714        store_int64: guint,
17715    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
17716        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
17717        __bindgen_bitfield_unit.set(0usize, 1u8, {
17718            let case_sensitive: u32 = unsafe { ::std::mem::transmute(case_sensitive) };
17719            case_sensitive as u64
17720        });
17721        __bindgen_bitfield_unit.set(1usize, 1u8, {
17722            let skip_comment_multi: u32 = unsafe { ::std::mem::transmute(skip_comment_multi) };
17723            skip_comment_multi as u64
17724        });
17725        __bindgen_bitfield_unit.set(2usize, 1u8, {
17726            let skip_comment_single: u32 = unsafe { ::std::mem::transmute(skip_comment_single) };
17727            skip_comment_single as u64
17728        });
17729        __bindgen_bitfield_unit.set(3usize, 1u8, {
17730            let scan_comment_multi: u32 = unsafe { ::std::mem::transmute(scan_comment_multi) };
17731            scan_comment_multi as u64
17732        });
17733        __bindgen_bitfield_unit.set(4usize, 1u8, {
17734            let scan_identifier: u32 = unsafe { ::std::mem::transmute(scan_identifier) };
17735            scan_identifier as u64
17736        });
17737        __bindgen_bitfield_unit.set(5usize, 1u8, {
17738            let scan_identifier_1char: u32 =
17739                unsafe { ::std::mem::transmute(scan_identifier_1char) };
17740            scan_identifier_1char as u64
17741        });
17742        __bindgen_bitfield_unit.set(6usize, 1u8, {
17743            let scan_identifier_NULL: u32 = unsafe { ::std::mem::transmute(scan_identifier_NULL) };
17744            scan_identifier_NULL as u64
17745        });
17746        __bindgen_bitfield_unit.set(7usize, 1u8, {
17747            let scan_symbols: u32 = unsafe { ::std::mem::transmute(scan_symbols) };
17748            scan_symbols as u64
17749        });
17750        __bindgen_bitfield_unit.set(8usize, 1u8, {
17751            let scan_binary: u32 = unsafe { ::std::mem::transmute(scan_binary) };
17752            scan_binary as u64
17753        });
17754        __bindgen_bitfield_unit.set(9usize, 1u8, {
17755            let scan_octal: u32 = unsafe { ::std::mem::transmute(scan_octal) };
17756            scan_octal as u64
17757        });
17758        __bindgen_bitfield_unit.set(10usize, 1u8, {
17759            let scan_float: u32 = unsafe { ::std::mem::transmute(scan_float) };
17760            scan_float as u64
17761        });
17762        __bindgen_bitfield_unit.set(11usize, 1u8, {
17763            let scan_hex: u32 = unsafe { ::std::mem::transmute(scan_hex) };
17764            scan_hex as u64
17765        });
17766        __bindgen_bitfield_unit.set(12usize, 1u8, {
17767            let scan_hex_dollar: u32 = unsafe { ::std::mem::transmute(scan_hex_dollar) };
17768            scan_hex_dollar as u64
17769        });
17770        __bindgen_bitfield_unit.set(13usize, 1u8, {
17771            let scan_string_sq: u32 = unsafe { ::std::mem::transmute(scan_string_sq) };
17772            scan_string_sq as u64
17773        });
17774        __bindgen_bitfield_unit.set(14usize, 1u8, {
17775            let scan_string_dq: u32 = unsafe { ::std::mem::transmute(scan_string_dq) };
17776            scan_string_dq as u64
17777        });
17778        __bindgen_bitfield_unit.set(15usize, 1u8, {
17779            let numbers_2_int: u32 = unsafe { ::std::mem::transmute(numbers_2_int) };
17780            numbers_2_int as u64
17781        });
17782        __bindgen_bitfield_unit.set(16usize, 1u8, {
17783            let int_2_float: u32 = unsafe { ::std::mem::transmute(int_2_float) };
17784            int_2_float as u64
17785        });
17786        __bindgen_bitfield_unit.set(17usize, 1u8, {
17787            let identifier_2_string: u32 = unsafe { ::std::mem::transmute(identifier_2_string) };
17788            identifier_2_string as u64
17789        });
17790        __bindgen_bitfield_unit.set(18usize, 1u8, {
17791            let char_2_token: u32 = unsafe { ::std::mem::transmute(char_2_token) };
17792            char_2_token as u64
17793        });
17794        __bindgen_bitfield_unit.set(19usize, 1u8, {
17795            let symbol_2_token: u32 = unsafe { ::std::mem::transmute(symbol_2_token) };
17796            symbol_2_token as u64
17797        });
17798        __bindgen_bitfield_unit.set(20usize, 1u8, {
17799            let scope_0_fallback: u32 = unsafe { ::std::mem::transmute(scope_0_fallback) };
17800            scope_0_fallback as u64
17801        });
17802        __bindgen_bitfield_unit.set(21usize, 1u8, {
17803            let store_int64: u32 = unsafe { ::std::mem::transmute(store_int64) };
17804            store_int64 as u64
17805        });
17806        __bindgen_bitfield_unit
17807    }
17808}
17809#[repr(C)]
17810#[derive(Copy, Clone)]
17811pub struct _GScanner {
17812    pub user_data: gpointer,
17813    pub max_parse_errors: guint,
17814    pub parse_errors: guint,
17815    pub input_name: *const gchar,
17816    pub qdata: *mut GData,
17817    pub config: *mut GScannerConfig,
17818    pub token: GTokenType,
17819    pub value: GTokenValue,
17820    pub line: guint,
17821    pub position: guint,
17822    pub next_token: GTokenType,
17823    pub next_value: GTokenValue,
17824    pub next_line: guint,
17825    pub next_position: guint,
17826    pub symbol_table: *mut GHashTable,
17827    pub input_fd: gint,
17828    pub text: *const gchar,
17829    pub text_end: *const gchar,
17830    pub buffer: *mut gchar,
17831    pub scope_id: guint,
17832    pub msg_handler: GScannerMsgFunc,
17833}
17834#[test]
17835fn bindgen_test_layout__GScanner() {
17836    const UNINIT: ::std::mem::MaybeUninit<_GScanner> = ::std::mem::MaybeUninit::uninit();
17837    let ptr = UNINIT.as_ptr();
17838    assert_eq!(
17839        ::std::mem::size_of::<_GScanner>(),
17840        144usize,
17841        concat!("Size of: ", stringify!(_GScanner))
17842    );
17843    assert_eq!(
17844        ::std::mem::align_of::<_GScanner>(),
17845        8usize,
17846        concat!("Alignment of ", stringify!(_GScanner))
17847    );
17848    assert_eq!(
17849        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
17850        0usize,
17851        concat!(
17852            "Offset of field: ",
17853            stringify!(_GScanner),
17854            "::",
17855            stringify!(user_data)
17856        )
17857    );
17858    assert_eq!(
17859        unsafe { ::std::ptr::addr_of!((*ptr).max_parse_errors) as usize - ptr as usize },
17860        8usize,
17861        concat!(
17862            "Offset of field: ",
17863            stringify!(_GScanner),
17864            "::",
17865            stringify!(max_parse_errors)
17866        )
17867    );
17868    assert_eq!(
17869        unsafe { ::std::ptr::addr_of!((*ptr).parse_errors) as usize - ptr as usize },
17870        12usize,
17871        concat!(
17872            "Offset of field: ",
17873            stringify!(_GScanner),
17874            "::",
17875            stringify!(parse_errors)
17876        )
17877    );
17878    assert_eq!(
17879        unsafe { ::std::ptr::addr_of!((*ptr).input_name) as usize - ptr as usize },
17880        16usize,
17881        concat!(
17882            "Offset of field: ",
17883            stringify!(_GScanner),
17884            "::",
17885            stringify!(input_name)
17886        )
17887    );
17888    assert_eq!(
17889        unsafe { ::std::ptr::addr_of!((*ptr).qdata) as usize - ptr as usize },
17890        24usize,
17891        concat!(
17892            "Offset of field: ",
17893            stringify!(_GScanner),
17894            "::",
17895            stringify!(qdata)
17896        )
17897    );
17898    assert_eq!(
17899        unsafe { ::std::ptr::addr_of!((*ptr).config) as usize - ptr as usize },
17900        32usize,
17901        concat!(
17902            "Offset of field: ",
17903            stringify!(_GScanner),
17904            "::",
17905            stringify!(config)
17906        )
17907    );
17908    assert_eq!(
17909        unsafe { ::std::ptr::addr_of!((*ptr).token) as usize - ptr as usize },
17910        40usize,
17911        concat!(
17912            "Offset of field: ",
17913            stringify!(_GScanner),
17914            "::",
17915            stringify!(token)
17916        )
17917    );
17918    assert_eq!(
17919        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
17920        48usize,
17921        concat!(
17922            "Offset of field: ",
17923            stringify!(_GScanner),
17924            "::",
17925            stringify!(value)
17926        )
17927    );
17928    assert_eq!(
17929        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
17930        56usize,
17931        concat!(
17932            "Offset of field: ",
17933            stringify!(_GScanner),
17934            "::",
17935            stringify!(line)
17936        )
17937    );
17938    assert_eq!(
17939        unsafe { ::std::ptr::addr_of!((*ptr).position) as usize - ptr as usize },
17940        60usize,
17941        concat!(
17942            "Offset of field: ",
17943            stringify!(_GScanner),
17944            "::",
17945            stringify!(position)
17946        )
17947    );
17948    assert_eq!(
17949        unsafe { ::std::ptr::addr_of!((*ptr).next_token) as usize - ptr as usize },
17950        64usize,
17951        concat!(
17952            "Offset of field: ",
17953            stringify!(_GScanner),
17954            "::",
17955            stringify!(next_token)
17956        )
17957    );
17958    assert_eq!(
17959        unsafe { ::std::ptr::addr_of!((*ptr).next_value) as usize - ptr as usize },
17960        72usize,
17961        concat!(
17962            "Offset of field: ",
17963            stringify!(_GScanner),
17964            "::",
17965            stringify!(next_value)
17966        )
17967    );
17968    assert_eq!(
17969        unsafe { ::std::ptr::addr_of!((*ptr).next_line) as usize - ptr as usize },
17970        80usize,
17971        concat!(
17972            "Offset of field: ",
17973            stringify!(_GScanner),
17974            "::",
17975            stringify!(next_line)
17976        )
17977    );
17978    assert_eq!(
17979        unsafe { ::std::ptr::addr_of!((*ptr).next_position) as usize - ptr as usize },
17980        84usize,
17981        concat!(
17982            "Offset of field: ",
17983            stringify!(_GScanner),
17984            "::",
17985            stringify!(next_position)
17986        )
17987    );
17988    assert_eq!(
17989        unsafe { ::std::ptr::addr_of!((*ptr).symbol_table) as usize - ptr as usize },
17990        88usize,
17991        concat!(
17992            "Offset of field: ",
17993            stringify!(_GScanner),
17994            "::",
17995            stringify!(symbol_table)
17996        )
17997    );
17998    assert_eq!(
17999        unsafe { ::std::ptr::addr_of!((*ptr).input_fd) as usize - ptr as usize },
18000        96usize,
18001        concat!(
18002            "Offset of field: ",
18003            stringify!(_GScanner),
18004            "::",
18005            stringify!(input_fd)
18006        )
18007    );
18008    assert_eq!(
18009        unsafe { ::std::ptr::addr_of!((*ptr).text) as usize - ptr as usize },
18010        104usize,
18011        concat!(
18012            "Offset of field: ",
18013            stringify!(_GScanner),
18014            "::",
18015            stringify!(text)
18016        )
18017    );
18018    assert_eq!(
18019        unsafe { ::std::ptr::addr_of!((*ptr).text_end) as usize - ptr as usize },
18020        112usize,
18021        concat!(
18022            "Offset of field: ",
18023            stringify!(_GScanner),
18024            "::",
18025            stringify!(text_end)
18026        )
18027    );
18028    assert_eq!(
18029        unsafe { ::std::ptr::addr_of!((*ptr).buffer) as usize - ptr as usize },
18030        120usize,
18031        concat!(
18032            "Offset of field: ",
18033            stringify!(_GScanner),
18034            "::",
18035            stringify!(buffer)
18036        )
18037    );
18038    assert_eq!(
18039        unsafe { ::std::ptr::addr_of!((*ptr).scope_id) as usize - ptr as usize },
18040        128usize,
18041        concat!(
18042            "Offset of field: ",
18043            stringify!(_GScanner),
18044            "::",
18045            stringify!(scope_id)
18046        )
18047    );
18048    assert_eq!(
18049        unsafe { ::std::ptr::addr_of!((*ptr).msg_handler) as usize - ptr as usize },
18050        136usize,
18051        concat!(
18052            "Offset of field: ",
18053            stringify!(_GScanner),
18054            "::",
18055            stringify!(msg_handler)
18056        )
18057    );
18058}
18059extern "C" {
18060    pub fn g_scanner_new(config_templ: *const GScannerConfig) -> *mut GScanner;
18061}
18062extern "C" {
18063    pub fn g_scanner_destroy(scanner: *mut GScanner);
18064}
18065extern "C" {
18066    pub fn g_scanner_input_file(scanner: *mut GScanner, input_fd: gint);
18067}
18068extern "C" {
18069    pub fn g_scanner_sync_file_offset(scanner: *mut GScanner);
18070}
18071extern "C" {
18072    pub fn g_scanner_input_text(scanner: *mut GScanner, text: *const gchar, text_len: guint);
18073}
18074extern "C" {
18075    pub fn g_scanner_get_next_token(scanner: *mut GScanner) -> GTokenType;
18076}
18077extern "C" {
18078    pub fn g_scanner_peek_next_token(scanner: *mut GScanner) -> GTokenType;
18079}
18080extern "C" {
18081    pub fn g_scanner_cur_token(scanner: *mut GScanner) -> GTokenType;
18082}
18083extern "C" {
18084    pub fn g_scanner_cur_value(scanner: *mut GScanner) -> GTokenValue;
18085}
18086extern "C" {
18087    pub fn g_scanner_cur_line(scanner: *mut GScanner) -> guint;
18088}
18089extern "C" {
18090    pub fn g_scanner_cur_position(scanner: *mut GScanner) -> guint;
18091}
18092extern "C" {
18093    pub fn g_scanner_eof(scanner: *mut GScanner) -> gboolean;
18094}
18095extern "C" {
18096    pub fn g_scanner_set_scope(scanner: *mut GScanner, scope_id: guint) -> guint;
18097}
18098extern "C" {
18099    pub fn g_scanner_scope_add_symbol(
18100        scanner: *mut GScanner,
18101        scope_id: guint,
18102        symbol: *const gchar,
18103        value: gpointer,
18104    );
18105}
18106extern "C" {
18107    pub fn g_scanner_scope_remove_symbol(
18108        scanner: *mut GScanner,
18109        scope_id: guint,
18110        symbol: *const gchar,
18111    );
18112}
18113extern "C" {
18114    pub fn g_scanner_scope_lookup_symbol(
18115        scanner: *mut GScanner,
18116        scope_id: guint,
18117        symbol: *const gchar,
18118    ) -> gpointer;
18119}
18120extern "C" {
18121    pub fn g_scanner_scope_foreach_symbol(
18122        scanner: *mut GScanner,
18123        scope_id: guint,
18124        func: GHFunc,
18125        user_data: gpointer,
18126    );
18127}
18128extern "C" {
18129    pub fn g_scanner_lookup_symbol(scanner: *mut GScanner, symbol: *const gchar) -> gpointer;
18130}
18131extern "C" {
18132    pub fn g_scanner_unexp_token(
18133        scanner: *mut GScanner,
18134        expected_token: GTokenType,
18135        identifier_spec: *const gchar,
18136        symbol_spec: *const gchar,
18137        symbol_name: *const gchar,
18138        message: *const gchar,
18139        is_error: gint,
18140    );
18141}
18142extern "C" {
18143    pub fn g_scanner_error(scanner: *mut GScanner, format: *const gchar, ...);
18144}
18145extern "C" {
18146    pub fn g_scanner_warn(scanner: *mut GScanner, format: *const gchar, ...);
18147}
18148#[repr(C)]
18149#[derive(Debug, Copy, Clone)]
18150pub struct _GSequence {
18151    _unused: [u8; 0],
18152}
18153pub type GSequence = _GSequence;
18154#[repr(C)]
18155#[derive(Debug, Copy, Clone)]
18156pub struct _GSequenceNode {
18157    _unused: [u8; 0],
18158}
18159pub type GSequenceIter = _GSequenceNode;
18160pub type GSequenceIterCompareFunc = ::std::option::Option<
18161    unsafe extern "C" fn(a: *mut GSequenceIter, b: *mut GSequenceIter, data: gpointer) -> gint,
18162>;
18163extern "C" {
18164    pub fn g_sequence_new(data_destroy: GDestroyNotify) -> *mut GSequence;
18165}
18166extern "C" {
18167    pub fn g_sequence_free(seq: *mut GSequence);
18168}
18169extern "C" {
18170    pub fn g_sequence_get_length(seq: *mut GSequence) -> gint;
18171}
18172extern "C" {
18173    pub fn g_sequence_foreach(seq: *mut GSequence, func: GFunc, user_data: gpointer);
18174}
18175extern "C" {
18176    pub fn g_sequence_foreach_range(
18177        begin: *mut GSequenceIter,
18178        end: *mut GSequenceIter,
18179        func: GFunc,
18180        user_data: gpointer,
18181    );
18182}
18183extern "C" {
18184    pub fn g_sequence_sort(seq: *mut GSequence, cmp_func: GCompareDataFunc, cmp_data: gpointer);
18185}
18186extern "C" {
18187    pub fn g_sequence_sort_iter(
18188        seq: *mut GSequence,
18189        cmp_func: GSequenceIterCompareFunc,
18190        cmp_data: gpointer,
18191    );
18192}
18193extern "C" {
18194    pub fn g_sequence_is_empty(seq: *mut GSequence) -> gboolean;
18195}
18196extern "C" {
18197    pub fn g_sequence_get_begin_iter(seq: *mut GSequence) -> *mut GSequenceIter;
18198}
18199extern "C" {
18200    pub fn g_sequence_get_end_iter(seq: *mut GSequence) -> *mut GSequenceIter;
18201}
18202extern "C" {
18203    pub fn g_sequence_get_iter_at_pos(seq: *mut GSequence, pos: gint) -> *mut GSequenceIter;
18204}
18205extern "C" {
18206    pub fn g_sequence_append(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
18207}
18208extern "C" {
18209    pub fn g_sequence_prepend(seq: *mut GSequence, data: gpointer) -> *mut GSequenceIter;
18210}
18211extern "C" {
18212    pub fn g_sequence_insert_before(iter: *mut GSequenceIter, data: gpointer)
18213        -> *mut GSequenceIter;
18214}
18215extern "C" {
18216    pub fn g_sequence_move(src: *mut GSequenceIter, dest: *mut GSequenceIter);
18217}
18218extern "C" {
18219    pub fn g_sequence_swap(a: *mut GSequenceIter, b: *mut GSequenceIter);
18220}
18221extern "C" {
18222    pub fn g_sequence_insert_sorted(
18223        seq: *mut GSequence,
18224        data: gpointer,
18225        cmp_func: GCompareDataFunc,
18226        cmp_data: gpointer,
18227    ) -> *mut GSequenceIter;
18228}
18229extern "C" {
18230    pub fn g_sequence_insert_sorted_iter(
18231        seq: *mut GSequence,
18232        data: gpointer,
18233        iter_cmp: GSequenceIterCompareFunc,
18234        cmp_data: gpointer,
18235    ) -> *mut GSequenceIter;
18236}
18237extern "C" {
18238    pub fn g_sequence_sort_changed(
18239        iter: *mut GSequenceIter,
18240        cmp_func: GCompareDataFunc,
18241        cmp_data: gpointer,
18242    );
18243}
18244extern "C" {
18245    pub fn g_sequence_sort_changed_iter(
18246        iter: *mut GSequenceIter,
18247        iter_cmp: GSequenceIterCompareFunc,
18248        cmp_data: gpointer,
18249    );
18250}
18251extern "C" {
18252    pub fn g_sequence_remove(iter: *mut GSequenceIter);
18253}
18254extern "C" {
18255    pub fn g_sequence_remove_range(begin: *mut GSequenceIter, end: *mut GSequenceIter);
18256}
18257extern "C" {
18258    pub fn g_sequence_move_range(
18259        dest: *mut GSequenceIter,
18260        begin: *mut GSequenceIter,
18261        end: *mut GSequenceIter,
18262    );
18263}
18264extern "C" {
18265    pub fn g_sequence_search(
18266        seq: *mut GSequence,
18267        data: gpointer,
18268        cmp_func: GCompareDataFunc,
18269        cmp_data: gpointer,
18270    ) -> *mut GSequenceIter;
18271}
18272extern "C" {
18273    pub fn g_sequence_search_iter(
18274        seq: *mut GSequence,
18275        data: gpointer,
18276        iter_cmp: GSequenceIterCompareFunc,
18277        cmp_data: gpointer,
18278    ) -> *mut GSequenceIter;
18279}
18280extern "C" {
18281    pub fn g_sequence_lookup(
18282        seq: *mut GSequence,
18283        data: gpointer,
18284        cmp_func: GCompareDataFunc,
18285        cmp_data: gpointer,
18286    ) -> *mut GSequenceIter;
18287}
18288extern "C" {
18289    pub fn g_sequence_lookup_iter(
18290        seq: *mut GSequence,
18291        data: gpointer,
18292        iter_cmp: GSequenceIterCompareFunc,
18293        cmp_data: gpointer,
18294    ) -> *mut GSequenceIter;
18295}
18296extern "C" {
18297    pub fn g_sequence_get(iter: *mut GSequenceIter) -> gpointer;
18298}
18299extern "C" {
18300    pub fn g_sequence_set(iter: *mut GSequenceIter, data: gpointer);
18301}
18302extern "C" {
18303    pub fn g_sequence_iter_is_begin(iter: *mut GSequenceIter) -> gboolean;
18304}
18305extern "C" {
18306    pub fn g_sequence_iter_is_end(iter: *mut GSequenceIter) -> gboolean;
18307}
18308extern "C" {
18309    pub fn g_sequence_iter_next(iter: *mut GSequenceIter) -> *mut GSequenceIter;
18310}
18311extern "C" {
18312    pub fn g_sequence_iter_prev(iter: *mut GSequenceIter) -> *mut GSequenceIter;
18313}
18314extern "C" {
18315    pub fn g_sequence_iter_get_position(iter: *mut GSequenceIter) -> gint;
18316}
18317extern "C" {
18318    pub fn g_sequence_iter_move(iter: *mut GSequenceIter, delta: gint) -> *mut GSequenceIter;
18319}
18320extern "C" {
18321    pub fn g_sequence_iter_get_sequence(iter: *mut GSequenceIter) -> *mut GSequence;
18322}
18323extern "C" {
18324    pub fn g_sequence_iter_compare(a: *mut GSequenceIter, b: *mut GSequenceIter) -> gint;
18325}
18326extern "C" {
18327    pub fn g_sequence_range_get_midpoint(
18328        begin: *mut GSequenceIter,
18329        end: *mut GSequenceIter,
18330    ) -> *mut GSequenceIter;
18331}
18332pub const GShellError_G_SHELL_ERROR_BAD_QUOTING: GShellError = 0;
18333pub const GShellError_G_SHELL_ERROR_EMPTY_STRING: GShellError = 1;
18334pub const GShellError_G_SHELL_ERROR_FAILED: GShellError = 2;
18335pub type GShellError = ::std::os::raw::c_uint;
18336extern "C" {
18337    pub fn g_shell_error_quark() -> GQuark;
18338}
18339extern "C" {
18340    pub fn g_shell_quote(unquoted_string: *const gchar) -> *mut gchar;
18341}
18342extern "C" {
18343    pub fn g_shell_unquote(quoted_string: *const gchar, error: *mut *mut GError) -> *mut gchar;
18344}
18345extern "C" {
18346    pub fn g_shell_parse_argv(
18347        command_line: *const gchar,
18348        argcp: *mut gint,
18349        argvp: *mut *mut *mut gchar,
18350        error: *mut *mut GError,
18351    ) -> gboolean;
18352}
18353extern "C" {
18354    pub fn g_slice_alloc(block_size: gsize) -> gpointer;
18355}
18356extern "C" {
18357    pub fn g_slice_alloc0(block_size: gsize) -> gpointer;
18358}
18359extern "C" {
18360    pub fn g_slice_copy(block_size: gsize, mem_block: gconstpointer) -> gpointer;
18361}
18362extern "C" {
18363    pub fn g_slice_free1(block_size: gsize, mem_block: gpointer);
18364}
18365extern "C" {
18366    pub fn g_slice_free_chain_with_offset(
18367        block_size: gsize,
18368        mem_chain: gpointer,
18369        next_offset: gsize,
18370    );
18371}
18372pub const GSliceConfig_G_SLICE_CONFIG_ALWAYS_MALLOC: GSliceConfig = 1;
18373pub const GSliceConfig_G_SLICE_CONFIG_BYPASS_MAGAZINES: GSliceConfig = 2;
18374pub const GSliceConfig_G_SLICE_CONFIG_WORKING_SET_MSECS: GSliceConfig = 3;
18375pub const GSliceConfig_G_SLICE_CONFIG_COLOR_INCREMENT: GSliceConfig = 4;
18376pub const GSliceConfig_G_SLICE_CONFIG_CHUNK_SIZES: GSliceConfig = 5;
18377pub const GSliceConfig_G_SLICE_CONFIG_CONTENTION_COUNTER: GSliceConfig = 6;
18378pub type GSliceConfig = ::std::os::raw::c_uint;
18379extern "C" {
18380    pub fn g_slice_set_config(ckey: GSliceConfig, value: gint64);
18381}
18382extern "C" {
18383    pub fn g_slice_get_config(ckey: GSliceConfig) -> gint64;
18384}
18385extern "C" {
18386    pub fn g_slice_get_config_state(
18387        ckey: GSliceConfig,
18388        address: gint64,
18389        n_values: *mut guint,
18390    ) -> *mut gint64;
18391}
18392pub const GSpawnError_G_SPAWN_ERROR_FORK: GSpawnError = 0;
18393pub const GSpawnError_G_SPAWN_ERROR_READ: GSpawnError = 1;
18394pub const GSpawnError_G_SPAWN_ERROR_CHDIR: GSpawnError = 2;
18395pub const GSpawnError_G_SPAWN_ERROR_ACCES: GSpawnError = 3;
18396pub const GSpawnError_G_SPAWN_ERROR_PERM: GSpawnError = 4;
18397pub const GSpawnError_G_SPAWN_ERROR_TOO_BIG: GSpawnError = 5;
18398pub const GSpawnError_G_SPAWN_ERROR_2BIG: GSpawnError = 5;
18399pub const GSpawnError_G_SPAWN_ERROR_NOEXEC: GSpawnError = 6;
18400pub const GSpawnError_G_SPAWN_ERROR_NAMETOOLONG: GSpawnError = 7;
18401pub const GSpawnError_G_SPAWN_ERROR_NOENT: GSpawnError = 8;
18402pub const GSpawnError_G_SPAWN_ERROR_NOMEM: GSpawnError = 9;
18403pub const GSpawnError_G_SPAWN_ERROR_NOTDIR: GSpawnError = 10;
18404pub const GSpawnError_G_SPAWN_ERROR_LOOP: GSpawnError = 11;
18405pub const GSpawnError_G_SPAWN_ERROR_TXTBUSY: GSpawnError = 12;
18406pub const GSpawnError_G_SPAWN_ERROR_IO: GSpawnError = 13;
18407pub const GSpawnError_G_SPAWN_ERROR_NFILE: GSpawnError = 14;
18408pub const GSpawnError_G_SPAWN_ERROR_MFILE: GSpawnError = 15;
18409pub const GSpawnError_G_SPAWN_ERROR_INVAL: GSpawnError = 16;
18410pub const GSpawnError_G_SPAWN_ERROR_ISDIR: GSpawnError = 17;
18411pub const GSpawnError_G_SPAWN_ERROR_LIBBAD: GSpawnError = 18;
18412pub const GSpawnError_G_SPAWN_ERROR_FAILED: GSpawnError = 19;
18413pub type GSpawnError = ::std::os::raw::c_uint;
18414pub type GSpawnChildSetupFunc = ::std::option::Option<unsafe extern "C" fn(data: gpointer)>;
18415pub const GSpawnFlags_G_SPAWN_DEFAULT: GSpawnFlags = 0;
18416pub const GSpawnFlags_G_SPAWN_LEAVE_DESCRIPTORS_OPEN: GSpawnFlags = 1;
18417pub const GSpawnFlags_G_SPAWN_DO_NOT_REAP_CHILD: GSpawnFlags = 2;
18418pub const GSpawnFlags_G_SPAWN_SEARCH_PATH: GSpawnFlags = 4;
18419pub const GSpawnFlags_G_SPAWN_STDOUT_TO_DEV_NULL: GSpawnFlags = 8;
18420pub const GSpawnFlags_G_SPAWN_STDERR_TO_DEV_NULL: GSpawnFlags = 16;
18421pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDIN: GSpawnFlags = 32;
18422pub const GSpawnFlags_G_SPAWN_FILE_AND_ARGV_ZERO: GSpawnFlags = 64;
18423pub const GSpawnFlags_G_SPAWN_SEARCH_PATH_FROM_ENVP: GSpawnFlags = 128;
18424pub const GSpawnFlags_G_SPAWN_CLOEXEC_PIPES: GSpawnFlags = 256;
18425pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDOUT: GSpawnFlags = 512;
18426pub const GSpawnFlags_G_SPAWN_CHILD_INHERITS_STDERR: GSpawnFlags = 1024;
18427pub const GSpawnFlags_G_SPAWN_STDIN_FROM_DEV_NULL: GSpawnFlags = 2048;
18428pub type GSpawnFlags = ::std::os::raw::c_uint;
18429extern "C" {
18430    pub fn g_spawn_error_quark() -> GQuark;
18431}
18432extern "C" {
18433    pub fn g_spawn_exit_error_quark() -> GQuark;
18434}
18435extern "C" {
18436    pub fn g_spawn_async(
18437        working_directory: *const gchar,
18438        argv: *mut *mut gchar,
18439        envp: *mut *mut gchar,
18440        flags: GSpawnFlags,
18441        child_setup: GSpawnChildSetupFunc,
18442        user_data: gpointer,
18443        child_pid: *mut GPid,
18444        error: *mut *mut GError,
18445    ) -> gboolean;
18446}
18447extern "C" {
18448    pub fn g_spawn_async_with_pipes(
18449        working_directory: *const gchar,
18450        argv: *mut *mut gchar,
18451        envp: *mut *mut gchar,
18452        flags: GSpawnFlags,
18453        child_setup: GSpawnChildSetupFunc,
18454        user_data: gpointer,
18455        child_pid: *mut GPid,
18456        standard_input: *mut gint,
18457        standard_output: *mut gint,
18458        standard_error: *mut gint,
18459        error: *mut *mut GError,
18460    ) -> gboolean;
18461}
18462extern "C" {
18463    pub fn g_spawn_async_with_pipes_and_fds(
18464        working_directory: *const gchar,
18465        argv: *const *const gchar,
18466        envp: *const *const gchar,
18467        flags: GSpawnFlags,
18468        child_setup: GSpawnChildSetupFunc,
18469        user_data: gpointer,
18470        stdin_fd: gint,
18471        stdout_fd: gint,
18472        stderr_fd: gint,
18473        source_fds: *const gint,
18474        target_fds: *const gint,
18475        n_fds: gsize,
18476        child_pid_out: *mut GPid,
18477        stdin_pipe_out: *mut gint,
18478        stdout_pipe_out: *mut gint,
18479        stderr_pipe_out: *mut gint,
18480        error: *mut *mut GError,
18481    ) -> gboolean;
18482}
18483extern "C" {
18484    pub fn g_spawn_async_with_fds(
18485        working_directory: *const gchar,
18486        argv: *mut *mut gchar,
18487        envp: *mut *mut gchar,
18488        flags: GSpawnFlags,
18489        child_setup: GSpawnChildSetupFunc,
18490        user_data: gpointer,
18491        child_pid: *mut GPid,
18492        stdin_fd: gint,
18493        stdout_fd: gint,
18494        stderr_fd: gint,
18495        error: *mut *mut GError,
18496    ) -> gboolean;
18497}
18498extern "C" {
18499    pub fn g_spawn_sync(
18500        working_directory: *const gchar,
18501        argv: *mut *mut gchar,
18502        envp: *mut *mut gchar,
18503        flags: GSpawnFlags,
18504        child_setup: GSpawnChildSetupFunc,
18505        user_data: gpointer,
18506        standard_output: *mut *mut gchar,
18507        standard_error: *mut *mut gchar,
18508        wait_status: *mut gint,
18509        error: *mut *mut GError,
18510    ) -> gboolean;
18511}
18512extern "C" {
18513    pub fn g_spawn_command_line_sync(
18514        command_line: *const gchar,
18515        standard_output: *mut *mut gchar,
18516        standard_error: *mut *mut gchar,
18517        wait_status: *mut gint,
18518        error: *mut *mut GError,
18519    ) -> gboolean;
18520}
18521extern "C" {
18522    pub fn g_spawn_command_line_async(
18523        command_line: *const gchar,
18524        error: *mut *mut GError,
18525    ) -> gboolean;
18526}
18527extern "C" {
18528    pub fn g_spawn_check_wait_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
18529}
18530extern "C" {
18531    pub fn g_spawn_check_exit_status(wait_status: gint, error: *mut *mut GError) -> gboolean;
18532}
18533extern "C" {
18534    pub fn g_spawn_close_pid(pid: GPid);
18535}
18536#[repr(C)]
18537#[derive(Debug, Copy, Clone)]
18538pub struct _GStringChunk {
18539    _unused: [u8; 0],
18540}
18541pub type GStringChunk = _GStringChunk;
18542extern "C" {
18543    pub fn g_string_chunk_new(size: gsize) -> *mut GStringChunk;
18544}
18545extern "C" {
18546    pub fn g_string_chunk_free(chunk: *mut GStringChunk);
18547}
18548extern "C" {
18549    pub fn g_string_chunk_clear(chunk: *mut GStringChunk);
18550}
18551extern "C" {
18552    pub fn g_string_chunk_insert(chunk: *mut GStringChunk, string: *const gchar) -> *mut gchar;
18553}
18554extern "C" {
18555    pub fn g_string_chunk_insert_len(
18556        chunk: *mut GStringChunk,
18557        string: *const gchar,
18558        len: gssize,
18559    ) -> *mut gchar;
18560}
18561extern "C" {
18562    pub fn g_string_chunk_insert_const(
18563        chunk: *mut GStringChunk,
18564        string: *const gchar,
18565    ) -> *mut gchar;
18566}
18567#[repr(C)]
18568#[derive(Debug, Copy, Clone)]
18569pub struct _GStrvBuilder {
18570    _unused: [u8; 0],
18571}
18572pub type GStrvBuilder = _GStrvBuilder;
18573extern "C" {
18574    pub fn g_strv_builder_new() -> *mut GStrvBuilder;
18575}
18576extern "C" {
18577    pub fn g_strv_builder_unref(builder: *mut GStrvBuilder);
18578}
18579extern "C" {
18580    pub fn g_strv_builder_ref(builder: *mut GStrvBuilder) -> *mut GStrvBuilder;
18581}
18582extern "C" {
18583    pub fn g_strv_builder_add(builder: *mut GStrvBuilder, value: *const ::std::os::raw::c_char);
18584}
18585extern "C" {
18586    pub fn g_strv_builder_addv(
18587        builder: *mut GStrvBuilder,
18588        value: *mut *const ::std::os::raw::c_char,
18589    );
18590}
18591extern "C" {
18592    pub fn g_strv_builder_add_many(builder: *mut GStrvBuilder, ...);
18593}
18594extern "C" {
18595    pub fn g_strv_builder_end(builder: *mut GStrvBuilder) -> GStrv;
18596}
18597extern "C" {
18598    pub fn __errno_location() -> *mut ::std::os::raw::c_int;
18599}
18600#[repr(C)]
18601#[derive(Debug, Copy, Clone)]
18602pub struct GTestCase {
18603    _unused: [u8; 0],
18604}
18605#[repr(C)]
18606#[derive(Debug, Copy, Clone)]
18607pub struct GTestSuite {
18608    _unused: [u8; 0],
18609}
18610pub type GTestFunc = ::std::option::Option<unsafe extern "C" fn()>;
18611pub type GTestDataFunc = ::std::option::Option<unsafe extern "C" fn(user_data: gconstpointer)>;
18612pub type GTestFixtureFunc =
18613    ::std::option::Option<unsafe extern "C" fn(fixture: gpointer, user_data: gconstpointer)>;
18614extern "C" {
18615    pub fn g_strcmp0(
18616        str1: *const ::std::os::raw::c_char,
18617        str2: *const ::std::os::raw::c_char,
18618    ) -> ::std::os::raw::c_int;
18619}
18620extern "C" {
18621    pub fn g_test_minimized_result(
18622        minimized_quantity: f64,
18623        format: *const ::std::os::raw::c_char,
18624        ...
18625    );
18626}
18627extern "C" {
18628    pub fn g_test_maximized_result(
18629        maximized_quantity: f64,
18630        format: *const ::std::os::raw::c_char,
18631        ...
18632    );
18633}
18634extern "C" {
18635    pub fn g_test_init(
18636        argc: *mut ::std::os::raw::c_int,
18637        argv: *mut *mut *mut ::std::os::raw::c_char,
18638        ...
18639    );
18640}
18641extern "C" {
18642    pub fn g_test_subprocess() -> gboolean;
18643}
18644extern "C" {
18645    pub fn g_test_run() -> ::std::os::raw::c_int;
18646}
18647extern "C" {
18648    pub fn g_test_add_func(testpath: *const ::std::os::raw::c_char, test_func: GTestFunc);
18649}
18650extern "C" {
18651    pub fn g_test_add_data_func(
18652        testpath: *const ::std::os::raw::c_char,
18653        test_data: gconstpointer,
18654        test_func: GTestDataFunc,
18655    );
18656}
18657extern "C" {
18658    pub fn g_test_add_data_func_full(
18659        testpath: *const ::std::os::raw::c_char,
18660        test_data: gpointer,
18661        test_func: GTestDataFunc,
18662        data_free_func: GDestroyNotify,
18663    );
18664}
18665extern "C" {
18666    pub fn g_test_get_path() -> *const ::std::os::raw::c_char;
18667}
18668extern "C" {
18669    pub fn g_test_fail();
18670}
18671extern "C" {
18672    pub fn g_test_fail_printf(format: *const ::std::os::raw::c_char, ...);
18673}
18674extern "C" {
18675    pub fn g_test_incomplete(msg: *const gchar);
18676}
18677extern "C" {
18678    pub fn g_test_incomplete_printf(format: *const ::std::os::raw::c_char, ...);
18679}
18680extern "C" {
18681    pub fn g_test_skip(msg: *const gchar);
18682}
18683extern "C" {
18684    pub fn g_test_skip_printf(format: *const ::std::os::raw::c_char, ...);
18685}
18686extern "C" {
18687    pub fn g_test_failed() -> gboolean;
18688}
18689extern "C" {
18690    pub fn g_test_set_nonfatal_assertions();
18691}
18692extern "C" {
18693    pub fn g_test_message(format: *const ::std::os::raw::c_char, ...);
18694}
18695extern "C" {
18696    pub fn g_test_bug_base(uri_pattern: *const ::std::os::raw::c_char);
18697}
18698extern "C" {
18699    pub fn g_test_bug(bug_uri_snippet: *const ::std::os::raw::c_char);
18700}
18701extern "C" {
18702    pub fn g_test_summary(summary: *const ::std::os::raw::c_char);
18703}
18704extern "C" {
18705    pub fn g_test_timer_start();
18706}
18707extern "C" {
18708    pub fn g_test_timer_elapsed() -> f64;
18709}
18710extern "C" {
18711    pub fn g_test_timer_last() -> f64;
18712}
18713extern "C" {
18714    pub fn g_test_queue_free(gfree_pointer: gpointer);
18715}
18716extern "C" {
18717    pub fn g_test_queue_destroy(destroy_func: GDestroyNotify, destroy_data: gpointer);
18718}
18719pub const GTestTrapFlags_G_TEST_TRAP_DEFAULT: GTestTrapFlags = 0;
18720pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDOUT: GTestTrapFlags = 128;
18721pub const GTestTrapFlags_G_TEST_TRAP_SILENCE_STDERR: GTestTrapFlags = 256;
18722pub const GTestTrapFlags_G_TEST_TRAP_INHERIT_STDIN: GTestTrapFlags = 512;
18723pub type GTestTrapFlags = ::std::os::raw::c_uint;
18724extern "C" {
18725    pub fn g_test_trap_fork(usec_timeout: guint64, test_trap_flags: GTestTrapFlags) -> gboolean;
18726}
18727pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_DEFAULT: GTestSubprocessFlags = 0;
18728pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDIN: GTestSubprocessFlags = 1;
18729pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDOUT: GTestSubprocessFlags = 2;
18730pub const GTestSubprocessFlags_G_TEST_SUBPROCESS_INHERIT_STDERR: GTestSubprocessFlags = 4;
18731pub type GTestSubprocessFlags = ::std::os::raw::c_uint;
18732extern "C" {
18733    pub fn g_test_trap_subprocess(
18734        test_path: *const ::std::os::raw::c_char,
18735        usec_timeout: guint64,
18736        test_flags: GTestSubprocessFlags,
18737    );
18738}
18739extern "C" {
18740    pub fn g_test_trap_has_passed() -> gboolean;
18741}
18742extern "C" {
18743    pub fn g_test_trap_reached_timeout() -> gboolean;
18744}
18745extern "C" {
18746    pub fn g_test_rand_int() -> gint32;
18747}
18748extern "C" {
18749    pub fn g_test_rand_int_range(begin: gint32, end: gint32) -> gint32;
18750}
18751extern "C" {
18752    pub fn g_test_rand_double() -> f64;
18753}
18754extern "C" {
18755    pub fn g_test_rand_double_range(range_start: f64, range_end: f64) -> f64;
18756}
18757extern "C" {
18758    pub fn g_test_create_case(
18759        test_name: *const ::std::os::raw::c_char,
18760        data_size: gsize,
18761        test_data: gconstpointer,
18762        data_setup: GTestFixtureFunc,
18763        data_test: GTestFixtureFunc,
18764        data_teardown: GTestFixtureFunc,
18765    ) -> *mut GTestCase;
18766}
18767extern "C" {
18768    pub fn g_test_create_suite(suite_name: *const ::std::os::raw::c_char) -> *mut GTestSuite;
18769}
18770extern "C" {
18771    pub fn g_test_get_root() -> *mut GTestSuite;
18772}
18773extern "C" {
18774    pub fn g_test_suite_add(suite: *mut GTestSuite, test_case: *mut GTestCase);
18775}
18776extern "C" {
18777    pub fn g_test_suite_add_suite(suite: *mut GTestSuite, nestedsuite: *mut GTestSuite);
18778}
18779extern "C" {
18780    pub fn g_test_run_suite(suite: *mut GTestSuite) -> ::std::os::raw::c_int;
18781}
18782extern "C" {
18783    pub fn g_test_case_free(test_case: *mut GTestCase);
18784}
18785extern "C" {
18786    pub fn g_test_suite_free(suite: *mut GTestSuite);
18787}
18788extern "C" {
18789    pub fn g_test_trap_assertions(
18790        domain: *const ::std::os::raw::c_char,
18791        file: *const ::std::os::raw::c_char,
18792        line: ::std::os::raw::c_int,
18793        func: *const ::std::os::raw::c_char,
18794        assertion_flags: guint64,
18795        pattern: *const ::std::os::raw::c_char,
18796    );
18797}
18798extern "C" {
18799    pub fn g_assertion_message(
18800        domain: *const ::std::os::raw::c_char,
18801        file: *const ::std::os::raw::c_char,
18802        line: ::std::os::raw::c_int,
18803        func: *const ::std::os::raw::c_char,
18804        message: *const ::std::os::raw::c_char,
18805    );
18806}
18807extern "C" {
18808    pub fn g_assertion_message_expr(
18809        domain: *const ::std::os::raw::c_char,
18810        file: *const ::std::os::raw::c_char,
18811        line: ::std::os::raw::c_int,
18812        func: *const ::std::os::raw::c_char,
18813        expr: *const ::std::os::raw::c_char,
18814    ) -> !;
18815}
18816extern "C" {
18817    pub fn g_assertion_message_cmpstr(
18818        domain: *const ::std::os::raw::c_char,
18819        file: *const ::std::os::raw::c_char,
18820        line: ::std::os::raw::c_int,
18821        func: *const ::std::os::raw::c_char,
18822        expr: *const ::std::os::raw::c_char,
18823        arg1: *const ::std::os::raw::c_char,
18824        cmp: *const ::std::os::raw::c_char,
18825        arg2: *const ::std::os::raw::c_char,
18826    );
18827}
18828extern "C" {
18829    pub fn g_assertion_message_cmpstrv(
18830        domain: *const ::std::os::raw::c_char,
18831        file: *const ::std::os::raw::c_char,
18832        line: ::std::os::raw::c_int,
18833        func: *const ::std::os::raw::c_char,
18834        expr: *const ::std::os::raw::c_char,
18835        arg1: *const *const ::std::os::raw::c_char,
18836        arg2: *const *const ::std::os::raw::c_char,
18837        first_wrong_idx: gsize,
18838    );
18839}
18840extern "C" {
18841    pub fn g_assertion_message_cmpnum(
18842        domain: *const ::std::os::raw::c_char,
18843        file: *const ::std::os::raw::c_char,
18844        line: ::std::os::raw::c_int,
18845        func: *const ::std::os::raw::c_char,
18846        expr: *const ::std::os::raw::c_char,
18847        arg1: u128,
18848        cmp: *const ::std::os::raw::c_char,
18849        arg2: u128,
18850        numtype: ::std::os::raw::c_char,
18851    );
18852}
18853extern "C" {
18854    pub fn g_assertion_message_error(
18855        domain: *const ::std::os::raw::c_char,
18856        file: *const ::std::os::raw::c_char,
18857        line: ::std::os::raw::c_int,
18858        func: *const ::std::os::raw::c_char,
18859        expr: *const ::std::os::raw::c_char,
18860        error: *const GError,
18861        error_domain: GQuark,
18862        error_code: ::std::os::raw::c_int,
18863    );
18864}
18865extern "C" {
18866    pub fn g_test_add_vtable(
18867        testpath: *const ::std::os::raw::c_char,
18868        data_size: gsize,
18869        test_data: gconstpointer,
18870        data_setup: GTestFixtureFunc,
18871        data_test: GTestFixtureFunc,
18872        data_teardown: GTestFixtureFunc,
18873    );
18874}
18875#[repr(C)]
18876#[derive(Debug, Copy, Clone)]
18877pub struct GTestConfig {
18878    pub test_initialized: gboolean,
18879    pub test_quick: gboolean,
18880    pub test_perf: gboolean,
18881    pub test_verbose: gboolean,
18882    pub test_quiet: gboolean,
18883    pub test_undefined: gboolean,
18884}
18885#[test]
18886fn bindgen_test_layout_GTestConfig() {
18887    const UNINIT: ::std::mem::MaybeUninit<GTestConfig> = ::std::mem::MaybeUninit::uninit();
18888    let ptr = UNINIT.as_ptr();
18889    assert_eq!(
18890        ::std::mem::size_of::<GTestConfig>(),
18891        24usize,
18892        concat!("Size of: ", stringify!(GTestConfig))
18893    );
18894    assert_eq!(
18895        ::std::mem::align_of::<GTestConfig>(),
18896        4usize,
18897        concat!("Alignment of ", stringify!(GTestConfig))
18898    );
18899    assert_eq!(
18900        unsafe { ::std::ptr::addr_of!((*ptr).test_initialized) as usize - ptr as usize },
18901        0usize,
18902        concat!(
18903            "Offset of field: ",
18904            stringify!(GTestConfig),
18905            "::",
18906            stringify!(test_initialized)
18907        )
18908    );
18909    assert_eq!(
18910        unsafe { ::std::ptr::addr_of!((*ptr).test_quick) as usize - ptr as usize },
18911        4usize,
18912        concat!(
18913            "Offset of field: ",
18914            stringify!(GTestConfig),
18915            "::",
18916            stringify!(test_quick)
18917        )
18918    );
18919    assert_eq!(
18920        unsafe { ::std::ptr::addr_of!((*ptr).test_perf) as usize - ptr as usize },
18921        8usize,
18922        concat!(
18923            "Offset of field: ",
18924            stringify!(GTestConfig),
18925            "::",
18926            stringify!(test_perf)
18927        )
18928    );
18929    assert_eq!(
18930        unsafe { ::std::ptr::addr_of!((*ptr).test_verbose) as usize - ptr as usize },
18931        12usize,
18932        concat!(
18933            "Offset of field: ",
18934            stringify!(GTestConfig),
18935            "::",
18936            stringify!(test_verbose)
18937        )
18938    );
18939    assert_eq!(
18940        unsafe { ::std::ptr::addr_of!((*ptr).test_quiet) as usize - ptr as usize },
18941        16usize,
18942        concat!(
18943            "Offset of field: ",
18944            stringify!(GTestConfig),
18945            "::",
18946            stringify!(test_quiet)
18947        )
18948    );
18949    assert_eq!(
18950        unsafe { ::std::ptr::addr_of!((*ptr).test_undefined) as usize - ptr as usize },
18951        20usize,
18952        concat!(
18953            "Offset of field: ",
18954            stringify!(GTestConfig),
18955            "::",
18956            stringify!(test_undefined)
18957        )
18958    );
18959}
18960extern "C" {
18961    pub static g_test_config_vars: *const GTestConfig;
18962}
18963pub const GTestResult_G_TEST_RUN_SUCCESS: GTestResult = 0;
18964pub const GTestResult_G_TEST_RUN_SKIPPED: GTestResult = 1;
18965pub const GTestResult_G_TEST_RUN_FAILURE: GTestResult = 2;
18966pub const GTestResult_G_TEST_RUN_INCOMPLETE: GTestResult = 3;
18967pub type GTestResult = ::std::os::raw::c_uint;
18968pub const GTestLogType_G_TEST_LOG_NONE: GTestLogType = 0;
18969pub const GTestLogType_G_TEST_LOG_ERROR: GTestLogType = 1;
18970pub const GTestLogType_G_TEST_LOG_START_BINARY: GTestLogType = 2;
18971pub const GTestLogType_G_TEST_LOG_LIST_CASE: GTestLogType = 3;
18972pub const GTestLogType_G_TEST_LOG_SKIP_CASE: GTestLogType = 4;
18973pub const GTestLogType_G_TEST_LOG_START_CASE: GTestLogType = 5;
18974pub const GTestLogType_G_TEST_LOG_STOP_CASE: GTestLogType = 6;
18975pub const GTestLogType_G_TEST_LOG_MIN_RESULT: GTestLogType = 7;
18976pub const GTestLogType_G_TEST_LOG_MAX_RESULT: GTestLogType = 8;
18977pub const GTestLogType_G_TEST_LOG_MESSAGE: GTestLogType = 9;
18978pub const GTestLogType_G_TEST_LOG_START_SUITE: GTestLogType = 10;
18979pub const GTestLogType_G_TEST_LOG_STOP_SUITE: GTestLogType = 11;
18980pub type GTestLogType = ::std::os::raw::c_uint;
18981#[repr(C)]
18982#[derive(Debug, Copy, Clone)]
18983pub struct GTestLogMsg {
18984    pub log_type: GTestLogType,
18985    pub n_strings: guint,
18986    pub strings: *mut *mut gchar,
18987    pub n_nums: guint,
18988    pub nums: *mut u128,
18989}
18990#[test]
18991fn bindgen_test_layout_GTestLogMsg() {
18992    const UNINIT: ::std::mem::MaybeUninit<GTestLogMsg> = ::std::mem::MaybeUninit::uninit();
18993    let ptr = UNINIT.as_ptr();
18994    assert_eq!(
18995        ::std::mem::size_of::<GTestLogMsg>(),
18996        32usize,
18997        concat!("Size of: ", stringify!(GTestLogMsg))
18998    );
18999    assert_eq!(
19000        ::std::mem::align_of::<GTestLogMsg>(),
19001        8usize,
19002        concat!("Alignment of ", stringify!(GTestLogMsg))
19003    );
19004    assert_eq!(
19005        unsafe { ::std::ptr::addr_of!((*ptr).log_type) as usize - ptr as usize },
19006        0usize,
19007        concat!(
19008            "Offset of field: ",
19009            stringify!(GTestLogMsg),
19010            "::",
19011            stringify!(log_type)
19012        )
19013    );
19014    assert_eq!(
19015        unsafe { ::std::ptr::addr_of!((*ptr).n_strings) as usize - ptr as usize },
19016        4usize,
19017        concat!(
19018            "Offset of field: ",
19019            stringify!(GTestLogMsg),
19020            "::",
19021            stringify!(n_strings)
19022        )
19023    );
19024    assert_eq!(
19025        unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
19026        8usize,
19027        concat!(
19028            "Offset of field: ",
19029            stringify!(GTestLogMsg),
19030            "::",
19031            stringify!(strings)
19032        )
19033    );
19034    assert_eq!(
19035        unsafe { ::std::ptr::addr_of!((*ptr).n_nums) as usize - ptr as usize },
19036        16usize,
19037        concat!(
19038            "Offset of field: ",
19039            stringify!(GTestLogMsg),
19040            "::",
19041            stringify!(n_nums)
19042        )
19043    );
19044    assert_eq!(
19045        unsafe { ::std::ptr::addr_of!((*ptr).nums) as usize - ptr as usize },
19046        24usize,
19047        concat!(
19048            "Offset of field: ",
19049            stringify!(GTestLogMsg),
19050            "::",
19051            stringify!(nums)
19052        )
19053    );
19054}
19055#[repr(C)]
19056#[derive(Debug, Copy, Clone)]
19057pub struct GTestLogBuffer {
19058    pub data: *mut GString,
19059    pub msgs: *mut GSList,
19060}
19061#[test]
19062fn bindgen_test_layout_GTestLogBuffer() {
19063    const UNINIT: ::std::mem::MaybeUninit<GTestLogBuffer> = ::std::mem::MaybeUninit::uninit();
19064    let ptr = UNINIT.as_ptr();
19065    assert_eq!(
19066        ::std::mem::size_of::<GTestLogBuffer>(),
19067        16usize,
19068        concat!("Size of: ", stringify!(GTestLogBuffer))
19069    );
19070    assert_eq!(
19071        ::std::mem::align_of::<GTestLogBuffer>(),
19072        8usize,
19073        concat!("Alignment of ", stringify!(GTestLogBuffer))
19074    );
19075    assert_eq!(
19076        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
19077        0usize,
19078        concat!(
19079            "Offset of field: ",
19080            stringify!(GTestLogBuffer),
19081            "::",
19082            stringify!(data)
19083        )
19084    );
19085    assert_eq!(
19086        unsafe { ::std::ptr::addr_of!((*ptr).msgs) as usize - ptr as usize },
19087        8usize,
19088        concat!(
19089            "Offset of field: ",
19090            stringify!(GTestLogBuffer),
19091            "::",
19092            stringify!(msgs)
19093        )
19094    );
19095}
19096extern "C" {
19097    pub fn g_test_log_type_name(log_type: GTestLogType) -> *const ::std::os::raw::c_char;
19098}
19099extern "C" {
19100    pub fn g_test_log_buffer_new() -> *mut GTestLogBuffer;
19101}
19102extern "C" {
19103    pub fn g_test_log_buffer_free(tbuffer: *mut GTestLogBuffer);
19104}
19105extern "C" {
19106    pub fn g_test_log_buffer_push(
19107        tbuffer: *mut GTestLogBuffer,
19108        n_bytes: guint,
19109        bytes: *const guint8,
19110    );
19111}
19112extern "C" {
19113    pub fn g_test_log_buffer_pop(tbuffer: *mut GTestLogBuffer) -> *mut GTestLogMsg;
19114}
19115extern "C" {
19116    pub fn g_test_log_msg_free(tmsg: *mut GTestLogMsg);
19117}
19118pub type GTestLogFatalFunc = ::std::option::Option<
19119    unsafe extern "C" fn(
19120        log_domain: *const gchar,
19121        log_level: GLogLevelFlags,
19122        message: *const gchar,
19123        user_data: gpointer,
19124    ) -> gboolean,
19125>;
19126extern "C" {
19127    pub fn g_test_log_set_fatal_handler(log_func: GTestLogFatalFunc, user_data: gpointer);
19128}
19129extern "C" {
19130    pub fn g_test_expect_message(
19131        log_domain: *const gchar,
19132        log_level: GLogLevelFlags,
19133        pattern: *const gchar,
19134    );
19135}
19136extern "C" {
19137    pub fn g_test_assert_expected_messages_internal(
19138        domain: *const ::std::os::raw::c_char,
19139        file: *const ::std::os::raw::c_char,
19140        line: ::std::os::raw::c_int,
19141        func: *const ::std::os::raw::c_char,
19142    );
19143}
19144pub const GTestFileType_G_TEST_DIST: GTestFileType = 0;
19145pub const GTestFileType_G_TEST_BUILT: GTestFileType = 1;
19146pub type GTestFileType = ::std::os::raw::c_uint;
19147extern "C" {
19148    pub fn g_test_build_filename(
19149        file_type: GTestFileType,
19150        first_path: *const gchar,
19151        ...
19152    ) -> *mut gchar;
19153}
19154extern "C" {
19155    pub fn g_test_get_dir(file_type: GTestFileType) -> *const gchar;
19156}
19157extern "C" {
19158    pub fn g_test_get_filename(
19159        file_type: GTestFileType,
19160        first_path: *const gchar,
19161        ...
19162    ) -> *const gchar;
19163}
19164pub type GThreadPool = _GThreadPool;
19165#[repr(C)]
19166#[derive(Debug, Copy, Clone)]
19167pub struct _GThreadPool {
19168    pub func: GFunc,
19169    pub user_data: gpointer,
19170    pub exclusive: gboolean,
19171}
19172#[test]
19173fn bindgen_test_layout__GThreadPool() {
19174    const UNINIT: ::std::mem::MaybeUninit<_GThreadPool> = ::std::mem::MaybeUninit::uninit();
19175    let ptr = UNINIT.as_ptr();
19176    assert_eq!(
19177        ::std::mem::size_of::<_GThreadPool>(),
19178        24usize,
19179        concat!("Size of: ", stringify!(_GThreadPool))
19180    );
19181    assert_eq!(
19182        ::std::mem::align_of::<_GThreadPool>(),
19183        8usize,
19184        concat!("Alignment of ", stringify!(_GThreadPool))
19185    );
19186    assert_eq!(
19187        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
19188        0usize,
19189        concat!(
19190            "Offset of field: ",
19191            stringify!(_GThreadPool),
19192            "::",
19193            stringify!(func)
19194        )
19195    );
19196    assert_eq!(
19197        unsafe { ::std::ptr::addr_of!((*ptr).user_data) as usize - ptr as usize },
19198        8usize,
19199        concat!(
19200            "Offset of field: ",
19201            stringify!(_GThreadPool),
19202            "::",
19203            stringify!(user_data)
19204        )
19205    );
19206    assert_eq!(
19207        unsafe { ::std::ptr::addr_of!((*ptr).exclusive) as usize - ptr as usize },
19208        16usize,
19209        concat!(
19210            "Offset of field: ",
19211            stringify!(_GThreadPool),
19212            "::",
19213            stringify!(exclusive)
19214        )
19215    );
19216}
19217extern "C" {
19218    pub fn g_thread_pool_new(
19219        func: GFunc,
19220        user_data: gpointer,
19221        max_threads: gint,
19222        exclusive: gboolean,
19223        error: *mut *mut GError,
19224    ) -> *mut GThreadPool;
19225}
19226extern "C" {
19227    pub fn g_thread_pool_new_full(
19228        func: GFunc,
19229        user_data: gpointer,
19230        item_free_func: GDestroyNotify,
19231        max_threads: gint,
19232        exclusive: gboolean,
19233        error: *mut *mut GError,
19234    ) -> *mut GThreadPool;
19235}
19236extern "C" {
19237    pub fn g_thread_pool_free(pool: *mut GThreadPool, immediate: gboolean, wait_: gboolean);
19238}
19239extern "C" {
19240    pub fn g_thread_pool_push(
19241        pool: *mut GThreadPool,
19242        data: gpointer,
19243        error: *mut *mut GError,
19244    ) -> gboolean;
19245}
19246extern "C" {
19247    pub fn g_thread_pool_unprocessed(pool: *mut GThreadPool) -> guint;
19248}
19249extern "C" {
19250    pub fn g_thread_pool_set_sort_function(
19251        pool: *mut GThreadPool,
19252        func: GCompareDataFunc,
19253        user_data: gpointer,
19254    );
19255}
19256extern "C" {
19257    pub fn g_thread_pool_move_to_front(pool: *mut GThreadPool, data: gpointer) -> gboolean;
19258}
19259extern "C" {
19260    pub fn g_thread_pool_set_max_threads(
19261        pool: *mut GThreadPool,
19262        max_threads: gint,
19263        error: *mut *mut GError,
19264    ) -> gboolean;
19265}
19266extern "C" {
19267    pub fn g_thread_pool_get_max_threads(pool: *mut GThreadPool) -> gint;
19268}
19269extern "C" {
19270    pub fn g_thread_pool_get_num_threads(pool: *mut GThreadPool) -> guint;
19271}
19272extern "C" {
19273    pub fn g_thread_pool_set_max_unused_threads(max_threads: gint);
19274}
19275extern "C" {
19276    pub fn g_thread_pool_get_max_unused_threads() -> gint;
19277}
19278extern "C" {
19279    pub fn g_thread_pool_get_num_unused_threads() -> guint;
19280}
19281extern "C" {
19282    pub fn g_thread_pool_stop_unused_threads();
19283}
19284extern "C" {
19285    pub fn g_thread_pool_set_max_idle_time(interval: guint);
19286}
19287extern "C" {
19288    pub fn g_thread_pool_get_max_idle_time() -> guint;
19289}
19290#[repr(C)]
19291#[derive(Debug, Copy, Clone)]
19292pub struct _GTimer {
19293    _unused: [u8; 0],
19294}
19295pub type GTimer = _GTimer;
19296extern "C" {
19297    pub fn g_timer_new() -> *mut GTimer;
19298}
19299extern "C" {
19300    pub fn g_timer_destroy(timer: *mut GTimer);
19301}
19302extern "C" {
19303    pub fn g_timer_start(timer: *mut GTimer);
19304}
19305extern "C" {
19306    pub fn g_timer_stop(timer: *mut GTimer);
19307}
19308extern "C" {
19309    pub fn g_timer_reset(timer: *mut GTimer);
19310}
19311extern "C" {
19312    pub fn g_timer_continue(timer: *mut GTimer);
19313}
19314extern "C" {
19315    pub fn g_timer_elapsed(timer: *mut GTimer, microseconds: *mut gulong) -> gdouble;
19316}
19317extern "C" {
19318    pub fn g_timer_is_active(timer: *mut GTimer) -> gboolean;
19319}
19320extern "C" {
19321    pub fn g_usleep(microseconds: gulong);
19322}
19323extern "C" {
19324    pub fn g_time_val_add(time_: *mut GTimeVal, microseconds: glong);
19325}
19326extern "C" {
19327    pub fn g_time_val_from_iso8601(iso_date: *const gchar, time_: *mut GTimeVal) -> gboolean;
19328}
19329extern "C" {
19330    pub fn g_time_val_to_iso8601(time_: *mut GTimeVal) -> *mut gchar;
19331}
19332pub type GTrashStack = _GTrashStack;
19333#[repr(C)]
19334#[derive(Debug, Copy, Clone)]
19335pub struct _GTrashStack {
19336    pub next: *mut GTrashStack,
19337}
19338#[test]
19339fn bindgen_test_layout__GTrashStack() {
19340    const UNINIT: ::std::mem::MaybeUninit<_GTrashStack> = ::std::mem::MaybeUninit::uninit();
19341    let ptr = UNINIT.as_ptr();
19342    assert_eq!(
19343        ::std::mem::size_of::<_GTrashStack>(),
19344        8usize,
19345        concat!("Size of: ", stringify!(_GTrashStack))
19346    );
19347    assert_eq!(
19348        ::std::mem::align_of::<_GTrashStack>(),
19349        8usize,
19350        concat!("Alignment of ", stringify!(_GTrashStack))
19351    );
19352    assert_eq!(
19353        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
19354        0usize,
19355        concat!(
19356            "Offset of field: ",
19357            stringify!(_GTrashStack),
19358            "::",
19359            stringify!(next)
19360        )
19361    );
19362}
19363extern "C" {
19364    pub fn g_trash_stack_push(stack_p: *mut *mut GTrashStack, data_p: gpointer);
19365}
19366extern "C" {
19367    pub fn g_trash_stack_pop(stack_p: *mut *mut GTrashStack) -> gpointer;
19368}
19369extern "C" {
19370    pub fn g_trash_stack_peek(stack_p: *mut *mut GTrashStack) -> gpointer;
19371}
19372extern "C" {
19373    pub fn g_trash_stack_height(stack_p: *mut *mut GTrashStack) -> guint;
19374}
19375#[repr(C)]
19376#[derive(Debug, Copy, Clone)]
19377pub struct _GTree {
19378    _unused: [u8; 0],
19379}
19380pub type GTree = _GTree;
19381#[repr(C)]
19382#[derive(Debug, Copy, Clone)]
19383pub struct _GTreeNode {
19384    _unused: [u8; 0],
19385}
19386pub type GTreeNode = _GTreeNode;
19387pub type GTraverseFunc = ::std::option::Option<
19388    unsafe extern "C" fn(key: gpointer, value: gpointer, data: gpointer) -> gboolean,
19389>;
19390pub type GTraverseNodeFunc =
19391    ::std::option::Option<unsafe extern "C" fn(node: *mut GTreeNode, data: gpointer) -> gboolean>;
19392extern "C" {
19393    pub fn g_tree_new(key_compare_func: GCompareFunc) -> *mut GTree;
19394}
19395extern "C" {
19396    pub fn g_tree_new_with_data(
19397        key_compare_func: GCompareDataFunc,
19398        key_compare_data: gpointer,
19399    ) -> *mut GTree;
19400}
19401extern "C" {
19402    pub fn g_tree_new_full(
19403        key_compare_func: GCompareDataFunc,
19404        key_compare_data: gpointer,
19405        key_destroy_func: GDestroyNotify,
19406        value_destroy_func: GDestroyNotify,
19407    ) -> *mut GTree;
19408}
19409extern "C" {
19410    pub fn g_tree_node_first(tree: *mut GTree) -> *mut GTreeNode;
19411}
19412extern "C" {
19413    pub fn g_tree_node_last(tree: *mut GTree) -> *mut GTreeNode;
19414}
19415extern "C" {
19416    pub fn g_tree_node_previous(node: *mut GTreeNode) -> *mut GTreeNode;
19417}
19418extern "C" {
19419    pub fn g_tree_node_next(node: *mut GTreeNode) -> *mut GTreeNode;
19420}
19421extern "C" {
19422    pub fn g_tree_ref(tree: *mut GTree) -> *mut GTree;
19423}
19424extern "C" {
19425    pub fn g_tree_unref(tree: *mut GTree);
19426}
19427extern "C" {
19428    pub fn g_tree_destroy(tree: *mut GTree);
19429}
19430extern "C" {
19431    pub fn g_tree_insert_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
19432}
19433extern "C" {
19434    pub fn g_tree_insert(tree: *mut GTree, key: gpointer, value: gpointer);
19435}
19436extern "C" {
19437    pub fn g_tree_replace_node(tree: *mut GTree, key: gpointer, value: gpointer) -> *mut GTreeNode;
19438}
19439extern "C" {
19440    pub fn g_tree_replace(tree: *mut GTree, key: gpointer, value: gpointer);
19441}
19442extern "C" {
19443    pub fn g_tree_remove(tree: *mut GTree, key: gconstpointer) -> gboolean;
19444}
19445extern "C" {
19446    pub fn g_tree_remove_all(tree: *mut GTree);
19447}
19448extern "C" {
19449    pub fn g_tree_steal(tree: *mut GTree, key: gconstpointer) -> gboolean;
19450}
19451extern "C" {
19452    pub fn g_tree_node_key(node: *mut GTreeNode) -> gpointer;
19453}
19454extern "C" {
19455    pub fn g_tree_node_value(node: *mut GTreeNode) -> gpointer;
19456}
19457extern "C" {
19458    pub fn g_tree_lookup_node(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
19459}
19460extern "C" {
19461    pub fn g_tree_lookup(tree: *mut GTree, key: gconstpointer) -> gpointer;
19462}
19463extern "C" {
19464    pub fn g_tree_lookup_extended(
19465        tree: *mut GTree,
19466        lookup_key: gconstpointer,
19467        orig_key: *mut gpointer,
19468        value: *mut gpointer,
19469    ) -> gboolean;
19470}
19471extern "C" {
19472    pub fn g_tree_foreach(tree: *mut GTree, func: GTraverseFunc, user_data: gpointer);
19473}
19474extern "C" {
19475    pub fn g_tree_foreach_node(tree: *mut GTree, func: GTraverseNodeFunc, user_data: gpointer);
19476}
19477extern "C" {
19478    pub fn g_tree_traverse(
19479        tree: *mut GTree,
19480        traverse_func: GTraverseFunc,
19481        traverse_type: GTraverseType,
19482        user_data: gpointer,
19483    );
19484}
19485extern "C" {
19486    pub fn g_tree_search_node(
19487        tree: *mut GTree,
19488        search_func: GCompareFunc,
19489        user_data: gconstpointer,
19490    ) -> *mut GTreeNode;
19491}
19492extern "C" {
19493    pub fn g_tree_search(
19494        tree: *mut GTree,
19495        search_func: GCompareFunc,
19496        user_data: gconstpointer,
19497    ) -> gpointer;
19498}
19499extern "C" {
19500    pub fn g_tree_lower_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
19501}
19502extern "C" {
19503    pub fn g_tree_upper_bound(tree: *mut GTree, key: gconstpointer) -> *mut GTreeNode;
19504}
19505extern "C" {
19506    pub fn g_tree_height(tree: *mut GTree) -> gint;
19507}
19508extern "C" {
19509    pub fn g_tree_nnodes(tree: *mut GTree) -> gint;
19510}
19511#[repr(C)]
19512#[derive(Debug, Copy, Clone)]
19513pub struct _GUri {
19514    _unused: [u8; 0],
19515}
19516pub type GUri = _GUri;
19517extern "C" {
19518    pub fn g_uri_ref(uri: *mut GUri) -> *mut GUri;
19519}
19520extern "C" {
19521    pub fn g_uri_unref(uri: *mut GUri);
19522}
19523pub const GUriFlags_G_URI_FLAGS_NONE: GUriFlags = 0;
19524pub const GUriFlags_G_URI_FLAGS_PARSE_RELAXED: GUriFlags = 1;
19525pub const GUriFlags_G_URI_FLAGS_HAS_PASSWORD: GUriFlags = 2;
19526pub const GUriFlags_G_URI_FLAGS_HAS_AUTH_PARAMS: GUriFlags = 4;
19527pub const GUriFlags_G_URI_FLAGS_ENCODED: GUriFlags = 8;
19528pub const GUriFlags_G_URI_FLAGS_NON_DNS: GUriFlags = 16;
19529pub const GUriFlags_G_URI_FLAGS_ENCODED_QUERY: GUriFlags = 32;
19530pub const GUriFlags_G_URI_FLAGS_ENCODED_PATH: GUriFlags = 64;
19531pub const GUriFlags_G_URI_FLAGS_ENCODED_FRAGMENT: GUriFlags = 128;
19532pub const GUriFlags_G_URI_FLAGS_SCHEME_NORMALIZE: GUriFlags = 256;
19533pub type GUriFlags = ::std::os::raw::c_uint;
19534extern "C" {
19535    pub fn g_uri_split(
19536        uri_ref: *const gchar,
19537        flags: GUriFlags,
19538        scheme: *mut *mut gchar,
19539        userinfo: *mut *mut gchar,
19540        host: *mut *mut gchar,
19541        port: *mut gint,
19542        path: *mut *mut gchar,
19543        query: *mut *mut gchar,
19544        fragment: *mut *mut gchar,
19545        error: *mut *mut GError,
19546    ) -> gboolean;
19547}
19548extern "C" {
19549    pub fn g_uri_split_with_user(
19550        uri_ref: *const gchar,
19551        flags: GUriFlags,
19552        scheme: *mut *mut gchar,
19553        user: *mut *mut gchar,
19554        password: *mut *mut gchar,
19555        auth_params: *mut *mut gchar,
19556        host: *mut *mut gchar,
19557        port: *mut gint,
19558        path: *mut *mut gchar,
19559        query: *mut *mut gchar,
19560        fragment: *mut *mut gchar,
19561        error: *mut *mut GError,
19562    ) -> gboolean;
19563}
19564extern "C" {
19565    pub fn g_uri_split_network(
19566        uri_string: *const gchar,
19567        flags: GUriFlags,
19568        scheme: *mut *mut gchar,
19569        host: *mut *mut gchar,
19570        port: *mut gint,
19571        error: *mut *mut GError,
19572    ) -> gboolean;
19573}
19574extern "C" {
19575    pub fn g_uri_is_valid(
19576        uri_string: *const gchar,
19577        flags: GUriFlags,
19578        error: *mut *mut GError,
19579    ) -> gboolean;
19580}
19581extern "C" {
19582    pub fn g_uri_join(
19583        flags: GUriFlags,
19584        scheme: *const gchar,
19585        userinfo: *const gchar,
19586        host: *const gchar,
19587        port: gint,
19588        path: *const gchar,
19589        query: *const gchar,
19590        fragment: *const gchar,
19591    ) -> *mut gchar;
19592}
19593extern "C" {
19594    pub fn g_uri_join_with_user(
19595        flags: GUriFlags,
19596        scheme: *const gchar,
19597        user: *const gchar,
19598        password: *const gchar,
19599        auth_params: *const gchar,
19600        host: *const gchar,
19601        port: gint,
19602        path: *const gchar,
19603        query: *const gchar,
19604        fragment: *const gchar,
19605    ) -> *mut gchar;
19606}
19607extern "C" {
19608    pub fn g_uri_parse(
19609        uri_string: *const gchar,
19610        flags: GUriFlags,
19611        error: *mut *mut GError,
19612    ) -> *mut GUri;
19613}
19614extern "C" {
19615    pub fn g_uri_parse_relative(
19616        base_uri: *mut GUri,
19617        uri_ref: *const gchar,
19618        flags: GUriFlags,
19619        error: *mut *mut GError,
19620    ) -> *mut GUri;
19621}
19622extern "C" {
19623    pub fn g_uri_resolve_relative(
19624        base_uri_string: *const gchar,
19625        uri_ref: *const gchar,
19626        flags: GUriFlags,
19627        error: *mut *mut GError,
19628    ) -> *mut gchar;
19629}
19630extern "C" {
19631    pub fn g_uri_build(
19632        flags: GUriFlags,
19633        scheme: *const gchar,
19634        userinfo: *const gchar,
19635        host: *const gchar,
19636        port: gint,
19637        path: *const gchar,
19638        query: *const gchar,
19639        fragment: *const gchar,
19640    ) -> *mut GUri;
19641}
19642extern "C" {
19643    pub fn g_uri_build_with_user(
19644        flags: GUriFlags,
19645        scheme: *const gchar,
19646        user: *const gchar,
19647        password: *const gchar,
19648        auth_params: *const gchar,
19649        host: *const gchar,
19650        port: gint,
19651        path: *const gchar,
19652        query: *const gchar,
19653        fragment: *const gchar,
19654    ) -> *mut GUri;
19655}
19656pub const GUriHideFlags_G_URI_HIDE_NONE: GUriHideFlags = 0;
19657pub const GUriHideFlags_G_URI_HIDE_USERINFO: GUriHideFlags = 1;
19658pub const GUriHideFlags_G_URI_HIDE_PASSWORD: GUriHideFlags = 2;
19659pub const GUriHideFlags_G_URI_HIDE_AUTH_PARAMS: GUriHideFlags = 4;
19660pub const GUriHideFlags_G_URI_HIDE_QUERY: GUriHideFlags = 8;
19661pub const GUriHideFlags_G_URI_HIDE_FRAGMENT: GUriHideFlags = 16;
19662pub type GUriHideFlags = ::std::os::raw::c_uint;
19663extern "C" {
19664    pub fn g_uri_to_string(uri: *mut GUri) -> *mut ::std::os::raw::c_char;
19665}
19666extern "C" {
19667    pub fn g_uri_to_string_partial(
19668        uri: *mut GUri,
19669        flags: GUriHideFlags,
19670    ) -> *mut ::std::os::raw::c_char;
19671}
19672extern "C" {
19673    pub fn g_uri_get_scheme(uri: *mut GUri) -> *const gchar;
19674}
19675extern "C" {
19676    pub fn g_uri_get_userinfo(uri: *mut GUri) -> *const gchar;
19677}
19678extern "C" {
19679    pub fn g_uri_get_user(uri: *mut GUri) -> *const gchar;
19680}
19681extern "C" {
19682    pub fn g_uri_get_password(uri: *mut GUri) -> *const gchar;
19683}
19684extern "C" {
19685    pub fn g_uri_get_auth_params(uri: *mut GUri) -> *const gchar;
19686}
19687extern "C" {
19688    pub fn g_uri_get_host(uri: *mut GUri) -> *const gchar;
19689}
19690extern "C" {
19691    pub fn g_uri_get_port(uri: *mut GUri) -> gint;
19692}
19693extern "C" {
19694    pub fn g_uri_get_path(uri: *mut GUri) -> *const gchar;
19695}
19696extern "C" {
19697    pub fn g_uri_get_query(uri: *mut GUri) -> *const gchar;
19698}
19699extern "C" {
19700    pub fn g_uri_get_fragment(uri: *mut GUri) -> *const gchar;
19701}
19702extern "C" {
19703    pub fn g_uri_get_flags(uri: *mut GUri) -> GUriFlags;
19704}
19705pub const GUriParamsFlags_G_URI_PARAMS_NONE: GUriParamsFlags = 0;
19706pub const GUriParamsFlags_G_URI_PARAMS_CASE_INSENSITIVE: GUriParamsFlags = 1;
19707pub const GUriParamsFlags_G_URI_PARAMS_WWW_FORM: GUriParamsFlags = 2;
19708pub const GUriParamsFlags_G_URI_PARAMS_PARSE_RELAXED: GUriParamsFlags = 4;
19709pub type GUriParamsFlags = ::std::os::raw::c_uint;
19710extern "C" {
19711    pub fn g_uri_parse_params(
19712        params: *const gchar,
19713        length: gssize,
19714        separators: *const gchar,
19715        flags: GUriParamsFlags,
19716        error: *mut *mut GError,
19717    ) -> *mut GHashTable;
19718}
19719pub type GUriParamsIter = _GUriParamsIter;
19720#[repr(C)]
19721#[derive(Debug, Copy, Clone)]
19722pub struct _GUriParamsIter {
19723    pub dummy0: gint,
19724    pub dummy1: gpointer,
19725    pub dummy2: gpointer,
19726    pub dummy3: [guint8; 256usize],
19727}
19728#[test]
19729fn bindgen_test_layout__GUriParamsIter() {
19730    const UNINIT: ::std::mem::MaybeUninit<_GUriParamsIter> = ::std::mem::MaybeUninit::uninit();
19731    let ptr = UNINIT.as_ptr();
19732    assert_eq!(
19733        ::std::mem::size_of::<_GUriParamsIter>(),
19734        280usize,
19735        concat!("Size of: ", stringify!(_GUriParamsIter))
19736    );
19737    assert_eq!(
19738        ::std::mem::align_of::<_GUriParamsIter>(),
19739        8usize,
19740        concat!("Alignment of ", stringify!(_GUriParamsIter))
19741    );
19742    assert_eq!(
19743        unsafe { ::std::ptr::addr_of!((*ptr).dummy0) as usize - ptr as usize },
19744        0usize,
19745        concat!(
19746            "Offset of field: ",
19747            stringify!(_GUriParamsIter),
19748            "::",
19749            stringify!(dummy0)
19750        )
19751    );
19752    assert_eq!(
19753        unsafe { ::std::ptr::addr_of!((*ptr).dummy1) as usize - ptr as usize },
19754        8usize,
19755        concat!(
19756            "Offset of field: ",
19757            stringify!(_GUriParamsIter),
19758            "::",
19759            stringify!(dummy1)
19760        )
19761    );
19762    assert_eq!(
19763        unsafe { ::std::ptr::addr_of!((*ptr).dummy2) as usize - ptr as usize },
19764        16usize,
19765        concat!(
19766            "Offset of field: ",
19767            stringify!(_GUriParamsIter),
19768            "::",
19769            stringify!(dummy2)
19770        )
19771    );
19772    assert_eq!(
19773        unsafe { ::std::ptr::addr_of!((*ptr).dummy3) as usize - ptr as usize },
19774        24usize,
19775        concat!(
19776            "Offset of field: ",
19777            stringify!(_GUriParamsIter),
19778            "::",
19779            stringify!(dummy3)
19780        )
19781    );
19782}
19783extern "C" {
19784    pub fn g_uri_params_iter_init(
19785        iter: *mut GUriParamsIter,
19786        params: *const gchar,
19787        length: gssize,
19788        separators: *const gchar,
19789        flags: GUriParamsFlags,
19790    );
19791}
19792extern "C" {
19793    pub fn g_uri_params_iter_next(
19794        iter: *mut GUriParamsIter,
19795        attribute: *mut *mut gchar,
19796        value: *mut *mut gchar,
19797        error: *mut *mut GError,
19798    ) -> gboolean;
19799}
19800extern "C" {
19801    pub fn g_uri_error_quark() -> GQuark;
19802}
19803pub const GUriError_G_URI_ERROR_FAILED: GUriError = 0;
19804pub const GUriError_G_URI_ERROR_BAD_SCHEME: GUriError = 1;
19805pub const GUriError_G_URI_ERROR_BAD_USER: GUriError = 2;
19806pub const GUriError_G_URI_ERROR_BAD_PASSWORD: GUriError = 3;
19807pub const GUriError_G_URI_ERROR_BAD_AUTH_PARAMS: GUriError = 4;
19808pub const GUriError_G_URI_ERROR_BAD_HOST: GUriError = 5;
19809pub const GUriError_G_URI_ERROR_BAD_PORT: GUriError = 6;
19810pub const GUriError_G_URI_ERROR_BAD_PATH: GUriError = 7;
19811pub const GUriError_G_URI_ERROR_BAD_QUERY: GUriError = 8;
19812pub const GUriError_G_URI_ERROR_BAD_FRAGMENT: GUriError = 9;
19813pub type GUriError = ::std::os::raw::c_uint;
19814extern "C" {
19815    pub fn g_uri_unescape_string(
19816        escaped_string: *const ::std::os::raw::c_char,
19817        illegal_characters: *const ::std::os::raw::c_char,
19818    ) -> *mut ::std::os::raw::c_char;
19819}
19820extern "C" {
19821    pub fn g_uri_unescape_segment(
19822        escaped_string: *const ::std::os::raw::c_char,
19823        escaped_string_end: *const ::std::os::raw::c_char,
19824        illegal_characters: *const ::std::os::raw::c_char,
19825    ) -> *mut ::std::os::raw::c_char;
19826}
19827extern "C" {
19828    pub fn g_uri_parse_scheme(uri: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
19829}
19830extern "C" {
19831    pub fn g_uri_peek_scheme(uri: *const ::std::os::raw::c_char) -> *const ::std::os::raw::c_char;
19832}
19833extern "C" {
19834    pub fn g_uri_escape_string(
19835        unescaped: *const ::std::os::raw::c_char,
19836        reserved_chars_allowed: *const ::std::os::raw::c_char,
19837        allow_utf8: gboolean,
19838    ) -> *mut ::std::os::raw::c_char;
19839}
19840extern "C" {
19841    pub fn g_uri_unescape_bytes(
19842        escaped_string: *const ::std::os::raw::c_char,
19843        length: gssize,
19844        illegal_characters: *const ::std::os::raw::c_char,
19845        error: *mut *mut GError,
19846    ) -> *mut GBytes;
19847}
19848extern "C" {
19849    pub fn g_uri_escape_bytes(
19850        unescaped: *const guint8,
19851        length: gsize,
19852        reserved_chars_allowed: *const ::std::os::raw::c_char,
19853    ) -> *mut ::std::os::raw::c_char;
19854}
19855extern "C" {
19856    pub fn g_uuid_string_is_valid(str_: *const gchar) -> gboolean;
19857}
19858extern "C" {
19859    pub fn g_uuid_string_random() -> *mut gchar;
19860}
19861extern "C" {
19862    pub static glib_major_version: guint;
19863}
19864extern "C" {
19865    pub static glib_minor_version: guint;
19866}
19867extern "C" {
19868    pub static glib_micro_version: guint;
19869}
19870extern "C" {
19871    pub static glib_interface_age: guint;
19872}
19873extern "C" {
19874    pub static glib_binary_age: guint;
19875}
19876extern "C" {
19877    pub fn glib_check_version(
19878        required_major: guint,
19879        required_minor: guint,
19880        required_micro: guint,
19881    ) -> *const gchar;
19882}
19883#[repr(C)]
19884#[derive(Debug, Copy, Clone)]
19885pub struct _GAllocator {
19886    _unused: [u8; 0],
19887}
19888pub type GAllocator = _GAllocator;
19889#[repr(C)]
19890#[derive(Debug, Copy, Clone)]
19891pub struct _GMemChunk {
19892    _unused: [u8; 0],
19893}
19894pub type GMemChunk = _GMemChunk;
19895extern "C" {
19896    pub fn g_mem_chunk_new(
19897        name: *const gchar,
19898        atom_size: gint,
19899        area_size: gsize,
19900        type_: gint,
19901    ) -> *mut GMemChunk;
19902}
19903extern "C" {
19904    pub fn g_mem_chunk_destroy(mem_chunk: *mut GMemChunk);
19905}
19906extern "C" {
19907    pub fn g_mem_chunk_alloc(mem_chunk: *mut GMemChunk) -> gpointer;
19908}
19909extern "C" {
19910    pub fn g_mem_chunk_alloc0(mem_chunk: *mut GMemChunk) -> gpointer;
19911}
19912extern "C" {
19913    pub fn g_mem_chunk_free(mem_chunk: *mut GMemChunk, mem: gpointer);
19914}
19915extern "C" {
19916    pub fn g_mem_chunk_clean(mem_chunk: *mut GMemChunk);
19917}
19918extern "C" {
19919    pub fn g_mem_chunk_reset(mem_chunk: *mut GMemChunk);
19920}
19921extern "C" {
19922    pub fn g_mem_chunk_print(mem_chunk: *mut GMemChunk);
19923}
19924extern "C" {
19925    pub fn g_mem_chunk_info();
19926}
19927extern "C" {
19928    pub fn g_blow_chunks();
19929}
19930extern "C" {
19931    pub fn g_allocator_new(name: *const gchar, n_preallocs: guint) -> *mut GAllocator;
19932}
19933extern "C" {
19934    pub fn g_allocator_free(allocator: *mut GAllocator);
19935}
19936extern "C" {
19937    pub fn g_list_push_allocator(allocator: *mut GAllocator);
19938}
19939extern "C" {
19940    pub fn g_list_pop_allocator();
19941}
19942extern "C" {
19943    pub fn g_slist_push_allocator(allocator: *mut GAllocator);
19944}
19945extern "C" {
19946    pub fn g_slist_pop_allocator();
19947}
19948extern "C" {
19949    pub fn g_node_push_allocator(allocator: *mut GAllocator);
19950}
19951extern "C" {
19952    pub fn g_node_pop_allocator();
19953}
19954#[repr(C)]
19955#[derive(Debug, Copy, Clone)]
19956pub struct _GCache {
19957    _unused: [u8; 0],
19958}
19959pub type GCache = _GCache;
19960pub type GCacheNewFunc = ::std::option::Option<unsafe extern "C" fn(key: gpointer) -> gpointer>;
19961pub type GCacheDupFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer) -> gpointer>;
19962pub type GCacheDestroyFunc = ::std::option::Option<unsafe extern "C" fn(value: gpointer)>;
19963extern "C" {
19964    pub fn g_cache_new(
19965        value_new_func: GCacheNewFunc,
19966        value_destroy_func: GCacheDestroyFunc,
19967        key_dup_func: GCacheDupFunc,
19968        key_destroy_func: GCacheDestroyFunc,
19969        hash_key_func: GHashFunc,
19970        hash_value_func: GHashFunc,
19971        key_equal_func: GEqualFunc,
19972    ) -> *mut GCache;
19973}
19974extern "C" {
19975    pub fn g_cache_destroy(cache: *mut GCache);
19976}
19977extern "C" {
19978    pub fn g_cache_insert(cache: *mut GCache, key: gpointer) -> gpointer;
19979}
19980extern "C" {
19981    pub fn g_cache_remove(cache: *mut GCache, value: gconstpointer);
19982}
19983extern "C" {
19984    pub fn g_cache_key_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
19985}
19986extern "C" {
19987    pub fn g_cache_value_foreach(cache: *mut GCache, func: GHFunc, user_data: gpointer);
19988}
19989pub type GCompletion = _GCompletion;
19990pub type GCompletionFunc =
19991    ::std::option::Option<unsafe extern "C" fn(arg1: gpointer) -> *mut gchar>;
19992pub type GCompletionStrncmpFunc = ::std::option::Option<
19993    unsafe extern "C" fn(s1: *const gchar, s2: *const gchar, n: gsize) -> gint,
19994>;
19995#[repr(C)]
19996#[derive(Debug, Copy, Clone)]
19997pub struct _GCompletion {
19998    pub items: *mut GList,
19999    pub func: GCompletionFunc,
20000    pub prefix: *mut gchar,
20001    pub cache: *mut GList,
20002    pub strncmp_func: GCompletionStrncmpFunc,
20003}
20004#[test]
20005fn bindgen_test_layout__GCompletion() {
20006    const UNINIT: ::std::mem::MaybeUninit<_GCompletion> = ::std::mem::MaybeUninit::uninit();
20007    let ptr = UNINIT.as_ptr();
20008    assert_eq!(
20009        ::std::mem::size_of::<_GCompletion>(),
20010        40usize,
20011        concat!("Size of: ", stringify!(_GCompletion))
20012    );
20013    assert_eq!(
20014        ::std::mem::align_of::<_GCompletion>(),
20015        8usize,
20016        concat!("Alignment of ", stringify!(_GCompletion))
20017    );
20018    assert_eq!(
20019        unsafe { ::std::ptr::addr_of!((*ptr).items) as usize - ptr as usize },
20020        0usize,
20021        concat!(
20022            "Offset of field: ",
20023            stringify!(_GCompletion),
20024            "::",
20025            stringify!(items)
20026        )
20027    );
20028    assert_eq!(
20029        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
20030        8usize,
20031        concat!(
20032            "Offset of field: ",
20033            stringify!(_GCompletion),
20034            "::",
20035            stringify!(func)
20036        )
20037    );
20038    assert_eq!(
20039        unsafe { ::std::ptr::addr_of!((*ptr).prefix) as usize - ptr as usize },
20040        16usize,
20041        concat!(
20042            "Offset of field: ",
20043            stringify!(_GCompletion),
20044            "::",
20045            stringify!(prefix)
20046        )
20047    );
20048    assert_eq!(
20049        unsafe { ::std::ptr::addr_of!((*ptr).cache) as usize - ptr as usize },
20050        24usize,
20051        concat!(
20052            "Offset of field: ",
20053            stringify!(_GCompletion),
20054            "::",
20055            stringify!(cache)
20056        )
20057    );
20058    assert_eq!(
20059        unsafe { ::std::ptr::addr_of!((*ptr).strncmp_func) as usize - ptr as usize },
20060        32usize,
20061        concat!(
20062            "Offset of field: ",
20063            stringify!(_GCompletion),
20064            "::",
20065            stringify!(strncmp_func)
20066        )
20067    );
20068}
20069extern "C" {
20070    pub fn g_completion_new(func: GCompletionFunc) -> *mut GCompletion;
20071}
20072extern "C" {
20073    pub fn g_completion_add_items(cmp: *mut GCompletion, items: *mut GList);
20074}
20075extern "C" {
20076    pub fn g_completion_remove_items(cmp: *mut GCompletion, items: *mut GList);
20077}
20078extern "C" {
20079    pub fn g_completion_clear_items(cmp: *mut GCompletion);
20080}
20081extern "C" {
20082    pub fn g_completion_complete(
20083        cmp: *mut GCompletion,
20084        prefix: *const gchar,
20085        new_prefix: *mut *mut gchar,
20086    ) -> *mut GList;
20087}
20088extern "C" {
20089    pub fn g_completion_complete_utf8(
20090        cmp: *mut GCompletion,
20091        prefix: *const gchar,
20092        new_prefix: *mut *mut gchar,
20093    ) -> *mut GList;
20094}
20095extern "C" {
20096    pub fn g_completion_set_compare(cmp: *mut GCompletion, strncmp_func: GCompletionStrncmpFunc);
20097}
20098extern "C" {
20099    pub fn g_completion_free(cmp: *mut GCompletion);
20100}
20101#[repr(C)]
20102#[derive(Debug, Copy, Clone)]
20103pub struct _GRelation {
20104    _unused: [u8; 0],
20105}
20106pub type GRelation = _GRelation;
20107pub type GTuples = _GTuples;
20108#[repr(C)]
20109#[derive(Debug, Copy, Clone)]
20110pub struct _GTuples {
20111    pub len: guint,
20112}
20113#[test]
20114fn bindgen_test_layout__GTuples() {
20115    const UNINIT: ::std::mem::MaybeUninit<_GTuples> = ::std::mem::MaybeUninit::uninit();
20116    let ptr = UNINIT.as_ptr();
20117    assert_eq!(
20118        ::std::mem::size_of::<_GTuples>(),
20119        4usize,
20120        concat!("Size of: ", stringify!(_GTuples))
20121    );
20122    assert_eq!(
20123        ::std::mem::align_of::<_GTuples>(),
20124        4usize,
20125        concat!("Alignment of ", stringify!(_GTuples))
20126    );
20127    assert_eq!(
20128        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
20129        0usize,
20130        concat!(
20131            "Offset of field: ",
20132            stringify!(_GTuples),
20133            "::",
20134            stringify!(len)
20135        )
20136    );
20137}
20138extern "C" {
20139    pub fn g_relation_new(fields: gint) -> *mut GRelation;
20140}
20141extern "C" {
20142    pub fn g_relation_destroy(relation: *mut GRelation);
20143}
20144extern "C" {
20145    pub fn g_relation_index(
20146        relation: *mut GRelation,
20147        field: gint,
20148        hash_func: GHashFunc,
20149        key_equal_func: GEqualFunc,
20150    );
20151}
20152extern "C" {
20153    pub fn g_relation_insert(relation: *mut GRelation, ...);
20154}
20155extern "C" {
20156    pub fn g_relation_delete(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
20157}
20158extern "C" {
20159    pub fn g_relation_select(
20160        relation: *mut GRelation,
20161        key: gconstpointer,
20162        field: gint,
20163    ) -> *mut GTuples;
20164}
20165extern "C" {
20166    pub fn g_relation_count(relation: *mut GRelation, key: gconstpointer, field: gint) -> gint;
20167}
20168extern "C" {
20169    pub fn g_relation_exists(relation: *mut GRelation, ...) -> gboolean;
20170}
20171extern "C" {
20172    pub fn g_relation_print(relation: *mut GRelation);
20173}
20174extern "C" {
20175    pub fn g_tuples_destroy(tuples: *mut GTuples);
20176}
20177extern "C" {
20178    pub fn g_tuples_index(tuples: *mut GTuples, index_: gint, field: gint) -> gpointer;
20179}
20180pub const GThreadPriority_G_THREAD_PRIORITY_LOW: GThreadPriority = 0;
20181pub const GThreadPriority_G_THREAD_PRIORITY_NORMAL: GThreadPriority = 1;
20182pub const GThreadPriority_G_THREAD_PRIORITY_HIGH: GThreadPriority = 2;
20183pub const GThreadPriority_G_THREAD_PRIORITY_URGENT: GThreadPriority = 3;
20184pub type GThreadPriority = ::std::os::raw::c_uint;
20185#[repr(C)]
20186#[derive(Debug, Copy, Clone)]
20187pub struct _GThread {
20188    pub func: GThreadFunc,
20189    pub data: gpointer,
20190    pub joinable: gboolean,
20191    pub priority: GThreadPriority,
20192}
20193#[test]
20194fn bindgen_test_layout__GThread() {
20195    const UNINIT: ::std::mem::MaybeUninit<_GThread> = ::std::mem::MaybeUninit::uninit();
20196    let ptr = UNINIT.as_ptr();
20197    assert_eq!(
20198        ::std::mem::size_of::<_GThread>(),
20199        24usize,
20200        concat!("Size of: ", stringify!(_GThread))
20201    );
20202    assert_eq!(
20203        ::std::mem::align_of::<_GThread>(),
20204        8usize,
20205        concat!("Alignment of ", stringify!(_GThread))
20206    );
20207    assert_eq!(
20208        unsafe { ::std::ptr::addr_of!((*ptr).func) as usize - ptr as usize },
20209        0usize,
20210        concat!(
20211            "Offset of field: ",
20212            stringify!(_GThread),
20213            "::",
20214            stringify!(func)
20215        )
20216    );
20217    assert_eq!(
20218        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
20219        8usize,
20220        concat!(
20221            "Offset of field: ",
20222            stringify!(_GThread),
20223            "::",
20224            stringify!(data)
20225        )
20226    );
20227    assert_eq!(
20228        unsafe { ::std::ptr::addr_of!((*ptr).joinable) as usize - ptr as usize },
20229        16usize,
20230        concat!(
20231            "Offset of field: ",
20232            stringify!(_GThread),
20233            "::",
20234            stringify!(joinable)
20235        )
20236    );
20237    assert_eq!(
20238        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
20239        20usize,
20240        concat!(
20241            "Offset of field: ",
20242            stringify!(_GThread),
20243            "::",
20244            stringify!(priority)
20245        )
20246    );
20247}
20248pub type GThreadFunctions = _GThreadFunctions;
20249#[repr(C)]
20250#[derive(Debug, Copy, Clone)]
20251pub struct _GThreadFunctions {
20252    pub mutex_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GMutex>,
20253    pub mutex_lock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
20254    pub mutex_trylock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex) -> gboolean>,
20255    pub mutex_unlock: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
20256    pub mutex_free: ::std::option::Option<unsafe extern "C" fn(mutex: *mut GMutex)>,
20257    pub cond_new: ::std::option::Option<unsafe extern "C" fn() -> *mut GCond>,
20258    pub cond_signal: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
20259    pub cond_broadcast: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
20260    pub cond_wait:
20261        ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond, mutex: *mut GMutex)>,
20262    pub cond_timed_wait: ::std::option::Option<
20263        unsafe extern "C" fn(
20264            cond: *mut GCond,
20265            mutex: *mut GMutex,
20266            end_time: *mut GTimeVal,
20267        ) -> gboolean,
20268    >,
20269    pub cond_free: ::std::option::Option<unsafe extern "C" fn(cond: *mut GCond)>,
20270    pub private_new:
20271        ::std::option::Option<unsafe extern "C" fn(destructor: GDestroyNotify) -> *mut GPrivate>,
20272    pub private_get:
20273        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate) -> gpointer>,
20274    pub private_set:
20275        ::std::option::Option<unsafe extern "C" fn(private_key: *mut GPrivate, data: gpointer)>,
20276    pub thread_create: ::std::option::Option<
20277        unsafe extern "C" fn(
20278            func: GThreadFunc,
20279            data: gpointer,
20280            stack_size: gulong,
20281            joinable: gboolean,
20282            bound: gboolean,
20283            priority: GThreadPriority,
20284            thread: gpointer,
20285            error: *mut *mut GError,
20286        ),
20287    >,
20288    pub thread_yield: ::std::option::Option<unsafe extern "C" fn()>,
20289    pub thread_join: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
20290    pub thread_exit: ::std::option::Option<unsafe extern "C" fn()>,
20291    pub thread_set_priority:
20292        ::std::option::Option<unsafe extern "C" fn(thread: gpointer, priority: GThreadPriority)>,
20293    pub thread_self: ::std::option::Option<unsafe extern "C" fn(thread: gpointer)>,
20294    pub thread_equal: ::std::option::Option<
20295        unsafe extern "C" fn(thread1: gpointer, thread2: gpointer) -> gboolean,
20296    >,
20297}
20298#[test]
20299fn bindgen_test_layout__GThreadFunctions() {
20300    const UNINIT: ::std::mem::MaybeUninit<_GThreadFunctions> = ::std::mem::MaybeUninit::uninit();
20301    let ptr = UNINIT.as_ptr();
20302    assert_eq!(
20303        ::std::mem::size_of::<_GThreadFunctions>(),
20304        168usize,
20305        concat!("Size of: ", stringify!(_GThreadFunctions))
20306    );
20307    assert_eq!(
20308        ::std::mem::align_of::<_GThreadFunctions>(),
20309        8usize,
20310        concat!("Alignment of ", stringify!(_GThreadFunctions))
20311    );
20312    assert_eq!(
20313        unsafe { ::std::ptr::addr_of!((*ptr).mutex_new) as usize - ptr as usize },
20314        0usize,
20315        concat!(
20316            "Offset of field: ",
20317            stringify!(_GThreadFunctions),
20318            "::",
20319            stringify!(mutex_new)
20320        )
20321    );
20322    assert_eq!(
20323        unsafe { ::std::ptr::addr_of!((*ptr).mutex_lock) as usize - ptr as usize },
20324        8usize,
20325        concat!(
20326            "Offset of field: ",
20327            stringify!(_GThreadFunctions),
20328            "::",
20329            stringify!(mutex_lock)
20330        )
20331    );
20332    assert_eq!(
20333        unsafe { ::std::ptr::addr_of!((*ptr).mutex_trylock) as usize - ptr as usize },
20334        16usize,
20335        concat!(
20336            "Offset of field: ",
20337            stringify!(_GThreadFunctions),
20338            "::",
20339            stringify!(mutex_trylock)
20340        )
20341    );
20342    assert_eq!(
20343        unsafe { ::std::ptr::addr_of!((*ptr).mutex_unlock) as usize - ptr as usize },
20344        24usize,
20345        concat!(
20346            "Offset of field: ",
20347            stringify!(_GThreadFunctions),
20348            "::",
20349            stringify!(mutex_unlock)
20350        )
20351    );
20352    assert_eq!(
20353        unsafe { ::std::ptr::addr_of!((*ptr).mutex_free) as usize - ptr as usize },
20354        32usize,
20355        concat!(
20356            "Offset of field: ",
20357            stringify!(_GThreadFunctions),
20358            "::",
20359            stringify!(mutex_free)
20360        )
20361    );
20362    assert_eq!(
20363        unsafe { ::std::ptr::addr_of!((*ptr).cond_new) as usize - ptr as usize },
20364        40usize,
20365        concat!(
20366            "Offset of field: ",
20367            stringify!(_GThreadFunctions),
20368            "::",
20369            stringify!(cond_new)
20370        )
20371    );
20372    assert_eq!(
20373        unsafe { ::std::ptr::addr_of!((*ptr).cond_signal) as usize - ptr as usize },
20374        48usize,
20375        concat!(
20376            "Offset of field: ",
20377            stringify!(_GThreadFunctions),
20378            "::",
20379            stringify!(cond_signal)
20380        )
20381    );
20382    assert_eq!(
20383        unsafe { ::std::ptr::addr_of!((*ptr).cond_broadcast) as usize - ptr as usize },
20384        56usize,
20385        concat!(
20386            "Offset of field: ",
20387            stringify!(_GThreadFunctions),
20388            "::",
20389            stringify!(cond_broadcast)
20390        )
20391    );
20392    assert_eq!(
20393        unsafe { ::std::ptr::addr_of!((*ptr).cond_wait) as usize - ptr as usize },
20394        64usize,
20395        concat!(
20396            "Offset of field: ",
20397            stringify!(_GThreadFunctions),
20398            "::",
20399            stringify!(cond_wait)
20400        )
20401    );
20402    assert_eq!(
20403        unsafe { ::std::ptr::addr_of!((*ptr).cond_timed_wait) as usize - ptr as usize },
20404        72usize,
20405        concat!(
20406            "Offset of field: ",
20407            stringify!(_GThreadFunctions),
20408            "::",
20409            stringify!(cond_timed_wait)
20410        )
20411    );
20412    assert_eq!(
20413        unsafe { ::std::ptr::addr_of!((*ptr).cond_free) as usize - ptr as usize },
20414        80usize,
20415        concat!(
20416            "Offset of field: ",
20417            stringify!(_GThreadFunctions),
20418            "::",
20419            stringify!(cond_free)
20420        )
20421    );
20422    assert_eq!(
20423        unsafe { ::std::ptr::addr_of!((*ptr).private_new) as usize - ptr as usize },
20424        88usize,
20425        concat!(
20426            "Offset of field: ",
20427            stringify!(_GThreadFunctions),
20428            "::",
20429            stringify!(private_new)
20430        )
20431    );
20432    assert_eq!(
20433        unsafe { ::std::ptr::addr_of!((*ptr).private_get) as usize - ptr as usize },
20434        96usize,
20435        concat!(
20436            "Offset of field: ",
20437            stringify!(_GThreadFunctions),
20438            "::",
20439            stringify!(private_get)
20440        )
20441    );
20442    assert_eq!(
20443        unsafe { ::std::ptr::addr_of!((*ptr).private_set) as usize - ptr as usize },
20444        104usize,
20445        concat!(
20446            "Offset of field: ",
20447            stringify!(_GThreadFunctions),
20448            "::",
20449            stringify!(private_set)
20450        )
20451    );
20452    assert_eq!(
20453        unsafe { ::std::ptr::addr_of!((*ptr).thread_create) as usize - ptr as usize },
20454        112usize,
20455        concat!(
20456            "Offset of field: ",
20457            stringify!(_GThreadFunctions),
20458            "::",
20459            stringify!(thread_create)
20460        )
20461    );
20462    assert_eq!(
20463        unsafe { ::std::ptr::addr_of!((*ptr).thread_yield) as usize - ptr as usize },
20464        120usize,
20465        concat!(
20466            "Offset of field: ",
20467            stringify!(_GThreadFunctions),
20468            "::",
20469            stringify!(thread_yield)
20470        )
20471    );
20472    assert_eq!(
20473        unsafe { ::std::ptr::addr_of!((*ptr).thread_join) as usize - ptr as usize },
20474        128usize,
20475        concat!(
20476            "Offset of field: ",
20477            stringify!(_GThreadFunctions),
20478            "::",
20479            stringify!(thread_join)
20480        )
20481    );
20482    assert_eq!(
20483        unsafe { ::std::ptr::addr_of!((*ptr).thread_exit) as usize - ptr as usize },
20484        136usize,
20485        concat!(
20486            "Offset of field: ",
20487            stringify!(_GThreadFunctions),
20488            "::",
20489            stringify!(thread_exit)
20490        )
20491    );
20492    assert_eq!(
20493        unsafe { ::std::ptr::addr_of!((*ptr).thread_set_priority) as usize - ptr as usize },
20494        144usize,
20495        concat!(
20496            "Offset of field: ",
20497            stringify!(_GThreadFunctions),
20498            "::",
20499            stringify!(thread_set_priority)
20500        )
20501    );
20502    assert_eq!(
20503        unsafe { ::std::ptr::addr_of!((*ptr).thread_self) as usize - ptr as usize },
20504        152usize,
20505        concat!(
20506            "Offset of field: ",
20507            stringify!(_GThreadFunctions),
20508            "::",
20509            stringify!(thread_self)
20510        )
20511    );
20512    assert_eq!(
20513        unsafe { ::std::ptr::addr_of!((*ptr).thread_equal) as usize - ptr as usize },
20514        160usize,
20515        concat!(
20516            "Offset of field: ",
20517            stringify!(_GThreadFunctions),
20518            "::",
20519            stringify!(thread_equal)
20520        )
20521    );
20522}
20523extern "C" {
20524    pub static mut g_thread_functions_for_glib_use: GThreadFunctions;
20525}
20526extern "C" {
20527    pub static mut g_thread_use_default_impl: gboolean;
20528}
20529extern "C" {
20530    pub static mut g_thread_gettime: ::std::option::Option<unsafe extern "C" fn() -> guint64>;
20531}
20532extern "C" {
20533    pub fn g_thread_create(
20534        func: GThreadFunc,
20535        data: gpointer,
20536        joinable: gboolean,
20537        error: *mut *mut GError,
20538    ) -> *mut GThread;
20539}
20540extern "C" {
20541    pub fn g_thread_create_full(
20542        func: GThreadFunc,
20543        data: gpointer,
20544        stack_size: gulong,
20545        joinable: gboolean,
20546        bound: gboolean,
20547        priority: GThreadPriority,
20548        error: *mut *mut GError,
20549    ) -> *mut GThread;
20550}
20551extern "C" {
20552    pub fn g_thread_set_priority(thread: *mut GThread, priority: GThreadPriority);
20553}
20554extern "C" {
20555    pub fn g_thread_foreach(thread_func: GFunc, user_data: gpointer);
20556}
20557#[repr(C)]
20558#[derive(Debug, Copy, Clone)]
20559pub struct sched_param {
20560    pub sched_priority: ::std::os::raw::c_int,
20561}
20562#[test]
20563fn bindgen_test_layout_sched_param() {
20564    const UNINIT: ::std::mem::MaybeUninit<sched_param> = ::std::mem::MaybeUninit::uninit();
20565    let ptr = UNINIT.as_ptr();
20566    assert_eq!(
20567        ::std::mem::size_of::<sched_param>(),
20568        4usize,
20569        concat!("Size of: ", stringify!(sched_param))
20570    );
20571    assert_eq!(
20572        ::std::mem::align_of::<sched_param>(),
20573        4usize,
20574        concat!("Alignment of ", stringify!(sched_param))
20575    );
20576    assert_eq!(
20577        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
20578        0usize,
20579        concat!(
20580            "Offset of field: ",
20581            stringify!(sched_param),
20582            "::",
20583            stringify!(sched_priority)
20584        )
20585    );
20586}
20587pub type __cpu_mask = ::std::os::raw::c_ulong;
20588#[repr(C)]
20589#[derive(Debug, Copy, Clone)]
20590pub struct cpu_set_t {
20591    pub __bits: [__cpu_mask; 16usize],
20592}
20593#[test]
20594fn bindgen_test_layout_cpu_set_t() {
20595    const UNINIT: ::std::mem::MaybeUninit<cpu_set_t> = ::std::mem::MaybeUninit::uninit();
20596    let ptr = UNINIT.as_ptr();
20597    assert_eq!(
20598        ::std::mem::size_of::<cpu_set_t>(),
20599        128usize,
20600        concat!("Size of: ", stringify!(cpu_set_t))
20601    );
20602    assert_eq!(
20603        ::std::mem::align_of::<cpu_set_t>(),
20604        8usize,
20605        concat!("Alignment of ", stringify!(cpu_set_t))
20606    );
20607    assert_eq!(
20608        unsafe { ::std::ptr::addr_of!((*ptr).__bits) as usize - ptr as usize },
20609        0usize,
20610        concat!(
20611            "Offset of field: ",
20612            stringify!(cpu_set_t),
20613            "::",
20614            stringify!(__bits)
20615        )
20616    );
20617}
20618extern "C" {
20619    pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::std::os::raw::c_int;
20620}
20621extern "C" {
20622    pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
20623}
20624extern "C" {
20625    pub fn __sched_cpufree(__set: *mut cpu_set_t);
20626}
20627extern "C" {
20628    pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::std::os::raw::c_int;
20629}
20630extern "C" {
20631    pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::std::os::raw::c_int;
20632}
20633extern "C" {
20634    pub fn sched_setscheduler(
20635        __pid: __pid_t,
20636        __policy: ::std::os::raw::c_int,
20637        __param: *const sched_param,
20638    ) -> ::std::os::raw::c_int;
20639}
20640extern "C" {
20641    pub fn sched_getscheduler(__pid: __pid_t) -> ::std::os::raw::c_int;
20642}
20643extern "C" {
20644    pub fn sched_yield() -> ::std::os::raw::c_int;
20645}
20646extern "C" {
20647    pub fn sched_get_priority_max(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20648}
20649extern "C" {
20650    pub fn sched_get_priority_min(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20651}
20652extern "C" {
20653    pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::std::os::raw::c_int;
20654}
20655pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
20656#[repr(C)]
20657#[derive(Debug, Copy, Clone)]
20658pub struct __jmp_buf_tag {
20659    pub __jmpbuf: __jmp_buf,
20660    pub __mask_was_saved: ::std::os::raw::c_int,
20661    pub __saved_mask: __sigset_t,
20662}
20663#[test]
20664fn bindgen_test_layout___jmp_buf_tag() {
20665    const UNINIT: ::std::mem::MaybeUninit<__jmp_buf_tag> = ::std::mem::MaybeUninit::uninit();
20666    let ptr = UNINIT.as_ptr();
20667    assert_eq!(
20668        ::std::mem::size_of::<__jmp_buf_tag>(),
20669        200usize,
20670        concat!("Size of: ", stringify!(__jmp_buf_tag))
20671    );
20672    assert_eq!(
20673        ::std::mem::align_of::<__jmp_buf_tag>(),
20674        8usize,
20675        concat!("Alignment of ", stringify!(__jmp_buf_tag))
20676    );
20677    assert_eq!(
20678        unsafe { ::std::ptr::addr_of!((*ptr).__jmpbuf) as usize - ptr as usize },
20679        0usize,
20680        concat!(
20681            "Offset of field: ",
20682            stringify!(__jmp_buf_tag),
20683            "::",
20684            stringify!(__jmpbuf)
20685        )
20686    );
20687    assert_eq!(
20688        unsafe { ::std::ptr::addr_of!((*ptr).__mask_was_saved) as usize - ptr as usize },
20689        64usize,
20690        concat!(
20691            "Offset of field: ",
20692            stringify!(__jmp_buf_tag),
20693            "::",
20694            stringify!(__mask_was_saved)
20695        )
20696    );
20697    assert_eq!(
20698        unsafe { ::std::ptr::addr_of!((*ptr).__saved_mask) as usize - ptr as usize },
20699        72usize,
20700        concat!(
20701            "Offset of field: ",
20702            stringify!(__jmp_buf_tag),
20703            "::",
20704            stringify!(__saved_mask)
20705        )
20706    );
20707}
20708pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_11 = 0;
20709pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_11 = 1;
20710pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
20711pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_12 = 0;
20712pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_12 = 1;
20713pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_12 = 2;
20714pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_12 = 3;
20715pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_12 = 0;
20716pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_12 = 1;
20717pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_12 = 2;
20718pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_12 = 0;
20719pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
20720pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_13 = 0;
20721pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_13 = 0;
20722pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_13 = 1;
20723pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_13 = 1;
20724pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
20725pub const PTHREAD_PRIO_NONE: _bindgen_ty_14 = 0;
20726pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_14 = 1;
20727pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_14 = 2;
20728pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
20729pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_15 = 0;
20730pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_15 = 1;
20731pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_15 = 2;
20732pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_15 = 0;
20733pub type _bindgen_ty_15 = ::std::os::raw::c_uint;
20734pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_16 = 0;
20735pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_16 = 1;
20736pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
20737pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_17 = 0;
20738pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_17 = 1;
20739pub type _bindgen_ty_17 = ::std::os::raw::c_uint;
20740pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_18 = 0;
20741pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_18 = 1;
20742pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
20743#[repr(C)]
20744#[derive(Debug, Copy, Clone)]
20745pub struct _pthread_cleanup_buffer {
20746    pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
20747    pub __arg: *mut ::std::os::raw::c_void,
20748    pub __canceltype: ::std::os::raw::c_int,
20749    pub __prev: *mut _pthread_cleanup_buffer,
20750}
20751#[test]
20752fn bindgen_test_layout__pthread_cleanup_buffer() {
20753    const UNINIT: ::std::mem::MaybeUninit<_pthread_cleanup_buffer> =
20754        ::std::mem::MaybeUninit::uninit();
20755    let ptr = UNINIT.as_ptr();
20756    assert_eq!(
20757        ::std::mem::size_of::<_pthread_cleanup_buffer>(),
20758        32usize,
20759        concat!("Size of: ", stringify!(_pthread_cleanup_buffer))
20760    );
20761    assert_eq!(
20762        ::std::mem::align_of::<_pthread_cleanup_buffer>(),
20763        8usize,
20764        concat!("Alignment of ", stringify!(_pthread_cleanup_buffer))
20765    );
20766    assert_eq!(
20767        unsafe { ::std::ptr::addr_of!((*ptr).__routine) as usize - ptr as usize },
20768        0usize,
20769        concat!(
20770            "Offset of field: ",
20771            stringify!(_pthread_cleanup_buffer),
20772            "::",
20773            stringify!(__routine)
20774        )
20775    );
20776    assert_eq!(
20777        unsafe { ::std::ptr::addr_of!((*ptr).__arg) as usize - ptr as usize },
20778        8usize,
20779        concat!(
20780            "Offset of field: ",
20781            stringify!(_pthread_cleanup_buffer),
20782            "::",
20783            stringify!(__arg)
20784        )
20785    );
20786    assert_eq!(
20787        unsafe { ::std::ptr::addr_of!((*ptr).__canceltype) as usize - ptr as usize },
20788        16usize,
20789        concat!(
20790            "Offset of field: ",
20791            stringify!(_pthread_cleanup_buffer),
20792            "::",
20793            stringify!(__canceltype)
20794        )
20795    );
20796    assert_eq!(
20797        unsafe { ::std::ptr::addr_of!((*ptr).__prev) as usize - ptr as usize },
20798        24usize,
20799        concat!(
20800            "Offset of field: ",
20801            stringify!(_pthread_cleanup_buffer),
20802            "::",
20803            stringify!(__prev)
20804        )
20805    );
20806}
20807pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_19 = 0;
20808pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_19 = 1;
20809pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
20810pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_20 = 0;
20811pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_20 = 1;
20812pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
20813extern "C" {
20814    pub fn pthread_create(
20815        __newthread: *mut pthread_t,
20816        __attr: *const pthread_attr_t,
20817        __start_routine: ::std::option::Option<
20818            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
20819        >,
20820        __arg: *mut ::std::os::raw::c_void,
20821    ) -> ::std::os::raw::c_int;
20822}
20823extern "C" {
20824    pub fn pthread_exit(__retval: *mut ::std::os::raw::c_void) -> !;
20825}
20826extern "C" {
20827    pub fn pthread_join(
20828        __th: pthread_t,
20829        __thread_return: *mut *mut ::std::os::raw::c_void,
20830    ) -> ::std::os::raw::c_int;
20831}
20832extern "C" {
20833    pub fn pthread_detach(__th: pthread_t) -> ::std::os::raw::c_int;
20834}
20835extern "C" {
20836    pub fn pthread_self() -> pthread_t;
20837}
20838extern "C" {
20839    pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::std::os::raw::c_int;
20840}
20841extern "C" {
20842    pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
20843}
20844extern "C" {
20845    pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
20846}
20847extern "C" {
20848    pub fn pthread_attr_getdetachstate(
20849        __attr: *const pthread_attr_t,
20850        __detachstate: *mut ::std::os::raw::c_int,
20851    ) -> ::std::os::raw::c_int;
20852}
20853extern "C" {
20854    pub fn pthread_attr_setdetachstate(
20855        __attr: *mut pthread_attr_t,
20856        __detachstate: ::std::os::raw::c_int,
20857    ) -> ::std::os::raw::c_int;
20858}
20859extern "C" {
20860    pub fn pthread_attr_getguardsize(
20861        __attr: *const pthread_attr_t,
20862        __guardsize: *mut usize,
20863    ) -> ::std::os::raw::c_int;
20864}
20865extern "C" {
20866    pub fn pthread_attr_setguardsize(
20867        __attr: *mut pthread_attr_t,
20868        __guardsize: usize,
20869    ) -> ::std::os::raw::c_int;
20870}
20871extern "C" {
20872    pub fn pthread_attr_getschedparam(
20873        __attr: *const pthread_attr_t,
20874        __param: *mut sched_param,
20875    ) -> ::std::os::raw::c_int;
20876}
20877extern "C" {
20878    pub fn pthread_attr_setschedparam(
20879        __attr: *mut pthread_attr_t,
20880        __param: *const sched_param,
20881    ) -> ::std::os::raw::c_int;
20882}
20883extern "C" {
20884    pub fn pthread_attr_getschedpolicy(
20885        __attr: *const pthread_attr_t,
20886        __policy: *mut ::std::os::raw::c_int,
20887    ) -> ::std::os::raw::c_int;
20888}
20889extern "C" {
20890    pub fn pthread_attr_setschedpolicy(
20891        __attr: *mut pthread_attr_t,
20892        __policy: ::std::os::raw::c_int,
20893    ) -> ::std::os::raw::c_int;
20894}
20895extern "C" {
20896    pub fn pthread_attr_getinheritsched(
20897        __attr: *const pthread_attr_t,
20898        __inherit: *mut ::std::os::raw::c_int,
20899    ) -> ::std::os::raw::c_int;
20900}
20901extern "C" {
20902    pub fn pthread_attr_setinheritsched(
20903        __attr: *mut pthread_attr_t,
20904        __inherit: ::std::os::raw::c_int,
20905    ) -> ::std::os::raw::c_int;
20906}
20907extern "C" {
20908    pub fn pthread_attr_getscope(
20909        __attr: *const pthread_attr_t,
20910        __scope: *mut ::std::os::raw::c_int,
20911    ) -> ::std::os::raw::c_int;
20912}
20913extern "C" {
20914    pub fn pthread_attr_setscope(
20915        __attr: *mut pthread_attr_t,
20916        __scope: ::std::os::raw::c_int,
20917    ) -> ::std::os::raw::c_int;
20918}
20919extern "C" {
20920    pub fn pthread_attr_getstackaddr(
20921        __attr: *const pthread_attr_t,
20922        __stackaddr: *mut *mut ::std::os::raw::c_void,
20923    ) -> ::std::os::raw::c_int;
20924}
20925extern "C" {
20926    pub fn pthread_attr_setstackaddr(
20927        __attr: *mut pthread_attr_t,
20928        __stackaddr: *mut ::std::os::raw::c_void,
20929    ) -> ::std::os::raw::c_int;
20930}
20931extern "C" {
20932    pub fn pthread_attr_getstacksize(
20933        __attr: *const pthread_attr_t,
20934        __stacksize: *mut usize,
20935    ) -> ::std::os::raw::c_int;
20936}
20937extern "C" {
20938    pub fn pthread_attr_setstacksize(
20939        __attr: *mut pthread_attr_t,
20940        __stacksize: usize,
20941    ) -> ::std::os::raw::c_int;
20942}
20943extern "C" {
20944    pub fn pthread_attr_getstack(
20945        __attr: *const pthread_attr_t,
20946        __stackaddr: *mut *mut ::std::os::raw::c_void,
20947        __stacksize: *mut usize,
20948    ) -> ::std::os::raw::c_int;
20949}
20950extern "C" {
20951    pub fn pthread_attr_setstack(
20952        __attr: *mut pthread_attr_t,
20953        __stackaddr: *mut ::std::os::raw::c_void,
20954        __stacksize: usize,
20955    ) -> ::std::os::raw::c_int;
20956}
20957extern "C" {
20958    pub fn pthread_setschedparam(
20959        __target_thread: pthread_t,
20960        __policy: ::std::os::raw::c_int,
20961        __param: *const sched_param,
20962    ) -> ::std::os::raw::c_int;
20963}
20964extern "C" {
20965    pub fn pthread_getschedparam(
20966        __target_thread: pthread_t,
20967        __policy: *mut ::std::os::raw::c_int,
20968        __param: *mut sched_param,
20969    ) -> ::std::os::raw::c_int;
20970}
20971extern "C" {
20972    pub fn pthread_setschedprio(
20973        __target_thread: pthread_t,
20974        __prio: ::std::os::raw::c_int,
20975    ) -> ::std::os::raw::c_int;
20976}
20977extern "C" {
20978    pub fn pthread_once(
20979        __once_control: *mut pthread_once_t,
20980        __init_routine: ::std::option::Option<unsafe extern "C" fn()>,
20981    ) -> ::std::os::raw::c_int;
20982}
20983extern "C" {
20984    pub fn pthread_setcancelstate(
20985        __state: ::std::os::raw::c_int,
20986        __oldstate: *mut ::std::os::raw::c_int,
20987    ) -> ::std::os::raw::c_int;
20988}
20989extern "C" {
20990    pub fn pthread_setcanceltype(
20991        __type: ::std::os::raw::c_int,
20992        __oldtype: *mut ::std::os::raw::c_int,
20993    ) -> ::std::os::raw::c_int;
20994}
20995extern "C" {
20996    pub fn pthread_cancel(__th: pthread_t) -> ::std::os::raw::c_int;
20997}
20998extern "C" {
20999    pub fn pthread_testcancel();
21000}
21001#[repr(C)]
21002#[derive(Debug, Copy, Clone)]
21003pub struct __cancel_jmp_buf_tag {
21004    pub __cancel_jmp_buf: __jmp_buf,
21005    pub __mask_was_saved: ::std::os::raw::c_int,
21006}
21007#[test]
21008fn bindgen_test_layout___cancel_jmp_buf_tag() {
21009    const UNINIT: ::std::mem::MaybeUninit<__cancel_jmp_buf_tag> = ::std::mem::MaybeUninit::uninit();
21010    let ptr = UNINIT.as_ptr();
21011    assert_eq!(
21012        ::std::mem::size_of::<__cancel_jmp_buf_tag>(),
21013        72usize,
21014        concat!("Size of: ", stringify!(__cancel_jmp_buf_tag))
21015    );
21016    assert_eq!(
21017        ::std::mem::align_of::<__cancel_jmp_buf_tag>(),
21018        8usize,
21019        concat!("Alignment of ", stringify!(__cancel_jmp_buf_tag))
21020    );
21021    assert_eq!(
21022        unsafe { ::std::ptr::addr_of!((*ptr).__cancel_jmp_buf) as usize - ptr as usize },
21023        0usize,
21024        concat!(
21025            "Offset of field: ",
21026            stringify!(__cancel_jmp_buf_tag),
21027            "::",
21028            stringify!(__cancel_jmp_buf)
21029        )
21030    );
21031    assert_eq!(
21032        unsafe { ::std::ptr::addr_of!((*ptr).__mask_was_saved) as usize - ptr as usize },
21033        64usize,
21034        concat!(
21035            "Offset of field: ",
21036            stringify!(__cancel_jmp_buf_tag),
21037            "::",
21038            stringify!(__mask_was_saved)
21039        )
21040    );
21041}
21042#[repr(C)]
21043#[derive(Debug, Copy, Clone)]
21044pub struct __pthread_unwind_buf_t {
21045    pub __cancel_jmp_buf: [__cancel_jmp_buf_tag; 1usize],
21046    pub __pad: [*mut ::std::os::raw::c_void; 4usize],
21047}
21048#[test]
21049fn bindgen_test_layout___pthread_unwind_buf_t() {
21050    const UNINIT: ::std::mem::MaybeUninit<__pthread_unwind_buf_t> =
21051        ::std::mem::MaybeUninit::uninit();
21052    let ptr = UNINIT.as_ptr();
21053    assert_eq!(
21054        ::std::mem::size_of::<__pthread_unwind_buf_t>(),
21055        104usize,
21056        concat!("Size of: ", stringify!(__pthread_unwind_buf_t))
21057    );
21058    assert_eq!(
21059        ::std::mem::align_of::<__pthread_unwind_buf_t>(),
21060        8usize,
21061        concat!("Alignment of ", stringify!(__pthread_unwind_buf_t))
21062    );
21063    assert_eq!(
21064        unsafe { ::std::ptr::addr_of!((*ptr).__cancel_jmp_buf) as usize - ptr as usize },
21065        0usize,
21066        concat!(
21067            "Offset of field: ",
21068            stringify!(__pthread_unwind_buf_t),
21069            "::",
21070            stringify!(__cancel_jmp_buf)
21071        )
21072    );
21073    assert_eq!(
21074        unsafe { ::std::ptr::addr_of!((*ptr).__pad) as usize - ptr as usize },
21075        72usize,
21076        concat!(
21077            "Offset of field: ",
21078            stringify!(__pthread_unwind_buf_t),
21079            "::",
21080            stringify!(__pad)
21081        )
21082    );
21083}
21084#[repr(C)]
21085#[derive(Debug, Copy, Clone)]
21086pub struct __pthread_cleanup_frame {
21087    pub __cancel_routine:
21088        ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
21089    pub __cancel_arg: *mut ::std::os::raw::c_void,
21090    pub __do_it: ::std::os::raw::c_int,
21091    pub __cancel_type: ::std::os::raw::c_int,
21092}
21093#[test]
21094fn bindgen_test_layout___pthread_cleanup_frame() {
21095    const UNINIT: ::std::mem::MaybeUninit<__pthread_cleanup_frame> =
21096        ::std::mem::MaybeUninit::uninit();
21097    let ptr = UNINIT.as_ptr();
21098    assert_eq!(
21099        ::std::mem::size_of::<__pthread_cleanup_frame>(),
21100        24usize,
21101        concat!("Size of: ", stringify!(__pthread_cleanup_frame))
21102    );
21103    assert_eq!(
21104        ::std::mem::align_of::<__pthread_cleanup_frame>(),
21105        8usize,
21106        concat!("Alignment of ", stringify!(__pthread_cleanup_frame))
21107    );
21108    assert_eq!(
21109        unsafe { ::std::ptr::addr_of!((*ptr).__cancel_routine) as usize - ptr as usize },
21110        0usize,
21111        concat!(
21112            "Offset of field: ",
21113            stringify!(__pthread_cleanup_frame),
21114            "::",
21115            stringify!(__cancel_routine)
21116        )
21117    );
21118    assert_eq!(
21119        unsafe { ::std::ptr::addr_of!((*ptr).__cancel_arg) as usize - ptr as usize },
21120        8usize,
21121        concat!(
21122            "Offset of field: ",
21123            stringify!(__pthread_cleanup_frame),
21124            "::",
21125            stringify!(__cancel_arg)
21126        )
21127    );
21128    assert_eq!(
21129        unsafe { ::std::ptr::addr_of!((*ptr).__do_it) as usize - ptr as usize },
21130        16usize,
21131        concat!(
21132            "Offset of field: ",
21133            stringify!(__pthread_cleanup_frame),
21134            "::",
21135            stringify!(__do_it)
21136        )
21137    );
21138    assert_eq!(
21139        unsafe { ::std::ptr::addr_of!((*ptr).__cancel_type) as usize - ptr as usize },
21140        20usize,
21141        concat!(
21142            "Offset of field: ",
21143            stringify!(__pthread_cleanup_frame),
21144            "::",
21145            stringify!(__cancel_type)
21146        )
21147    );
21148}
21149extern "C" {
21150    pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
21151}
21152extern "C" {
21153    pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
21154}
21155extern "C" {
21156    pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t) -> !;
21157}
21158extern "C" {
21159    pub fn __sigsetjmp(
21160        __env: *mut __jmp_buf_tag,
21161        __savemask: ::std::os::raw::c_int,
21162    ) -> ::std::os::raw::c_int;
21163}
21164extern "C" {
21165    pub fn pthread_mutex_init(
21166        __mutex: *mut pthread_mutex_t,
21167        __mutexattr: *const pthread_mutexattr_t,
21168    ) -> ::std::os::raw::c_int;
21169}
21170extern "C" {
21171    pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
21172}
21173extern "C" {
21174    pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
21175}
21176extern "C" {
21177    pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
21178}
21179extern "C" {
21180    pub fn pthread_mutex_timedlock(
21181        __mutex: *mut pthread_mutex_t,
21182        __abstime: *const timespec,
21183    ) -> ::std::os::raw::c_int;
21184}
21185extern "C" {
21186    pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
21187}
21188extern "C" {
21189    pub fn pthread_mutex_getprioceiling(
21190        __mutex: *const pthread_mutex_t,
21191        __prioceiling: *mut ::std::os::raw::c_int,
21192    ) -> ::std::os::raw::c_int;
21193}
21194extern "C" {
21195    pub fn pthread_mutex_setprioceiling(
21196        __mutex: *mut pthread_mutex_t,
21197        __prioceiling: ::std::os::raw::c_int,
21198        __old_ceiling: *mut ::std::os::raw::c_int,
21199    ) -> ::std::os::raw::c_int;
21200}
21201extern "C" {
21202    pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
21203}
21204extern "C" {
21205    pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
21206}
21207extern "C" {
21208    pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
21209}
21210extern "C" {
21211    pub fn pthread_mutexattr_getpshared(
21212        __attr: *const pthread_mutexattr_t,
21213        __pshared: *mut ::std::os::raw::c_int,
21214    ) -> ::std::os::raw::c_int;
21215}
21216extern "C" {
21217    pub fn pthread_mutexattr_setpshared(
21218        __attr: *mut pthread_mutexattr_t,
21219        __pshared: ::std::os::raw::c_int,
21220    ) -> ::std::os::raw::c_int;
21221}
21222extern "C" {
21223    pub fn pthread_mutexattr_gettype(
21224        __attr: *const pthread_mutexattr_t,
21225        __kind: *mut ::std::os::raw::c_int,
21226    ) -> ::std::os::raw::c_int;
21227}
21228extern "C" {
21229    pub fn pthread_mutexattr_settype(
21230        __attr: *mut pthread_mutexattr_t,
21231        __kind: ::std::os::raw::c_int,
21232    ) -> ::std::os::raw::c_int;
21233}
21234extern "C" {
21235    pub fn pthread_mutexattr_getprotocol(
21236        __attr: *const pthread_mutexattr_t,
21237        __protocol: *mut ::std::os::raw::c_int,
21238    ) -> ::std::os::raw::c_int;
21239}
21240extern "C" {
21241    pub fn pthread_mutexattr_setprotocol(
21242        __attr: *mut pthread_mutexattr_t,
21243        __protocol: ::std::os::raw::c_int,
21244    ) -> ::std::os::raw::c_int;
21245}
21246extern "C" {
21247    pub fn pthread_mutexattr_getprioceiling(
21248        __attr: *const pthread_mutexattr_t,
21249        __prioceiling: *mut ::std::os::raw::c_int,
21250    ) -> ::std::os::raw::c_int;
21251}
21252extern "C" {
21253    pub fn pthread_mutexattr_setprioceiling(
21254        __attr: *mut pthread_mutexattr_t,
21255        __prioceiling: ::std::os::raw::c_int,
21256    ) -> ::std::os::raw::c_int;
21257}
21258extern "C" {
21259    pub fn pthread_mutexattr_getrobust(
21260        __attr: *const pthread_mutexattr_t,
21261        __robustness: *mut ::std::os::raw::c_int,
21262    ) -> ::std::os::raw::c_int;
21263}
21264extern "C" {
21265    pub fn pthread_mutexattr_setrobust(
21266        __attr: *mut pthread_mutexattr_t,
21267        __robustness: ::std::os::raw::c_int,
21268    ) -> ::std::os::raw::c_int;
21269}
21270extern "C" {
21271    pub fn pthread_rwlock_init(
21272        __rwlock: *mut pthread_rwlock_t,
21273        __attr: *const pthread_rwlockattr_t,
21274    ) -> ::std::os::raw::c_int;
21275}
21276extern "C" {
21277    pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21278}
21279extern "C" {
21280    pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21281}
21282extern "C" {
21283    pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21284}
21285extern "C" {
21286    pub fn pthread_rwlock_timedrdlock(
21287        __rwlock: *mut pthread_rwlock_t,
21288        __abstime: *const timespec,
21289    ) -> ::std::os::raw::c_int;
21290}
21291extern "C" {
21292    pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21293}
21294extern "C" {
21295    pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21296}
21297extern "C" {
21298    pub fn pthread_rwlock_timedwrlock(
21299        __rwlock: *mut pthread_rwlock_t,
21300        __abstime: *const timespec,
21301    ) -> ::std::os::raw::c_int;
21302}
21303extern "C" {
21304    pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
21305}
21306extern "C" {
21307    pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
21308}
21309extern "C" {
21310    pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
21311}
21312extern "C" {
21313    pub fn pthread_rwlockattr_getpshared(
21314        __attr: *const pthread_rwlockattr_t,
21315        __pshared: *mut ::std::os::raw::c_int,
21316    ) -> ::std::os::raw::c_int;
21317}
21318extern "C" {
21319    pub fn pthread_rwlockattr_setpshared(
21320        __attr: *mut pthread_rwlockattr_t,
21321        __pshared: ::std::os::raw::c_int,
21322    ) -> ::std::os::raw::c_int;
21323}
21324extern "C" {
21325    pub fn pthread_rwlockattr_getkind_np(
21326        __attr: *const pthread_rwlockattr_t,
21327        __pref: *mut ::std::os::raw::c_int,
21328    ) -> ::std::os::raw::c_int;
21329}
21330extern "C" {
21331    pub fn pthread_rwlockattr_setkind_np(
21332        __attr: *mut pthread_rwlockattr_t,
21333        __pref: ::std::os::raw::c_int,
21334    ) -> ::std::os::raw::c_int;
21335}
21336extern "C" {
21337    pub fn pthread_cond_init(
21338        __cond: *mut pthread_cond_t,
21339        __cond_attr: *const pthread_condattr_t,
21340    ) -> ::std::os::raw::c_int;
21341}
21342extern "C" {
21343    pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
21344}
21345extern "C" {
21346    pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
21347}
21348extern "C" {
21349    pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
21350}
21351extern "C" {
21352    pub fn pthread_cond_wait(
21353        __cond: *mut pthread_cond_t,
21354        __mutex: *mut pthread_mutex_t,
21355    ) -> ::std::os::raw::c_int;
21356}
21357extern "C" {
21358    pub fn pthread_cond_timedwait(
21359        __cond: *mut pthread_cond_t,
21360        __mutex: *mut pthread_mutex_t,
21361        __abstime: *const timespec,
21362    ) -> ::std::os::raw::c_int;
21363}
21364extern "C" {
21365    pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
21366}
21367extern "C" {
21368    pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
21369}
21370extern "C" {
21371    pub fn pthread_condattr_getpshared(
21372        __attr: *const pthread_condattr_t,
21373        __pshared: *mut ::std::os::raw::c_int,
21374    ) -> ::std::os::raw::c_int;
21375}
21376extern "C" {
21377    pub fn pthread_condattr_setpshared(
21378        __attr: *mut pthread_condattr_t,
21379        __pshared: ::std::os::raw::c_int,
21380    ) -> ::std::os::raw::c_int;
21381}
21382extern "C" {
21383    pub fn pthread_condattr_getclock(
21384        __attr: *const pthread_condattr_t,
21385        __clock_id: *mut __clockid_t,
21386    ) -> ::std::os::raw::c_int;
21387}
21388extern "C" {
21389    pub fn pthread_condattr_setclock(
21390        __attr: *mut pthread_condattr_t,
21391        __clock_id: __clockid_t,
21392    ) -> ::std::os::raw::c_int;
21393}
21394extern "C" {
21395    pub fn pthread_spin_init(
21396        __lock: *mut pthread_spinlock_t,
21397        __pshared: ::std::os::raw::c_int,
21398    ) -> ::std::os::raw::c_int;
21399}
21400extern "C" {
21401    pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
21402}
21403extern "C" {
21404    pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
21405}
21406extern "C" {
21407    pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
21408}
21409extern "C" {
21410    pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
21411}
21412extern "C" {
21413    pub fn pthread_barrier_init(
21414        __barrier: *mut pthread_barrier_t,
21415        __attr: *const pthread_barrierattr_t,
21416        __count: ::std::os::raw::c_uint,
21417    ) -> ::std::os::raw::c_int;
21418}
21419extern "C" {
21420    pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
21421}
21422extern "C" {
21423    pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
21424}
21425extern "C" {
21426    pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
21427}
21428extern "C" {
21429    pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t)
21430        -> ::std::os::raw::c_int;
21431}
21432extern "C" {
21433    pub fn pthread_barrierattr_getpshared(
21434        __attr: *const pthread_barrierattr_t,
21435        __pshared: *mut ::std::os::raw::c_int,
21436    ) -> ::std::os::raw::c_int;
21437}
21438extern "C" {
21439    pub fn pthread_barrierattr_setpshared(
21440        __attr: *mut pthread_barrierattr_t,
21441        __pshared: ::std::os::raw::c_int,
21442    ) -> ::std::os::raw::c_int;
21443}
21444extern "C" {
21445    pub fn pthread_key_create(
21446        __key: *mut pthread_key_t,
21447        __destr_function: ::std::option::Option<
21448            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
21449        >,
21450    ) -> ::std::os::raw::c_int;
21451}
21452extern "C" {
21453    pub fn pthread_key_delete(__key: pthread_key_t) -> ::std::os::raw::c_int;
21454}
21455extern "C" {
21456    pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::std::os::raw::c_void;
21457}
21458extern "C" {
21459    pub fn pthread_setspecific(
21460        __key: pthread_key_t,
21461        __pointer: *const ::std::os::raw::c_void,
21462    ) -> ::std::os::raw::c_int;
21463}
21464extern "C" {
21465    pub fn pthread_getcpuclockid(
21466        __thread_id: pthread_t,
21467        __clock_id: *mut __clockid_t,
21468    ) -> ::std::os::raw::c_int;
21469}
21470extern "C" {
21471    pub fn pthread_atfork(
21472        __prepare: ::std::option::Option<unsafe extern "C" fn()>,
21473        __parent: ::std::option::Option<unsafe extern "C" fn()>,
21474        __child: ::std::option::Option<unsafe extern "C" fn()>,
21475    ) -> ::std::os::raw::c_int;
21476}
21477#[repr(C)]
21478#[derive(Copy, Clone)]
21479pub struct GStaticMutex {
21480    pub mutex: *mut GMutex,
21481    pub unused: pthread_mutex_t,
21482}
21483#[test]
21484fn bindgen_test_layout_GStaticMutex() {
21485    const UNINIT: ::std::mem::MaybeUninit<GStaticMutex> = ::std::mem::MaybeUninit::uninit();
21486    let ptr = UNINIT.as_ptr();
21487    assert_eq!(
21488        ::std::mem::size_of::<GStaticMutex>(),
21489        48usize,
21490        concat!("Size of: ", stringify!(GStaticMutex))
21491    );
21492    assert_eq!(
21493        ::std::mem::align_of::<GStaticMutex>(),
21494        8usize,
21495        concat!("Alignment of ", stringify!(GStaticMutex))
21496    );
21497    assert_eq!(
21498        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
21499        0usize,
21500        concat!(
21501            "Offset of field: ",
21502            stringify!(GStaticMutex),
21503            "::",
21504            stringify!(mutex)
21505        )
21506    );
21507    assert_eq!(
21508        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
21509        8usize,
21510        concat!(
21511            "Offset of field: ",
21512            stringify!(GStaticMutex),
21513            "::",
21514            stringify!(unused)
21515        )
21516    );
21517}
21518extern "C" {
21519    pub fn g_static_mutex_init(mutex: *mut GStaticMutex);
21520}
21521extern "C" {
21522    pub fn g_static_mutex_free(mutex: *mut GStaticMutex);
21523}
21524extern "C" {
21525    pub fn g_static_mutex_get_mutex_impl(mutex: *mut GStaticMutex) -> *mut GMutex;
21526}
21527pub type GStaticRecMutex = _GStaticRecMutex;
21528#[repr(C)]
21529#[derive(Copy, Clone)]
21530pub struct _GStaticRecMutex {
21531    pub mutex: GStaticMutex,
21532    pub depth: guint,
21533    pub unused: _GStaticRecMutex__bindgen_ty_1,
21534}
21535#[repr(C)]
21536#[derive(Copy, Clone)]
21537pub union _GStaticRecMutex__bindgen_ty_1 {
21538    pub owner: pthread_t,
21539    pub dummy: gdouble,
21540}
21541#[test]
21542fn bindgen_test_layout__GStaticRecMutex__bindgen_ty_1() {
21543    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex__bindgen_ty_1> =
21544        ::std::mem::MaybeUninit::uninit();
21545    let ptr = UNINIT.as_ptr();
21546    assert_eq!(
21547        ::std::mem::size_of::<_GStaticRecMutex__bindgen_ty_1>(),
21548        8usize,
21549        concat!("Size of: ", stringify!(_GStaticRecMutex__bindgen_ty_1))
21550    );
21551    assert_eq!(
21552        ::std::mem::align_of::<_GStaticRecMutex__bindgen_ty_1>(),
21553        8usize,
21554        concat!("Alignment of ", stringify!(_GStaticRecMutex__bindgen_ty_1))
21555    );
21556    assert_eq!(
21557        unsafe { ::std::ptr::addr_of!((*ptr).owner) as usize - ptr as usize },
21558        0usize,
21559        concat!(
21560            "Offset of field: ",
21561            stringify!(_GStaticRecMutex__bindgen_ty_1),
21562            "::",
21563            stringify!(owner)
21564        )
21565    );
21566    assert_eq!(
21567        unsafe { ::std::ptr::addr_of!((*ptr).dummy) as usize - ptr as usize },
21568        0usize,
21569        concat!(
21570            "Offset of field: ",
21571            stringify!(_GStaticRecMutex__bindgen_ty_1),
21572            "::",
21573            stringify!(dummy)
21574        )
21575    );
21576}
21577#[test]
21578fn bindgen_test_layout__GStaticRecMutex() {
21579    const UNINIT: ::std::mem::MaybeUninit<_GStaticRecMutex> = ::std::mem::MaybeUninit::uninit();
21580    let ptr = UNINIT.as_ptr();
21581    assert_eq!(
21582        ::std::mem::size_of::<_GStaticRecMutex>(),
21583        64usize,
21584        concat!("Size of: ", stringify!(_GStaticRecMutex))
21585    );
21586    assert_eq!(
21587        ::std::mem::align_of::<_GStaticRecMutex>(),
21588        8usize,
21589        concat!("Alignment of ", stringify!(_GStaticRecMutex))
21590    );
21591    assert_eq!(
21592        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
21593        0usize,
21594        concat!(
21595            "Offset of field: ",
21596            stringify!(_GStaticRecMutex),
21597            "::",
21598            stringify!(mutex)
21599        )
21600    );
21601    assert_eq!(
21602        unsafe { ::std::ptr::addr_of!((*ptr).depth) as usize - ptr as usize },
21603        48usize,
21604        concat!(
21605            "Offset of field: ",
21606            stringify!(_GStaticRecMutex),
21607            "::",
21608            stringify!(depth)
21609        )
21610    );
21611    assert_eq!(
21612        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
21613        56usize,
21614        concat!(
21615            "Offset of field: ",
21616            stringify!(_GStaticRecMutex),
21617            "::",
21618            stringify!(unused)
21619        )
21620    );
21621}
21622extern "C" {
21623    pub fn g_static_rec_mutex_init(mutex: *mut GStaticRecMutex);
21624}
21625extern "C" {
21626    pub fn g_static_rec_mutex_lock(mutex: *mut GStaticRecMutex);
21627}
21628extern "C" {
21629    pub fn g_static_rec_mutex_trylock(mutex: *mut GStaticRecMutex) -> gboolean;
21630}
21631extern "C" {
21632    pub fn g_static_rec_mutex_unlock(mutex: *mut GStaticRecMutex);
21633}
21634extern "C" {
21635    pub fn g_static_rec_mutex_lock_full(mutex: *mut GStaticRecMutex, depth: guint);
21636}
21637extern "C" {
21638    pub fn g_static_rec_mutex_unlock_full(mutex: *mut GStaticRecMutex) -> guint;
21639}
21640extern "C" {
21641    pub fn g_static_rec_mutex_free(mutex: *mut GStaticRecMutex);
21642}
21643pub type GStaticRWLock = _GStaticRWLock;
21644#[repr(C)]
21645#[derive(Copy, Clone)]
21646pub struct _GStaticRWLock {
21647    pub mutex: GStaticMutex,
21648    pub read_cond: *mut GCond,
21649    pub write_cond: *mut GCond,
21650    pub read_counter: guint,
21651    pub have_writer: gboolean,
21652    pub want_to_read: guint,
21653    pub want_to_write: guint,
21654}
21655#[test]
21656fn bindgen_test_layout__GStaticRWLock() {
21657    const UNINIT: ::std::mem::MaybeUninit<_GStaticRWLock> = ::std::mem::MaybeUninit::uninit();
21658    let ptr = UNINIT.as_ptr();
21659    assert_eq!(
21660        ::std::mem::size_of::<_GStaticRWLock>(),
21661        80usize,
21662        concat!("Size of: ", stringify!(_GStaticRWLock))
21663    );
21664    assert_eq!(
21665        ::std::mem::align_of::<_GStaticRWLock>(),
21666        8usize,
21667        concat!("Alignment of ", stringify!(_GStaticRWLock))
21668    );
21669    assert_eq!(
21670        unsafe { ::std::ptr::addr_of!((*ptr).mutex) as usize - ptr as usize },
21671        0usize,
21672        concat!(
21673            "Offset of field: ",
21674            stringify!(_GStaticRWLock),
21675            "::",
21676            stringify!(mutex)
21677        )
21678    );
21679    assert_eq!(
21680        unsafe { ::std::ptr::addr_of!((*ptr).read_cond) as usize - ptr as usize },
21681        48usize,
21682        concat!(
21683            "Offset of field: ",
21684            stringify!(_GStaticRWLock),
21685            "::",
21686            stringify!(read_cond)
21687        )
21688    );
21689    assert_eq!(
21690        unsafe { ::std::ptr::addr_of!((*ptr).write_cond) as usize - ptr as usize },
21691        56usize,
21692        concat!(
21693            "Offset of field: ",
21694            stringify!(_GStaticRWLock),
21695            "::",
21696            stringify!(write_cond)
21697        )
21698    );
21699    assert_eq!(
21700        unsafe { ::std::ptr::addr_of!((*ptr).read_counter) as usize - ptr as usize },
21701        64usize,
21702        concat!(
21703            "Offset of field: ",
21704            stringify!(_GStaticRWLock),
21705            "::",
21706            stringify!(read_counter)
21707        )
21708    );
21709    assert_eq!(
21710        unsafe { ::std::ptr::addr_of!((*ptr).have_writer) as usize - ptr as usize },
21711        68usize,
21712        concat!(
21713            "Offset of field: ",
21714            stringify!(_GStaticRWLock),
21715            "::",
21716            stringify!(have_writer)
21717        )
21718    );
21719    assert_eq!(
21720        unsafe { ::std::ptr::addr_of!((*ptr).want_to_read) as usize - ptr as usize },
21721        72usize,
21722        concat!(
21723            "Offset of field: ",
21724            stringify!(_GStaticRWLock),
21725            "::",
21726            stringify!(want_to_read)
21727        )
21728    );
21729    assert_eq!(
21730        unsafe { ::std::ptr::addr_of!((*ptr).want_to_write) as usize - ptr as usize },
21731        76usize,
21732        concat!(
21733            "Offset of field: ",
21734            stringify!(_GStaticRWLock),
21735            "::",
21736            stringify!(want_to_write)
21737        )
21738    );
21739}
21740extern "C" {
21741    pub fn g_static_rw_lock_init(lock: *mut GStaticRWLock);
21742}
21743extern "C" {
21744    pub fn g_static_rw_lock_reader_lock(lock: *mut GStaticRWLock);
21745}
21746extern "C" {
21747    pub fn g_static_rw_lock_reader_trylock(lock: *mut GStaticRWLock) -> gboolean;
21748}
21749extern "C" {
21750    pub fn g_static_rw_lock_reader_unlock(lock: *mut GStaticRWLock);
21751}
21752extern "C" {
21753    pub fn g_static_rw_lock_writer_lock(lock: *mut GStaticRWLock);
21754}
21755extern "C" {
21756    pub fn g_static_rw_lock_writer_trylock(lock: *mut GStaticRWLock) -> gboolean;
21757}
21758extern "C" {
21759    pub fn g_static_rw_lock_writer_unlock(lock: *mut GStaticRWLock);
21760}
21761extern "C" {
21762    pub fn g_static_rw_lock_free(lock: *mut GStaticRWLock);
21763}
21764extern "C" {
21765    pub fn g_private_new(notify: GDestroyNotify) -> *mut GPrivate;
21766}
21767pub type GStaticPrivate = _GStaticPrivate;
21768#[repr(C)]
21769#[derive(Debug, Copy, Clone)]
21770pub struct _GStaticPrivate {
21771    pub index: guint,
21772}
21773#[test]
21774fn bindgen_test_layout__GStaticPrivate() {
21775    const UNINIT: ::std::mem::MaybeUninit<_GStaticPrivate> = ::std::mem::MaybeUninit::uninit();
21776    let ptr = UNINIT.as_ptr();
21777    assert_eq!(
21778        ::std::mem::size_of::<_GStaticPrivate>(),
21779        4usize,
21780        concat!("Size of: ", stringify!(_GStaticPrivate))
21781    );
21782    assert_eq!(
21783        ::std::mem::align_of::<_GStaticPrivate>(),
21784        4usize,
21785        concat!("Alignment of ", stringify!(_GStaticPrivate))
21786    );
21787    assert_eq!(
21788        unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
21789        0usize,
21790        concat!(
21791            "Offset of field: ",
21792            stringify!(_GStaticPrivate),
21793            "::",
21794            stringify!(index)
21795        )
21796    );
21797}
21798extern "C" {
21799    pub fn g_static_private_init(private_key: *mut GStaticPrivate);
21800}
21801extern "C" {
21802    pub fn g_static_private_get(private_key: *mut GStaticPrivate) -> gpointer;
21803}
21804extern "C" {
21805    pub fn g_static_private_set(
21806        private_key: *mut GStaticPrivate,
21807        data: gpointer,
21808        notify: GDestroyNotify,
21809    );
21810}
21811extern "C" {
21812    pub fn g_static_private_free(private_key: *mut GStaticPrivate);
21813}
21814extern "C" {
21815    pub fn g_once_init_enter_impl(location: *mut gsize) -> gboolean;
21816}
21817extern "C" {
21818    pub fn g_thread_init(vtable: gpointer);
21819}
21820extern "C" {
21821    pub fn g_thread_init_with_errorcheck_mutexes(vtable: gpointer);
21822}
21823extern "C" {
21824    pub fn g_thread_get_initialized() -> gboolean;
21825}
21826extern "C" {
21827    pub static mut g_threads_got_initialized: gboolean;
21828}
21829extern "C" {
21830    pub fn g_mutex_new() -> *mut GMutex;
21831}
21832extern "C" {
21833    pub fn g_mutex_free(mutex: *mut GMutex);
21834}
21835extern "C" {
21836    pub fn g_cond_new() -> *mut GCond;
21837}
21838extern "C" {
21839    pub fn g_cond_free(cond: *mut GCond);
21840}
21841extern "C" {
21842    pub fn g_cond_timed_wait(
21843        cond: *mut GCond,
21844        mutex: *mut GMutex,
21845        timeval: *mut GTimeVal,
21846    ) -> gboolean;
21847}
21848pub type GAsyncQueue_autoptr = *mut GAsyncQueue;
21849pub type GAsyncQueue_listautoptr = *mut GList;
21850pub type GAsyncQueue_slistautoptr = *mut GSList;
21851pub type GAsyncQueue_queueautoptr = *mut GQueue;
21852pub type GBookmarkFile_autoptr = *mut GBookmarkFile;
21853pub type GBookmarkFile_listautoptr = *mut GList;
21854pub type GBookmarkFile_slistautoptr = *mut GSList;
21855pub type GBookmarkFile_queueautoptr = *mut GQueue;
21856pub type GBytes_autoptr = *mut GBytes;
21857pub type GBytes_listautoptr = *mut GList;
21858pub type GBytes_slistautoptr = *mut GSList;
21859pub type GBytes_queueautoptr = *mut GQueue;
21860pub type GChecksum_autoptr = *mut GChecksum;
21861pub type GChecksum_listautoptr = *mut GList;
21862pub type GChecksum_slistautoptr = *mut GSList;
21863pub type GChecksum_queueautoptr = *mut GQueue;
21864pub type GDateTime_autoptr = *mut GDateTime;
21865pub type GDateTime_listautoptr = *mut GList;
21866pub type GDateTime_slistautoptr = *mut GSList;
21867pub type GDateTime_queueautoptr = *mut GQueue;
21868pub type GDate_autoptr = *mut GDate;
21869pub type GDate_listautoptr = *mut GList;
21870pub type GDate_slistautoptr = *mut GSList;
21871pub type GDate_queueautoptr = *mut GQueue;
21872pub type GDir_autoptr = *mut GDir;
21873pub type GDir_listautoptr = *mut GList;
21874pub type GDir_slistautoptr = *mut GSList;
21875pub type GDir_queueautoptr = *mut GQueue;
21876pub type GError_autoptr = *mut GError;
21877pub type GError_listautoptr = *mut GList;
21878pub type GError_slistautoptr = *mut GSList;
21879pub type GError_queueautoptr = *mut GQueue;
21880pub type GHashTable_autoptr = *mut GHashTable;
21881pub type GHashTable_listautoptr = *mut GList;
21882pub type GHashTable_slistautoptr = *mut GSList;
21883pub type GHashTable_queueautoptr = *mut GQueue;
21884pub type GHmac_autoptr = *mut GHmac;
21885pub type GHmac_listautoptr = *mut GList;
21886pub type GHmac_slistautoptr = *mut GSList;
21887pub type GHmac_queueautoptr = *mut GQueue;
21888pub type GIOChannel_autoptr = *mut GIOChannel;
21889pub type GIOChannel_listautoptr = *mut GList;
21890pub type GIOChannel_slistautoptr = *mut GSList;
21891pub type GIOChannel_queueautoptr = *mut GQueue;
21892pub type GKeyFile_autoptr = *mut GKeyFile;
21893pub type GKeyFile_listautoptr = *mut GList;
21894pub type GKeyFile_slistautoptr = *mut GSList;
21895pub type GKeyFile_queueautoptr = *mut GQueue;
21896pub type GList_autoptr = *mut GList;
21897pub type GList_listautoptr = *mut GList;
21898pub type GList_slistautoptr = *mut GSList;
21899pub type GList_queueautoptr = *mut GQueue;
21900pub type GArray_autoptr = *mut GArray;
21901pub type GArray_listautoptr = *mut GList;
21902pub type GArray_slistautoptr = *mut GSList;
21903pub type GArray_queueautoptr = *mut GQueue;
21904pub type GPtrArray_autoptr = *mut GPtrArray;
21905pub type GPtrArray_listautoptr = *mut GList;
21906pub type GPtrArray_slistautoptr = *mut GSList;
21907pub type GPtrArray_queueautoptr = *mut GQueue;
21908pub type GByteArray_autoptr = *mut GByteArray;
21909pub type GByteArray_listautoptr = *mut GList;
21910pub type GByteArray_slistautoptr = *mut GSList;
21911pub type GByteArray_queueautoptr = *mut GQueue;
21912pub type GMainContext_autoptr = *mut GMainContext;
21913pub type GMainContext_listautoptr = *mut GList;
21914pub type GMainContext_slistautoptr = *mut GSList;
21915pub type GMainContext_queueautoptr = *mut GQueue;
21916pub type GMainContextPusher_autoptr = *mut GMainContextPusher;
21917pub type GMainContextPusher_listautoptr = *mut GList;
21918pub type GMainContextPusher_slistautoptr = *mut GSList;
21919pub type GMainContextPusher_queueautoptr = *mut GQueue;
21920pub type GMainLoop_autoptr = *mut GMainLoop;
21921pub type GMainLoop_listautoptr = *mut GList;
21922pub type GMainLoop_slistautoptr = *mut GSList;
21923pub type GMainLoop_queueautoptr = *mut GQueue;
21924pub type GSource_autoptr = *mut GSource;
21925pub type GSource_listautoptr = *mut GList;
21926pub type GSource_slistautoptr = *mut GSList;
21927pub type GSource_queueautoptr = *mut GQueue;
21928pub type GMappedFile_autoptr = *mut GMappedFile;
21929pub type GMappedFile_listautoptr = *mut GList;
21930pub type GMappedFile_slistautoptr = *mut GSList;
21931pub type GMappedFile_queueautoptr = *mut GQueue;
21932pub type GMarkupParseContext_autoptr = *mut GMarkupParseContext;
21933pub type GMarkupParseContext_listautoptr = *mut GList;
21934pub type GMarkupParseContext_slistautoptr = *mut GSList;
21935pub type GMarkupParseContext_queueautoptr = *mut GQueue;
21936pub type GNode_autoptr = *mut GNode;
21937pub type GNode_listautoptr = *mut GList;
21938pub type GNode_slistautoptr = *mut GSList;
21939pub type GNode_queueautoptr = *mut GQueue;
21940pub type GOptionContext_autoptr = *mut GOptionContext;
21941pub type GOptionContext_listautoptr = *mut GList;
21942pub type GOptionContext_slistautoptr = *mut GSList;
21943pub type GOptionContext_queueautoptr = *mut GQueue;
21944pub type GOptionGroup_autoptr = *mut GOptionGroup;
21945pub type GOptionGroup_listautoptr = *mut GList;
21946pub type GOptionGroup_slistautoptr = *mut GSList;
21947pub type GOptionGroup_queueautoptr = *mut GQueue;
21948pub type GPatternSpec_autoptr = *mut GPatternSpec;
21949pub type GPatternSpec_listautoptr = *mut GList;
21950pub type GPatternSpec_slistautoptr = *mut GSList;
21951pub type GPatternSpec_queueautoptr = *mut GQueue;
21952pub type GQueue_autoptr = *mut GQueue;
21953pub type GQueue_listautoptr = *mut GList;
21954pub type GQueue_slistautoptr = *mut GSList;
21955pub type GQueue_queueautoptr = *mut GQueue;
21956pub type GRand_autoptr = *mut GRand;
21957pub type GRand_listautoptr = *mut GList;
21958pub type GRand_slistautoptr = *mut GSList;
21959pub type GRand_queueautoptr = *mut GQueue;
21960pub type GRegex_autoptr = *mut GRegex;
21961pub type GRegex_listautoptr = *mut GList;
21962pub type GRegex_slistautoptr = *mut GSList;
21963pub type GRegex_queueautoptr = *mut GQueue;
21964pub type GMatchInfo_autoptr = *mut GMatchInfo;
21965pub type GMatchInfo_listautoptr = *mut GList;
21966pub type GMatchInfo_slistautoptr = *mut GSList;
21967pub type GMatchInfo_queueautoptr = *mut GQueue;
21968pub type GScanner_autoptr = *mut GScanner;
21969pub type GScanner_listautoptr = *mut GList;
21970pub type GScanner_slistautoptr = *mut GSList;
21971pub type GScanner_queueautoptr = *mut GQueue;
21972pub type GSequence_autoptr = *mut GSequence;
21973pub type GSequence_listautoptr = *mut GList;
21974pub type GSequence_slistautoptr = *mut GSList;
21975pub type GSequence_queueautoptr = *mut GQueue;
21976pub type GSList_autoptr = *mut GSList;
21977pub type GSList_listautoptr = *mut GList;
21978pub type GSList_slistautoptr = *mut GSList;
21979pub type GSList_queueautoptr = *mut GQueue;
21980pub type GString_autoptr = *mut GString;
21981pub type GString_listautoptr = *mut GList;
21982pub type GString_slistautoptr = *mut GSList;
21983pub type GString_queueautoptr = *mut GQueue;
21984pub type GStringChunk_autoptr = *mut GStringChunk;
21985pub type GStringChunk_listautoptr = *mut GList;
21986pub type GStringChunk_slistautoptr = *mut GSList;
21987pub type GStringChunk_queueautoptr = *mut GQueue;
21988pub type GStrvBuilder_autoptr = *mut GStrvBuilder;
21989pub type GStrvBuilder_listautoptr = *mut GList;
21990pub type GStrvBuilder_slistautoptr = *mut GSList;
21991pub type GStrvBuilder_queueautoptr = *mut GQueue;
21992pub type GThread_autoptr = *mut GThread;
21993pub type GThread_listautoptr = *mut GList;
21994pub type GThread_slistautoptr = *mut GSList;
21995pub type GThread_queueautoptr = *mut GQueue;
21996pub type GMutexLocker_autoptr = *mut GMutexLocker;
21997pub type GMutexLocker_listautoptr = *mut GList;
21998pub type GMutexLocker_slistautoptr = *mut GSList;
21999pub type GMutexLocker_queueautoptr = *mut GQueue;
22000pub type GRecMutexLocker_autoptr = *mut GRecMutexLocker;
22001pub type GRecMutexLocker_listautoptr = *mut GList;
22002pub type GRecMutexLocker_slistautoptr = *mut GSList;
22003pub type GRecMutexLocker_queueautoptr = *mut GQueue;
22004pub type GRWLockWriterLocker_autoptr = *mut GRWLockWriterLocker;
22005pub type GRWLockWriterLocker_listautoptr = *mut GList;
22006pub type GRWLockWriterLocker_slistautoptr = *mut GSList;
22007pub type GRWLockWriterLocker_queueautoptr = *mut GQueue;
22008pub type GRWLockReaderLocker_autoptr = *mut GRWLockReaderLocker;
22009pub type GRWLockReaderLocker_listautoptr = *mut GList;
22010pub type GRWLockReaderLocker_slistautoptr = *mut GSList;
22011pub type GRWLockReaderLocker_queueautoptr = *mut GQueue;
22012pub type GTimer_autoptr = *mut GTimer;
22013pub type GTimer_listautoptr = *mut GList;
22014pub type GTimer_slistautoptr = *mut GSList;
22015pub type GTimer_queueautoptr = *mut GQueue;
22016pub type GTimeZone_autoptr = *mut GTimeZone;
22017pub type GTimeZone_listautoptr = *mut GList;
22018pub type GTimeZone_slistautoptr = *mut GSList;
22019pub type GTimeZone_queueautoptr = *mut GQueue;
22020pub type GTree_autoptr = *mut GTree;
22021pub type GTree_listautoptr = *mut GList;
22022pub type GTree_slistautoptr = *mut GSList;
22023pub type GTree_queueautoptr = *mut GQueue;
22024pub type GVariant_autoptr = *mut GVariant;
22025pub type GVariant_listautoptr = *mut GList;
22026pub type GVariant_slistautoptr = *mut GSList;
22027pub type GVariant_queueautoptr = *mut GQueue;
22028pub type GVariantBuilder_autoptr = *mut GVariantBuilder;
22029pub type GVariantBuilder_listautoptr = *mut GList;
22030pub type GVariantBuilder_slistautoptr = *mut GSList;
22031pub type GVariantBuilder_queueautoptr = *mut GQueue;
22032pub type GVariantIter_autoptr = *mut GVariantIter;
22033pub type GVariantIter_listautoptr = *mut GList;
22034pub type GVariantIter_slistautoptr = *mut GSList;
22035pub type GVariantIter_queueautoptr = *mut GQueue;
22036pub type GVariantDict_autoptr = *mut GVariantDict;
22037pub type GVariantDict_listautoptr = *mut GList;
22038pub type GVariantDict_slistautoptr = *mut GSList;
22039pub type GVariantDict_queueautoptr = *mut GQueue;
22040pub type GVariantType_autoptr = *mut GVariantType;
22041pub type GVariantType_listautoptr = *mut GList;
22042pub type GVariantType_slistautoptr = *mut GSList;
22043pub type GVariantType_queueautoptr = *mut GQueue;
22044pub type GRefString_autoptr = *mut GRefString;
22045pub type GRefString_listautoptr = *mut GList;
22046pub type GRefString_slistautoptr = *mut GSList;
22047pub type GRefString_queueautoptr = *mut GQueue;
22048pub type GUri_autoptr = *mut GUri;
22049pub type GUri_listautoptr = *mut GList;
22050pub type GUri_slistautoptr = *mut GSList;
22051pub type GUri_queueautoptr = *mut GQueue;
22052pub type GPathBuf_autoptr = *mut GPathBuf;
22053pub type GPathBuf_listautoptr = *mut GList;
22054pub type GPathBuf_slistautoptr = *mut GSList;
22055pub type GPathBuf_queueautoptr = *mut GQueue;
22056#[repr(C)]
22057#[derive(Copy, Clone)]
22058pub struct __mbstate_t {
22059    pub __count: ::std::os::raw::c_int,
22060    pub __value: __mbstate_t__bindgen_ty_1,
22061}
22062#[repr(C)]
22063#[derive(Copy, Clone)]
22064pub union __mbstate_t__bindgen_ty_1 {
22065    pub __wch: ::std::os::raw::c_uint,
22066    pub __wchb: [::std::os::raw::c_char; 4usize],
22067}
22068#[test]
22069fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
22070    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t__bindgen_ty_1> =
22071        ::std::mem::MaybeUninit::uninit();
22072    let ptr = UNINIT.as_ptr();
22073    assert_eq!(
22074        ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
22075        4usize,
22076        concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
22077    );
22078    assert_eq!(
22079        ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
22080        4usize,
22081        concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
22082    );
22083    assert_eq!(
22084        unsafe { ::std::ptr::addr_of!((*ptr).__wch) as usize - ptr as usize },
22085        0usize,
22086        concat!(
22087            "Offset of field: ",
22088            stringify!(__mbstate_t__bindgen_ty_1),
22089            "::",
22090            stringify!(__wch)
22091        )
22092    );
22093    assert_eq!(
22094        unsafe { ::std::ptr::addr_of!((*ptr).__wchb) as usize - ptr as usize },
22095        0usize,
22096        concat!(
22097            "Offset of field: ",
22098            stringify!(__mbstate_t__bindgen_ty_1),
22099            "::",
22100            stringify!(__wchb)
22101        )
22102    );
22103}
22104#[test]
22105fn bindgen_test_layout___mbstate_t() {
22106    const UNINIT: ::std::mem::MaybeUninit<__mbstate_t> = ::std::mem::MaybeUninit::uninit();
22107    let ptr = UNINIT.as_ptr();
22108    assert_eq!(
22109        ::std::mem::size_of::<__mbstate_t>(),
22110        8usize,
22111        concat!("Size of: ", stringify!(__mbstate_t))
22112    );
22113    assert_eq!(
22114        ::std::mem::align_of::<__mbstate_t>(),
22115        4usize,
22116        concat!("Alignment of ", stringify!(__mbstate_t))
22117    );
22118    assert_eq!(
22119        unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
22120        0usize,
22121        concat!(
22122            "Offset of field: ",
22123            stringify!(__mbstate_t),
22124            "::",
22125            stringify!(__count)
22126        )
22127    );
22128    assert_eq!(
22129        unsafe { ::std::ptr::addr_of!((*ptr).__value) as usize - ptr as usize },
22130        4usize,
22131        concat!(
22132            "Offset of field: ",
22133            stringify!(__mbstate_t),
22134            "::",
22135            stringify!(__value)
22136        )
22137    );
22138}
22139#[repr(C)]
22140#[derive(Copy, Clone)]
22141pub struct _G_fpos_t {
22142    pub __pos: __off_t,
22143    pub __state: __mbstate_t,
22144}
22145#[test]
22146fn bindgen_test_layout__G_fpos_t() {
22147    const UNINIT: ::std::mem::MaybeUninit<_G_fpos_t> = ::std::mem::MaybeUninit::uninit();
22148    let ptr = UNINIT.as_ptr();
22149    assert_eq!(
22150        ::std::mem::size_of::<_G_fpos_t>(),
22151        16usize,
22152        concat!("Size of: ", stringify!(_G_fpos_t))
22153    );
22154    assert_eq!(
22155        ::std::mem::align_of::<_G_fpos_t>(),
22156        8usize,
22157        concat!("Alignment of ", stringify!(_G_fpos_t))
22158    );
22159    assert_eq!(
22160        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
22161        0usize,
22162        concat!(
22163            "Offset of field: ",
22164            stringify!(_G_fpos_t),
22165            "::",
22166            stringify!(__pos)
22167        )
22168    );
22169    assert_eq!(
22170        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
22171        8usize,
22172        concat!(
22173            "Offset of field: ",
22174            stringify!(_G_fpos_t),
22175            "::",
22176            stringify!(__state)
22177        )
22178    );
22179}
22180pub type __fpos_t = _G_fpos_t;
22181#[repr(C)]
22182#[derive(Copy, Clone)]
22183pub struct _G_fpos64_t {
22184    pub __pos: __off64_t,
22185    pub __state: __mbstate_t,
22186}
22187#[test]
22188fn bindgen_test_layout__G_fpos64_t() {
22189    const UNINIT: ::std::mem::MaybeUninit<_G_fpos64_t> = ::std::mem::MaybeUninit::uninit();
22190    let ptr = UNINIT.as_ptr();
22191    assert_eq!(
22192        ::std::mem::size_of::<_G_fpos64_t>(),
22193        16usize,
22194        concat!("Size of: ", stringify!(_G_fpos64_t))
22195    );
22196    assert_eq!(
22197        ::std::mem::align_of::<_G_fpos64_t>(),
22198        8usize,
22199        concat!("Alignment of ", stringify!(_G_fpos64_t))
22200    );
22201    assert_eq!(
22202        unsafe { ::std::ptr::addr_of!((*ptr).__pos) as usize - ptr as usize },
22203        0usize,
22204        concat!(
22205            "Offset of field: ",
22206            stringify!(_G_fpos64_t),
22207            "::",
22208            stringify!(__pos)
22209        )
22210    );
22211    assert_eq!(
22212        unsafe { ::std::ptr::addr_of!((*ptr).__state) as usize - ptr as usize },
22213        8usize,
22214        concat!(
22215            "Offset of field: ",
22216            stringify!(_G_fpos64_t),
22217            "::",
22218            stringify!(__state)
22219        )
22220    );
22221}
22222pub type __fpos64_t = _G_fpos64_t;
22223pub type __FILE = _IO_FILE;
22224pub type FILE = _IO_FILE;
22225#[repr(C)]
22226#[derive(Debug, Copy, Clone)]
22227pub struct _IO_marker {
22228    _unused: [u8; 0],
22229}
22230#[repr(C)]
22231#[derive(Debug, Copy, Clone)]
22232pub struct _IO_codecvt {
22233    _unused: [u8; 0],
22234}
22235#[repr(C)]
22236#[derive(Debug, Copy, Clone)]
22237pub struct _IO_wide_data {
22238    _unused: [u8; 0],
22239}
22240pub type _IO_lock_t = ::std::os::raw::c_void;
22241#[repr(C)]
22242#[derive(Debug, Copy, Clone)]
22243pub struct _IO_FILE {
22244    pub _flags: ::std::os::raw::c_int,
22245    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
22246    pub _IO_read_end: *mut ::std::os::raw::c_char,
22247    pub _IO_read_base: *mut ::std::os::raw::c_char,
22248    pub _IO_write_base: *mut ::std::os::raw::c_char,
22249    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
22250    pub _IO_write_end: *mut ::std::os::raw::c_char,
22251    pub _IO_buf_base: *mut ::std::os::raw::c_char,
22252    pub _IO_buf_end: *mut ::std::os::raw::c_char,
22253    pub _IO_save_base: *mut ::std::os::raw::c_char,
22254    pub _IO_backup_base: *mut ::std::os::raw::c_char,
22255    pub _IO_save_end: *mut ::std::os::raw::c_char,
22256    pub _markers: *mut _IO_marker,
22257    pub _chain: *mut _IO_FILE,
22258    pub _fileno: ::std::os::raw::c_int,
22259    pub _flags2: ::std::os::raw::c_int,
22260    pub _old_offset: __off_t,
22261    pub _cur_column: ::std::os::raw::c_ushort,
22262    pub _vtable_offset: ::std::os::raw::c_schar,
22263    pub _shortbuf: [::std::os::raw::c_char; 1usize],
22264    pub _lock: *mut _IO_lock_t,
22265    pub _offset: __off64_t,
22266    pub _codecvt: *mut _IO_codecvt,
22267    pub _wide_data: *mut _IO_wide_data,
22268    pub _freeres_list: *mut _IO_FILE,
22269    pub _freeres_buf: *mut ::std::os::raw::c_void,
22270    pub __pad5: usize,
22271    pub _mode: ::std::os::raw::c_int,
22272    pub _unused2: [::std::os::raw::c_char; 20usize],
22273}
22274#[test]
22275fn bindgen_test_layout__IO_FILE() {
22276    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
22277    let ptr = UNINIT.as_ptr();
22278    assert_eq!(
22279        ::std::mem::size_of::<_IO_FILE>(),
22280        216usize,
22281        concat!("Size of: ", stringify!(_IO_FILE))
22282    );
22283    assert_eq!(
22284        ::std::mem::align_of::<_IO_FILE>(),
22285        8usize,
22286        concat!("Alignment of ", stringify!(_IO_FILE))
22287    );
22288    assert_eq!(
22289        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
22290        0usize,
22291        concat!(
22292            "Offset of field: ",
22293            stringify!(_IO_FILE),
22294            "::",
22295            stringify!(_flags)
22296        )
22297    );
22298    assert_eq!(
22299        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
22300        8usize,
22301        concat!(
22302            "Offset of field: ",
22303            stringify!(_IO_FILE),
22304            "::",
22305            stringify!(_IO_read_ptr)
22306        )
22307    );
22308    assert_eq!(
22309        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
22310        16usize,
22311        concat!(
22312            "Offset of field: ",
22313            stringify!(_IO_FILE),
22314            "::",
22315            stringify!(_IO_read_end)
22316        )
22317    );
22318    assert_eq!(
22319        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
22320        24usize,
22321        concat!(
22322            "Offset of field: ",
22323            stringify!(_IO_FILE),
22324            "::",
22325            stringify!(_IO_read_base)
22326        )
22327    );
22328    assert_eq!(
22329        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
22330        32usize,
22331        concat!(
22332            "Offset of field: ",
22333            stringify!(_IO_FILE),
22334            "::",
22335            stringify!(_IO_write_base)
22336        )
22337    );
22338    assert_eq!(
22339        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
22340        40usize,
22341        concat!(
22342            "Offset of field: ",
22343            stringify!(_IO_FILE),
22344            "::",
22345            stringify!(_IO_write_ptr)
22346        )
22347    );
22348    assert_eq!(
22349        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
22350        48usize,
22351        concat!(
22352            "Offset of field: ",
22353            stringify!(_IO_FILE),
22354            "::",
22355            stringify!(_IO_write_end)
22356        )
22357    );
22358    assert_eq!(
22359        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
22360        56usize,
22361        concat!(
22362            "Offset of field: ",
22363            stringify!(_IO_FILE),
22364            "::",
22365            stringify!(_IO_buf_base)
22366        )
22367    );
22368    assert_eq!(
22369        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
22370        64usize,
22371        concat!(
22372            "Offset of field: ",
22373            stringify!(_IO_FILE),
22374            "::",
22375            stringify!(_IO_buf_end)
22376        )
22377    );
22378    assert_eq!(
22379        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
22380        72usize,
22381        concat!(
22382            "Offset of field: ",
22383            stringify!(_IO_FILE),
22384            "::",
22385            stringify!(_IO_save_base)
22386        )
22387    );
22388    assert_eq!(
22389        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
22390        80usize,
22391        concat!(
22392            "Offset of field: ",
22393            stringify!(_IO_FILE),
22394            "::",
22395            stringify!(_IO_backup_base)
22396        )
22397    );
22398    assert_eq!(
22399        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
22400        88usize,
22401        concat!(
22402            "Offset of field: ",
22403            stringify!(_IO_FILE),
22404            "::",
22405            stringify!(_IO_save_end)
22406        )
22407    );
22408    assert_eq!(
22409        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
22410        96usize,
22411        concat!(
22412            "Offset of field: ",
22413            stringify!(_IO_FILE),
22414            "::",
22415            stringify!(_markers)
22416        )
22417    );
22418    assert_eq!(
22419        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
22420        104usize,
22421        concat!(
22422            "Offset of field: ",
22423            stringify!(_IO_FILE),
22424            "::",
22425            stringify!(_chain)
22426        )
22427    );
22428    assert_eq!(
22429        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
22430        112usize,
22431        concat!(
22432            "Offset of field: ",
22433            stringify!(_IO_FILE),
22434            "::",
22435            stringify!(_fileno)
22436        )
22437    );
22438    assert_eq!(
22439        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
22440        116usize,
22441        concat!(
22442            "Offset of field: ",
22443            stringify!(_IO_FILE),
22444            "::",
22445            stringify!(_flags2)
22446        )
22447    );
22448    assert_eq!(
22449        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
22450        120usize,
22451        concat!(
22452            "Offset of field: ",
22453            stringify!(_IO_FILE),
22454            "::",
22455            stringify!(_old_offset)
22456        )
22457    );
22458    assert_eq!(
22459        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
22460        128usize,
22461        concat!(
22462            "Offset of field: ",
22463            stringify!(_IO_FILE),
22464            "::",
22465            stringify!(_cur_column)
22466        )
22467    );
22468    assert_eq!(
22469        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
22470        130usize,
22471        concat!(
22472            "Offset of field: ",
22473            stringify!(_IO_FILE),
22474            "::",
22475            stringify!(_vtable_offset)
22476        )
22477    );
22478    assert_eq!(
22479        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
22480        131usize,
22481        concat!(
22482            "Offset of field: ",
22483            stringify!(_IO_FILE),
22484            "::",
22485            stringify!(_shortbuf)
22486        )
22487    );
22488    assert_eq!(
22489        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
22490        136usize,
22491        concat!(
22492            "Offset of field: ",
22493            stringify!(_IO_FILE),
22494            "::",
22495            stringify!(_lock)
22496        )
22497    );
22498    assert_eq!(
22499        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
22500        144usize,
22501        concat!(
22502            "Offset of field: ",
22503            stringify!(_IO_FILE),
22504            "::",
22505            stringify!(_offset)
22506        )
22507    );
22508    assert_eq!(
22509        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
22510        152usize,
22511        concat!(
22512            "Offset of field: ",
22513            stringify!(_IO_FILE),
22514            "::",
22515            stringify!(_codecvt)
22516        )
22517    );
22518    assert_eq!(
22519        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
22520        160usize,
22521        concat!(
22522            "Offset of field: ",
22523            stringify!(_IO_FILE),
22524            "::",
22525            stringify!(_wide_data)
22526        )
22527    );
22528    assert_eq!(
22529        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
22530        168usize,
22531        concat!(
22532            "Offset of field: ",
22533            stringify!(_IO_FILE),
22534            "::",
22535            stringify!(_freeres_list)
22536        )
22537    );
22538    assert_eq!(
22539        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
22540        176usize,
22541        concat!(
22542            "Offset of field: ",
22543            stringify!(_IO_FILE),
22544            "::",
22545            stringify!(_freeres_buf)
22546        )
22547    );
22548    assert_eq!(
22549        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
22550        184usize,
22551        concat!(
22552            "Offset of field: ",
22553            stringify!(_IO_FILE),
22554            "::",
22555            stringify!(__pad5)
22556        )
22557    );
22558    assert_eq!(
22559        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
22560        192usize,
22561        concat!(
22562            "Offset of field: ",
22563            stringify!(_IO_FILE),
22564            "::",
22565            stringify!(_mode)
22566        )
22567    );
22568    assert_eq!(
22569        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
22570        196usize,
22571        concat!(
22572            "Offset of field: ",
22573            stringify!(_IO_FILE),
22574            "::",
22575            stringify!(_unused2)
22576        )
22577    );
22578}
22579pub type fpos_t = __fpos_t;
22580extern "C" {
22581    pub static mut stdin: *mut FILE;
22582}
22583extern "C" {
22584    pub static mut stdout: *mut FILE;
22585}
22586extern "C" {
22587    pub static mut stderr: *mut FILE;
22588}
22589extern "C" {
22590    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
22591}
22592extern "C" {
22593    pub fn rename(
22594        __old: *const ::std::os::raw::c_char,
22595        __new: *const ::std::os::raw::c_char,
22596    ) -> ::std::os::raw::c_int;
22597}
22598extern "C" {
22599    pub fn renameat(
22600        __oldfd: ::std::os::raw::c_int,
22601        __old: *const ::std::os::raw::c_char,
22602        __newfd: ::std::os::raw::c_int,
22603        __new: *const ::std::os::raw::c_char,
22604    ) -> ::std::os::raw::c_int;
22605}
22606extern "C" {
22607    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
22608}
22609extern "C" {
22610    pub fn tmpfile() -> *mut FILE;
22611}
22612extern "C" {
22613    pub fn tmpnam(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
22614}
22615extern "C" {
22616    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
22617}
22618extern "C" {
22619    pub fn tempnam(
22620        __dir: *const ::std::os::raw::c_char,
22621        __pfx: *const ::std::os::raw::c_char,
22622    ) -> *mut ::std::os::raw::c_char;
22623}
22624extern "C" {
22625    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
22626}
22627extern "C" {
22628    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22629}
22630extern "C" {
22631    pub fn fopen(
22632        __filename: *const ::std::os::raw::c_char,
22633        __modes: *const ::std::os::raw::c_char,
22634    ) -> *mut FILE;
22635}
22636extern "C" {
22637    pub fn freopen(
22638        __filename: *const ::std::os::raw::c_char,
22639        __modes: *const ::std::os::raw::c_char,
22640        __stream: *mut FILE,
22641    ) -> *mut FILE;
22642}
22643extern "C" {
22644    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
22645        -> *mut FILE;
22646}
22647extern "C" {
22648    pub fn fmemopen(
22649        __s: *mut ::std::os::raw::c_void,
22650        __len: usize,
22651        __modes: *const ::std::os::raw::c_char,
22652    ) -> *mut FILE;
22653}
22654extern "C" {
22655    pub fn open_memstream(
22656        __bufloc: *mut *mut ::std::os::raw::c_char,
22657        __sizeloc: *mut usize,
22658    ) -> *mut FILE;
22659}
22660extern "C" {
22661    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
22662}
22663extern "C" {
22664    pub fn setvbuf(
22665        __stream: *mut FILE,
22666        __buf: *mut ::std::os::raw::c_char,
22667        __modes: ::std::os::raw::c_int,
22668        __n: usize,
22669    ) -> ::std::os::raw::c_int;
22670}
22671extern "C" {
22672    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
22673}
22674extern "C" {
22675    pub fn setlinebuf(__stream: *mut FILE);
22676}
22677extern "C" {
22678    pub fn fprintf(
22679        __stream: *mut FILE,
22680        __format: *const ::std::os::raw::c_char,
22681        ...
22682    ) -> ::std::os::raw::c_int;
22683}
22684extern "C" {
22685    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
22686}
22687extern "C" {
22688    pub fn sprintf(
22689        __s: *mut ::std::os::raw::c_char,
22690        __format: *const ::std::os::raw::c_char,
22691        ...
22692    ) -> ::std::os::raw::c_int;
22693}
22694extern "C" {
22695    pub fn vfprintf(
22696        __s: *mut FILE,
22697        __format: *const ::std::os::raw::c_char,
22698        __arg: *mut __va_list_tag,
22699    ) -> ::std::os::raw::c_int;
22700}
22701extern "C" {
22702    pub fn vprintf(
22703        __format: *const ::std::os::raw::c_char,
22704        __arg: *mut __va_list_tag,
22705    ) -> ::std::os::raw::c_int;
22706}
22707extern "C" {
22708    pub fn vsprintf(
22709        __s: *mut ::std::os::raw::c_char,
22710        __format: *const ::std::os::raw::c_char,
22711        __arg: *mut __va_list_tag,
22712    ) -> ::std::os::raw::c_int;
22713}
22714extern "C" {
22715    pub fn snprintf(
22716        __s: *mut ::std::os::raw::c_char,
22717        __maxlen: ::std::os::raw::c_ulong,
22718        __format: *const ::std::os::raw::c_char,
22719        ...
22720    ) -> ::std::os::raw::c_int;
22721}
22722extern "C" {
22723    pub fn vsnprintf(
22724        __s: *mut ::std::os::raw::c_char,
22725        __maxlen: ::std::os::raw::c_ulong,
22726        __format: *const ::std::os::raw::c_char,
22727        __arg: *mut __va_list_tag,
22728    ) -> ::std::os::raw::c_int;
22729}
22730extern "C" {
22731    pub fn vdprintf(
22732        __fd: ::std::os::raw::c_int,
22733        __fmt: *const ::std::os::raw::c_char,
22734        __arg: *mut __va_list_tag,
22735    ) -> ::std::os::raw::c_int;
22736}
22737extern "C" {
22738    pub fn dprintf(
22739        __fd: ::std::os::raw::c_int,
22740        __fmt: *const ::std::os::raw::c_char,
22741        ...
22742    ) -> ::std::os::raw::c_int;
22743}
22744extern "C" {
22745    pub fn fscanf(
22746        __stream: *mut FILE,
22747        __format: *const ::std::os::raw::c_char,
22748        ...
22749    ) -> ::std::os::raw::c_int;
22750}
22751extern "C" {
22752    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
22753}
22754extern "C" {
22755    pub fn sscanf(
22756        __s: *const ::std::os::raw::c_char,
22757        __format: *const ::std::os::raw::c_char,
22758        ...
22759    ) -> ::std::os::raw::c_int;
22760}
22761extern "C" {
22762    #[link_name = "\u{1}__isoc99_fscanf"]
22763    pub fn fscanf1(
22764        __stream: *mut FILE,
22765        __format: *const ::std::os::raw::c_char,
22766        ...
22767    ) -> ::std::os::raw::c_int;
22768}
22769extern "C" {
22770    #[link_name = "\u{1}__isoc99_scanf"]
22771    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
22772}
22773extern "C" {
22774    #[link_name = "\u{1}__isoc99_sscanf"]
22775    pub fn sscanf1(
22776        __s: *const ::std::os::raw::c_char,
22777        __format: *const ::std::os::raw::c_char,
22778        ...
22779    ) -> ::std::os::raw::c_int;
22780}
22781extern "C" {
22782    pub fn vfscanf(
22783        __s: *mut FILE,
22784        __format: *const ::std::os::raw::c_char,
22785        __arg: *mut __va_list_tag,
22786    ) -> ::std::os::raw::c_int;
22787}
22788extern "C" {
22789    pub fn vscanf(
22790        __format: *const ::std::os::raw::c_char,
22791        __arg: *mut __va_list_tag,
22792    ) -> ::std::os::raw::c_int;
22793}
22794extern "C" {
22795    pub fn vsscanf(
22796        __s: *const ::std::os::raw::c_char,
22797        __format: *const ::std::os::raw::c_char,
22798        __arg: *mut __va_list_tag,
22799    ) -> ::std::os::raw::c_int;
22800}
22801extern "C" {
22802    #[link_name = "\u{1}__isoc99_vfscanf"]
22803    pub fn vfscanf1(
22804        __s: *mut FILE,
22805        __format: *const ::std::os::raw::c_char,
22806        __arg: *mut __va_list_tag,
22807    ) -> ::std::os::raw::c_int;
22808}
22809extern "C" {
22810    #[link_name = "\u{1}__isoc99_vscanf"]
22811    pub fn vscanf1(
22812        __format: *const ::std::os::raw::c_char,
22813        __arg: *mut __va_list_tag,
22814    ) -> ::std::os::raw::c_int;
22815}
22816extern "C" {
22817    #[link_name = "\u{1}__isoc99_vsscanf"]
22818    pub fn vsscanf1(
22819        __s: *const ::std::os::raw::c_char,
22820        __format: *const ::std::os::raw::c_char,
22821        __arg: *mut __va_list_tag,
22822    ) -> ::std::os::raw::c_int;
22823}
22824extern "C" {
22825    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
22826}
22827extern "C" {
22828    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
22829}
22830extern "C" {
22831    pub fn getchar() -> ::std::os::raw::c_int;
22832}
22833extern "C" {
22834    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22835}
22836extern "C" {
22837    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
22838}
22839extern "C" {
22840    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22841}
22842extern "C" {
22843    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
22844}
22845extern "C" {
22846    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
22847}
22848extern "C" {
22849    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22850}
22851extern "C" {
22852    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
22853        -> ::std::os::raw::c_int;
22854}
22855extern "C" {
22856    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
22857}
22858extern "C" {
22859    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22860}
22861extern "C" {
22862    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
22863}
22864extern "C" {
22865    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
22866}
22867extern "C" {
22868    pub fn fgets(
22869        __s: *mut ::std::os::raw::c_char,
22870        __n: ::std::os::raw::c_int,
22871        __stream: *mut FILE,
22872    ) -> *mut ::std::os::raw::c_char;
22873}
22874extern "C" {
22875    pub fn __getdelim(
22876        __lineptr: *mut *mut ::std::os::raw::c_char,
22877        __n: *mut usize,
22878        __delimiter: ::std::os::raw::c_int,
22879        __stream: *mut FILE,
22880    ) -> __ssize_t;
22881}
22882extern "C" {
22883    pub fn getdelim(
22884        __lineptr: *mut *mut ::std::os::raw::c_char,
22885        __n: *mut usize,
22886        __delimiter: ::std::os::raw::c_int,
22887        __stream: *mut FILE,
22888    ) -> __ssize_t;
22889}
22890extern "C" {
22891    pub fn getline(
22892        __lineptr: *mut *mut ::std::os::raw::c_char,
22893        __n: *mut usize,
22894        __stream: *mut FILE,
22895    ) -> __ssize_t;
22896}
22897extern "C" {
22898    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
22899}
22900extern "C" {
22901    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
22902}
22903extern "C" {
22904    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
22905}
22906extern "C" {
22907    pub fn fread(
22908        __ptr: *mut ::std::os::raw::c_void,
22909        __size: ::std::os::raw::c_ulong,
22910        __n: ::std::os::raw::c_ulong,
22911        __stream: *mut FILE,
22912    ) -> ::std::os::raw::c_ulong;
22913}
22914extern "C" {
22915    pub fn fwrite(
22916        __ptr: *const ::std::os::raw::c_void,
22917        __size: ::std::os::raw::c_ulong,
22918        __n: ::std::os::raw::c_ulong,
22919        __s: *mut FILE,
22920    ) -> ::std::os::raw::c_ulong;
22921}
22922extern "C" {
22923    pub fn fread_unlocked(
22924        __ptr: *mut ::std::os::raw::c_void,
22925        __size: usize,
22926        __n: usize,
22927        __stream: *mut FILE,
22928    ) -> usize;
22929}
22930extern "C" {
22931    pub fn fwrite_unlocked(
22932        __ptr: *const ::std::os::raw::c_void,
22933        __size: usize,
22934        __n: usize,
22935        __stream: *mut FILE,
22936    ) -> usize;
22937}
22938extern "C" {
22939    pub fn fseek(
22940        __stream: *mut FILE,
22941        __off: ::std::os::raw::c_long,
22942        __whence: ::std::os::raw::c_int,
22943    ) -> ::std::os::raw::c_int;
22944}
22945extern "C" {
22946    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
22947}
22948extern "C" {
22949    pub fn rewind(__stream: *mut FILE);
22950}
22951extern "C" {
22952    pub fn fseeko(
22953        __stream: *mut FILE,
22954        __off: __off_t,
22955        __whence: ::std::os::raw::c_int,
22956    ) -> ::std::os::raw::c_int;
22957}
22958extern "C" {
22959    pub fn ftello(__stream: *mut FILE) -> __off_t;
22960}
22961extern "C" {
22962    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
22963}
22964extern "C" {
22965    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
22966}
22967extern "C" {
22968    pub fn clearerr(__stream: *mut FILE);
22969}
22970extern "C" {
22971    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
22972}
22973extern "C" {
22974    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
22975}
22976extern "C" {
22977    pub fn clearerr_unlocked(__stream: *mut FILE);
22978}
22979extern "C" {
22980    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22981}
22982extern "C" {
22983    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22984}
22985extern "C" {
22986    pub fn perror(__s: *const ::std::os::raw::c_char);
22987}
22988extern "C" {
22989    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
22990}
22991extern "C" {
22992    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
22993}
22994extern "C" {
22995    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
22996}
22997extern "C" {
22998    pub fn popen(
22999        __command: *const ::std::os::raw::c_char,
23000        __modes: *const ::std::os::raw::c_char,
23001    ) -> *mut FILE;
23002}
23003extern "C" {
23004    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
23005}
23006extern "C" {
23007    pub fn flockfile(__stream: *mut FILE);
23008}
23009extern "C" {
23010    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
23011}
23012extern "C" {
23013    pub fn funlockfile(__stream: *mut FILE);
23014}
23015extern "C" {
23016    pub fn __uflow(arg1: *mut FILE) -> ::std::os::raw::c_int;
23017}
23018extern "C" {
23019    pub fn __overflow(arg1: *mut FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
23020}
23021pub const ws_log_level_LOG_LEVEL_NONE: ws_log_level = 0;
23022pub const ws_log_level_LOG_LEVEL_NOISY: ws_log_level = 1;
23023pub const ws_log_level_LOG_LEVEL_DEBUG: ws_log_level = 2;
23024pub const ws_log_level_LOG_LEVEL_INFO: ws_log_level = 3;
23025pub const ws_log_level_LOG_LEVEL_MESSAGE: ws_log_level = 4;
23026pub const ws_log_level_LOG_LEVEL_WARNING: ws_log_level = 5;
23027pub const ws_log_level_LOG_LEVEL_CRITICAL: ws_log_level = 6;
23028pub const ws_log_level_LOG_LEVEL_ERROR: ws_log_level = 7;
23029pub const ws_log_level_LOG_LEVEL_ECHO: ws_log_level = 8;
23030pub const ws_log_level__LOG_LEVEL_LAST: ws_log_level = 9;
23031pub type ws_log_level = ::std::os::raw::c_uint;
23032pub type ws_log_writer_cb = ::std::option::Option<
23033    unsafe extern "C" fn(
23034        domain: *const ::std::os::raw::c_char,
23035        level: ws_log_level,
23036        timestamp: timespec,
23037        file: *const ::std::os::raw::c_char,
23038        line: ::std::os::raw::c_long,
23039        func: *const ::std::os::raw::c_char,
23040        user_format: *const ::std::os::raw::c_char,
23041        user_ap: *mut __va_list_tag,
23042        user_data: *mut ::std::os::raw::c_void,
23043    ),
23044>;
23045pub type ws_log_writer_free_data_cb =
23046    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
23047extern "C" {
23048    pub fn ws_log_file_writer(
23049        fp: *mut FILE,
23050        domain: *const ::std::os::raw::c_char,
23051        level: ws_log_level,
23052        timestamp: timespec,
23053        file: *const ::std::os::raw::c_char,
23054        line: ::std::os::raw::c_long,
23055        func: *const ::std::os::raw::c_char,
23056        user_format: *const ::std::os::raw::c_char,
23057        user_ap: *mut __va_list_tag,
23058    );
23059}
23060extern "C" {
23061    pub fn ws_log_console_writer(
23062        domain: *const ::std::os::raw::c_char,
23063        level: ws_log_level,
23064        timestamp: timespec,
23065        file: *const ::std::os::raw::c_char,
23066        line: ::std::os::raw::c_long,
23067        func: *const ::std::os::raw::c_char,
23068        user_format: *const ::std::os::raw::c_char,
23069        user_ap: *mut __va_list_tag,
23070    );
23071}
23072extern "C" {
23073    pub fn ws_log_console_writer_set_use_stdout(use_stdout: bool);
23074}
23075extern "C" {
23076    pub fn ws_log_level_to_string(level: ws_log_level) -> *const ::std::os::raw::c_char;
23077}
23078extern "C" {
23079    pub fn ws_log_msg_is_active(domain: *const ::std::os::raw::c_char, level: ws_log_level)
23080        -> bool;
23081}
23082extern "C" {
23083    pub fn ws_log_get_level() -> ws_log_level;
23084}
23085extern "C" {
23086    pub fn ws_log_set_level(level: ws_log_level) -> ws_log_level;
23087}
23088extern "C" {
23089    pub fn ws_log_set_level_str(str_level: *const ::std::os::raw::c_char) -> ws_log_level;
23090}
23091extern "C" {
23092    pub fn ws_log_set_domain_filter(domain_filter: *const ::std::os::raw::c_char);
23093}
23094extern "C" {
23095    pub fn ws_log_set_debug_filter(str_filter: *const ::std::os::raw::c_char);
23096}
23097extern "C" {
23098    pub fn ws_log_set_noisy_filter(str_filter: *const ::std::os::raw::c_char);
23099}
23100extern "C" {
23101    pub fn ws_log_set_fatal(level: ws_log_level) -> ws_log_level;
23102}
23103extern "C" {
23104    pub fn ws_log_set_fatal_str(str_level: *const ::std::os::raw::c_char) -> ws_log_level;
23105}
23106extern "C" {
23107    pub fn ws_log_set_writer(writer: ws_log_writer_cb);
23108}
23109extern "C" {
23110    pub fn ws_log_set_writer_with_data(
23111        writer: ws_log_writer_cb,
23112        user_data: *mut ::std::os::raw::c_void,
23113        free_user_data: ws_log_writer_free_data_cb,
23114    );
23115}
23116extern "C" {
23117    pub fn ws_log_parse_args(
23118        argc_ptr: *mut ::std::os::raw::c_int,
23119        argv: *mut *mut ::std::os::raw::c_char,
23120        vcmdarg_err: ::std::option::Option<
23121            unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
23122        >,
23123        exit_failure: ::std::os::raw::c_int,
23124    ) -> ::std::os::raw::c_int;
23125}
23126extern "C" {
23127    pub fn ws_log_init(
23128        progname: *const ::std::os::raw::c_char,
23129        vcmdarg_err: ::std::option::Option<
23130            unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
23131        >,
23132    );
23133}
23134extern "C" {
23135    pub fn ws_log_init_with_writer(
23136        progname: *const ::std::os::raw::c_char,
23137        writer: ws_log_writer_cb,
23138        vcmdarg_err: ::std::option::Option<
23139            unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
23140        >,
23141    );
23142}
23143extern "C" {
23144    pub fn ws_log_init_with_writer_and_data(
23145        progname: *const ::std::os::raw::c_char,
23146        writer: ws_log_writer_cb,
23147        user_data: *mut ::std::os::raw::c_void,
23148        free_user_data: ws_log_writer_free_data_cb,
23149        vcmdarg_err: ::std::option::Option<
23150            unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
23151        >,
23152    );
23153}
23154extern "C" {
23155    pub fn ws_log(
23156        domain: *const ::std::os::raw::c_char,
23157        level: ws_log_level,
23158        format: *const ::std::os::raw::c_char,
23159        ...
23160    );
23161}
23162extern "C" {
23163    pub fn ws_logv(
23164        domain: *const ::std::os::raw::c_char,
23165        level: ws_log_level,
23166        format: *const ::std::os::raw::c_char,
23167        ap: *mut __va_list_tag,
23168    );
23169}
23170extern "C" {
23171    pub fn ws_log_full(
23172        domain: *const ::std::os::raw::c_char,
23173        level: ws_log_level,
23174        file: *const ::std::os::raw::c_char,
23175        line: ::std::os::raw::c_long,
23176        func: *const ::std::os::raw::c_char,
23177        format: *const ::std::os::raw::c_char,
23178        ...
23179    );
23180}
23181extern "C" {
23182    pub fn ws_logv_full(
23183        domain: *const ::std::os::raw::c_char,
23184        level: ws_log_level,
23185        file: *const ::std::os::raw::c_char,
23186        line: ::std::os::raw::c_long,
23187        func: *const ::std::os::raw::c_char,
23188        format: *const ::std::os::raw::c_char,
23189        ap: *mut __va_list_tag,
23190    );
23191}
23192extern "C" {
23193    pub fn ws_log_fatal_full(
23194        domain: *const ::std::os::raw::c_char,
23195        level: ws_log_level,
23196        file: *const ::std::os::raw::c_char,
23197        line: ::std::os::raw::c_long,
23198        func: *const ::std::os::raw::c_char,
23199        format: *const ::std::os::raw::c_char,
23200        ...
23201    );
23202}
23203extern "C" {
23204    pub fn ws_log_buffer_full(
23205        domain: *const ::std::os::raw::c_char,
23206        level: ws_log_level,
23207        file: *const ::std::os::raw::c_char,
23208        line: ::std::os::raw::c_long,
23209        func: *const ::std::os::raw::c_char,
23210        buffer: *const u8,
23211        size: usize,
23212        max_bytes_len: usize,
23213        msg: *const ::std::os::raw::c_char,
23214    );
23215}
23216extern "C" {
23217    pub fn ws_log_write_always_full(
23218        domain: *const ::std::os::raw::c_char,
23219        level: ws_log_level,
23220        file: *const ::std::os::raw::c_char,
23221        line: ::std::os::raw::c_long,
23222        func: *const ::std::os::raw::c_char,
23223        format: *const ::std::os::raw::c_char,
23224        ...
23225    );
23226}
23227extern "C" {
23228    pub fn ws_log_add_custom_file(fp: *mut FILE);
23229}
23230extern "C" {
23231    pub fn ws_log_print_usage(fp: *mut FILE);
23232}
23233#[repr(C)]
23234#[derive(Debug, Copy, Clone)]
23235pub struct _wmem_allocator_t {
23236    _unused: [u8; 0],
23237}
23238pub type wmem_allocator_t = _wmem_allocator_t;
23239pub const _wmem_allocator_type_t_WMEM_ALLOCATOR_SIMPLE: _wmem_allocator_type_t = 0;
23240pub const _wmem_allocator_type_t_WMEM_ALLOCATOR_BLOCK: _wmem_allocator_type_t = 1;
23241pub const _wmem_allocator_type_t_WMEM_ALLOCATOR_STRICT: _wmem_allocator_type_t = 2;
23242pub const _wmem_allocator_type_t_WMEM_ALLOCATOR_BLOCK_FAST: _wmem_allocator_type_t = 3;
23243pub type _wmem_allocator_type_t = ::std::os::raw::c_uint;
23244pub use self::_wmem_allocator_type_t as wmem_allocator_type_t;
23245extern "C" {
23246    pub fn wmem_alloc(allocator: *mut wmem_allocator_t, size: usize)
23247        -> *mut ::std::os::raw::c_void;
23248}
23249extern "C" {
23250    pub fn wmem_alloc0(
23251        allocator: *mut wmem_allocator_t,
23252        size: usize,
23253    ) -> *mut ::std::os::raw::c_void;
23254}
23255extern "C" {
23256    pub fn wmem_free(allocator: *mut wmem_allocator_t, ptr: *mut ::std::os::raw::c_void);
23257}
23258extern "C" {
23259    pub fn wmem_realloc(
23260        allocator: *mut wmem_allocator_t,
23261        ptr: *mut ::std::os::raw::c_void,
23262        size: usize,
23263    ) -> *mut ::std::os::raw::c_void;
23264}
23265extern "C" {
23266    pub fn wmem_free_all(allocator: *mut wmem_allocator_t);
23267}
23268extern "C" {
23269    pub fn wmem_gc(allocator: *mut wmem_allocator_t);
23270}
23271extern "C" {
23272    pub fn wmem_destroy_allocator(allocator: *mut wmem_allocator_t);
23273}
23274extern "C" {
23275    pub fn wmem_allocator_new(type_: wmem_allocator_type_t) -> *mut wmem_allocator_t;
23276}
23277extern "C" {
23278    pub fn wmem_init();
23279}
23280extern "C" {
23281    pub fn wmem_cleanup();
23282}
23283extern "C" {
23284    pub fn wmem_enter_scope(allocator: *mut wmem_allocator_t);
23285}
23286extern "C" {
23287    pub fn wmem_leave_scope(allocator: *mut wmem_allocator_t);
23288}
23289extern "C" {
23290    pub fn wmem_in_scope(allocator: *mut wmem_allocator_t) -> gboolean;
23291}
23292#[repr(C)]
23293#[derive(Debug, Copy, Clone)]
23294pub struct _wmem_array_t {
23295    _unused: [u8; 0],
23296}
23297pub type wmem_array_t = _wmem_array_t;
23298extern "C" {
23299    pub fn wmem_array_sized_new(
23300        allocator: *mut wmem_allocator_t,
23301        elem_size: gsize,
23302        alloc_count: guint,
23303    ) -> *mut wmem_array_t;
23304}
23305extern "C" {
23306    pub fn wmem_array_new(allocator: *mut wmem_allocator_t, elem_size: gsize) -> *mut wmem_array_t;
23307}
23308extern "C" {
23309    pub fn wmem_array_grow(array: *mut wmem_array_t, to_add: guint);
23310}
23311extern "C" {
23312    pub fn wmem_array_set_null_terminator(array: *mut wmem_array_t);
23313}
23314extern "C" {
23315    pub fn wmem_array_bzero(array: *mut wmem_array_t);
23316}
23317extern "C" {
23318    pub fn wmem_array_append(
23319        array: *mut wmem_array_t,
23320        in_: *const ::std::os::raw::c_void,
23321        count: guint,
23322    );
23323}
23324extern "C" {
23325    pub fn wmem_array_index(
23326        array: *mut wmem_array_t,
23327        array_index: guint,
23328    ) -> *mut ::std::os::raw::c_void;
23329}
23330extern "C" {
23331    pub fn wmem_array_try_index(
23332        array: *mut wmem_array_t,
23333        array_index: guint,
23334        val: *mut ::std::os::raw::c_void,
23335    ) -> ::std::os::raw::c_int;
23336}
23337extern "C" {
23338    pub fn wmem_array_sort(
23339        array: *mut wmem_array_t,
23340        compar: ::std::option::Option<
23341            unsafe extern "C" fn(
23342                arg1: *const ::std::os::raw::c_void,
23343                arg2: *const ::std::os::raw::c_void,
23344            ) -> ::std::os::raw::c_int,
23345        >,
23346    );
23347}
23348extern "C" {
23349    pub fn wmem_array_get_raw(array: *mut wmem_array_t) -> *mut ::std::os::raw::c_void;
23350}
23351extern "C" {
23352    pub fn wmem_array_get_count(array: *mut wmem_array_t) -> guint;
23353}
23354extern "C" {
23355    pub fn wmem_destroy_array(array: *mut wmem_array_t);
23356}
23357#[repr(C)]
23358#[derive(Debug, Copy, Clone)]
23359pub struct _wmem_list_t {
23360    _unused: [u8; 0],
23361}
23362#[repr(C)]
23363#[derive(Debug, Copy, Clone)]
23364pub struct _wmem_list_frame_t {
23365    _unused: [u8; 0],
23366}
23367pub type wmem_list_t = _wmem_list_t;
23368pub type wmem_list_frame_t = _wmem_list_frame_t;
23369extern "C" {
23370    pub fn wmem_list_count(list: *const wmem_list_t) -> guint;
23371}
23372extern "C" {
23373    pub fn wmem_list_head(list: *const wmem_list_t) -> *mut wmem_list_frame_t;
23374}
23375extern "C" {
23376    pub fn wmem_list_tail(list: *const wmem_list_t) -> *mut wmem_list_frame_t;
23377}
23378extern "C" {
23379    pub fn wmem_list_frame_next(frame: *const wmem_list_frame_t) -> *mut wmem_list_frame_t;
23380}
23381extern "C" {
23382    pub fn wmem_list_frame_prev(frame: *const wmem_list_frame_t) -> *mut wmem_list_frame_t;
23383}
23384extern "C" {
23385    pub fn wmem_list_frame_data(frame: *const wmem_list_frame_t) -> *mut ::std::os::raw::c_void;
23386}
23387extern "C" {
23388    pub fn wmem_list_remove(list: *mut wmem_list_t, data: *mut ::std::os::raw::c_void);
23389}
23390extern "C" {
23391    pub fn wmem_list_remove_frame(list: *mut wmem_list_t, frame: *mut wmem_list_frame_t);
23392}
23393extern "C" {
23394    pub fn wmem_list_find(
23395        list: *mut wmem_list_t,
23396        data: *const ::std::os::raw::c_void,
23397    ) -> *mut wmem_list_frame_t;
23398}
23399extern "C" {
23400    pub fn wmem_list_find_custom(
23401        list: *mut wmem_list_t,
23402        data: *const ::std::os::raw::c_void,
23403        func: GCompareFunc,
23404    ) -> *mut wmem_list_frame_t;
23405}
23406extern "C" {
23407    pub fn wmem_list_prepend(list: *mut wmem_list_t, data: *mut ::std::os::raw::c_void);
23408}
23409extern "C" {
23410    pub fn wmem_list_append(list: *mut wmem_list_t, data: *mut ::std::os::raw::c_void);
23411}
23412extern "C" {
23413    pub fn wmem_list_insert_sorted(
23414        list: *mut wmem_list_t,
23415        data: *mut ::std::os::raw::c_void,
23416        func: GCompareFunc,
23417    );
23418}
23419extern "C" {
23420    pub fn wmem_list_new(allocator: *mut wmem_allocator_t) -> *mut wmem_list_t;
23421}
23422extern "C" {
23423    pub fn wmem_list_foreach(list: *mut wmem_list_t, foreach_func: GFunc, user_data: gpointer);
23424}
23425extern "C" {
23426    pub fn wmem_destroy_list(list: *mut wmem_list_t);
23427}
23428#[repr(C)]
23429#[derive(Debug, Copy, Clone)]
23430pub struct _wmem_map_t {
23431    _unused: [u8; 0],
23432}
23433pub type wmem_map_t = _wmem_map_t;
23434extern "C" {
23435    pub fn wmem_map_new(
23436        allocator: *mut wmem_allocator_t,
23437        hash_func: GHashFunc,
23438        eql_func: GEqualFunc,
23439    ) -> *mut wmem_map_t;
23440}
23441extern "C" {
23442    pub fn wmem_map_new_autoreset(
23443        metadata_scope: *mut wmem_allocator_t,
23444        data_scope: *mut wmem_allocator_t,
23445        hash_func: GHashFunc,
23446        eql_func: GEqualFunc,
23447    ) -> *mut wmem_map_t;
23448}
23449extern "C" {
23450    pub fn wmem_map_insert(
23451        map: *mut wmem_map_t,
23452        key: *const ::std::os::raw::c_void,
23453        value: *mut ::std::os::raw::c_void,
23454    ) -> *mut ::std::os::raw::c_void;
23455}
23456extern "C" {
23457    pub fn wmem_map_contains(map: *mut wmem_map_t, key: *const ::std::os::raw::c_void) -> gboolean;
23458}
23459extern "C" {
23460    pub fn wmem_map_lookup(
23461        map: *mut wmem_map_t,
23462        key: *const ::std::os::raw::c_void,
23463    ) -> *mut ::std::os::raw::c_void;
23464}
23465extern "C" {
23466    pub fn wmem_map_lookup_extended(
23467        map: *mut wmem_map_t,
23468        key: *const ::std::os::raw::c_void,
23469        orig_key: *mut *const ::std::os::raw::c_void,
23470        value: *mut *mut ::std::os::raw::c_void,
23471    ) -> gboolean;
23472}
23473extern "C" {
23474    pub fn wmem_map_remove(
23475        map: *mut wmem_map_t,
23476        key: *const ::std::os::raw::c_void,
23477    ) -> *mut ::std::os::raw::c_void;
23478}
23479extern "C" {
23480    pub fn wmem_map_steal(map: *mut wmem_map_t, key: *const ::std::os::raw::c_void) -> gboolean;
23481}
23482extern "C" {
23483    pub fn wmem_map_get_keys(
23484        list_allocator: *mut wmem_allocator_t,
23485        map: *mut wmem_map_t,
23486    ) -> *mut wmem_list_t;
23487}
23488extern "C" {
23489    pub fn wmem_map_foreach(map: *mut wmem_map_t, foreach_func: GHFunc, user_data: gpointer);
23490}
23491extern "C" {
23492    pub fn wmem_map_size(map: *mut wmem_map_t) -> guint;
23493}
23494extern "C" {
23495    pub fn wmem_strong_hash(buf: *const guint8, len: usize) -> guint32;
23496}
23497extern "C" {
23498    pub fn wmem_str_hash(key: gconstpointer) -> guint;
23499}
23500extern "C" {
23501    pub fn wmem_int64_hash(key: gconstpointer) -> guint;
23502}
23503extern "C" {
23504    pub fn wmem_double_hash(key: gconstpointer) -> guint;
23505}
23506extern "C" {
23507    pub fn wmem_memdup(
23508        allocator: *mut wmem_allocator_t,
23509        source: *const ::std::os::raw::c_void,
23510        size: usize,
23511    ) -> *mut ::std::os::raw::c_void;
23512}
23513extern "C" {
23514    pub fn wmem_compare_int(a: gconstpointer, b: gconstpointer) -> gint;
23515}
23516extern "C" {
23517    pub fn wmem_compare_uint(a: gconstpointer, b: gconstpointer) -> gint;
23518}
23519#[repr(C)]
23520#[derive(Debug, Copy, Clone)]
23521pub struct _wmem_multimap_t {
23522    _unused: [u8; 0],
23523}
23524pub type wmem_multimap_t = _wmem_multimap_t;
23525extern "C" {
23526    pub fn wmem_multimap_new(
23527        allocator: *mut wmem_allocator_t,
23528        hash_func: GHashFunc,
23529        eql_func: GEqualFunc,
23530    ) -> *mut wmem_multimap_t;
23531}
23532extern "C" {
23533    pub fn wmem_multimap_new_autoreset(
23534        metadata_scope: *mut wmem_allocator_t,
23535        data_scope: *mut wmem_allocator_t,
23536        hash_func: GHashFunc,
23537        eql_func: GEqualFunc,
23538    ) -> *mut wmem_multimap_t;
23539}
23540extern "C" {
23541    pub fn wmem_multimap_get_keys(
23542        list_allocator: *mut wmem_allocator_t,
23543        map: *mut wmem_multimap_t,
23544    ) -> *mut wmem_list_t;
23545}
23546extern "C" {
23547    pub fn wmem_multimap_size(map: *mut wmem_multimap_t) -> guint;
23548}
23549extern "C" {
23550    pub fn wmem_multimap_count(
23551        map: *mut wmem_multimap_t,
23552        key: *const ::std::os::raw::c_void,
23553    ) -> guint;
23554}
23555extern "C" {
23556    pub fn wmem_multimap_insert32(
23557        map: *mut wmem_multimap_t,
23558        key: *const ::std::os::raw::c_void,
23559        frame_num: guint32,
23560        value: *mut ::std::os::raw::c_void,
23561    ) -> gboolean;
23562}
23563extern "C" {
23564    pub fn wmem_multimap_lookup32(
23565        map: *mut wmem_multimap_t,
23566        key: *const ::std::os::raw::c_void,
23567        frame_num: guint32,
23568    ) -> *mut ::std::os::raw::c_void;
23569}
23570extern "C" {
23571    pub fn wmem_multimap_lookup32_le(
23572        map: *mut wmem_multimap_t,
23573        key: *const ::std::os::raw::c_void,
23574        frame_num: guint32,
23575    ) -> *mut ::std::os::raw::c_void;
23576}
23577extern "C" {
23578    pub fn wmem_multimap_remove32(
23579        map: *mut wmem_multimap_t,
23580        key: *const ::std::os::raw::c_void,
23581        frame_num: guint32,
23582    ) -> *mut ::std::os::raw::c_void;
23583}
23584pub type wmem_queue_t = wmem_list_t;
23585pub type wmem_stack_t = wmem_list_t;
23586extern "C" {
23587    pub fn wmem_stack_peek(stack: *const wmem_stack_t) -> *mut ::std::os::raw::c_void;
23588}
23589extern "C" {
23590    pub fn wmem_stack_pop(stack: *mut wmem_stack_t) -> *mut ::std::os::raw::c_void;
23591}
23592#[repr(C)]
23593#[derive(Debug, Copy, Clone)]
23594pub struct _wmem_strbuf_t {
23595    pub allocator: *mut wmem_allocator_t,
23596    pub str_: *mut gchar,
23597    pub len: gsize,
23598    pub alloc_len: gsize,
23599    pub max_len: gsize,
23600}
23601#[test]
23602fn bindgen_test_layout__wmem_strbuf_t() {
23603    const UNINIT: ::std::mem::MaybeUninit<_wmem_strbuf_t> = ::std::mem::MaybeUninit::uninit();
23604    let ptr = UNINIT.as_ptr();
23605    assert_eq!(
23606        ::std::mem::size_of::<_wmem_strbuf_t>(),
23607        40usize,
23608        concat!("Size of: ", stringify!(_wmem_strbuf_t))
23609    );
23610    assert_eq!(
23611        ::std::mem::align_of::<_wmem_strbuf_t>(),
23612        8usize,
23613        concat!("Alignment of ", stringify!(_wmem_strbuf_t))
23614    );
23615    assert_eq!(
23616        unsafe { ::std::ptr::addr_of!((*ptr).allocator) as usize - ptr as usize },
23617        0usize,
23618        concat!(
23619            "Offset of field: ",
23620            stringify!(_wmem_strbuf_t),
23621            "::",
23622            stringify!(allocator)
23623        )
23624    );
23625    assert_eq!(
23626        unsafe { ::std::ptr::addr_of!((*ptr).str_) as usize - ptr as usize },
23627        8usize,
23628        concat!(
23629            "Offset of field: ",
23630            stringify!(_wmem_strbuf_t),
23631            "::",
23632            stringify!(str_)
23633        )
23634    );
23635    assert_eq!(
23636        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
23637        16usize,
23638        concat!(
23639            "Offset of field: ",
23640            stringify!(_wmem_strbuf_t),
23641            "::",
23642            stringify!(len)
23643        )
23644    );
23645    assert_eq!(
23646        unsafe { ::std::ptr::addr_of!((*ptr).alloc_len) as usize - ptr as usize },
23647        24usize,
23648        concat!(
23649            "Offset of field: ",
23650            stringify!(_wmem_strbuf_t),
23651            "::",
23652            stringify!(alloc_len)
23653        )
23654    );
23655    assert_eq!(
23656        unsafe { ::std::ptr::addr_of!((*ptr).max_len) as usize - ptr as usize },
23657        32usize,
23658        concat!(
23659            "Offset of field: ",
23660            stringify!(_wmem_strbuf_t),
23661            "::",
23662            stringify!(max_len)
23663        )
23664    );
23665}
23666pub type wmem_strbuf_t = _wmem_strbuf_t;
23667extern "C" {
23668    pub fn wmem_strbuf_sized_new(
23669        allocator: *mut wmem_allocator_t,
23670        alloc_len: gsize,
23671        max_len: gsize,
23672    ) -> *mut wmem_strbuf_t;
23673}
23674extern "C" {
23675    pub fn wmem_strbuf_new(
23676        allocator: *mut wmem_allocator_t,
23677        str_: *const gchar,
23678    ) -> *mut wmem_strbuf_t;
23679}
23680extern "C" {
23681    pub fn wmem_strbuf_new_len(
23682        allocator: *mut wmem_allocator_t,
23683        str_: *const gchar,
23684        len: usize,
23685    ) -> *mut wmem_strbuf_t;
23686}
23687extern "C" {
23688    pub fn wmem_strbuf_dup(
23689        allocator: *mut wmem_allocator_t,
23690        strbuf: *const wmem_strbuf_t,
23691    ) -> *mut wmem_strbuf_t;
23692}
23693extern "C" {
23694    pub fn wmem_strbuf_append(strbuf: *mut wmem_strbuf_t, str_: *const gchar);
23695}
23696extern "C" {
23697    pub fn wmem_strbuf_append_len(
23698        strbuf: *mut wmem_strbuf_t,
23699        str_: *const gchar,
23700        append_len: gsize,
23701    );
23702}
23703extern "C" {
23704    pub fn wmem_strbuf_append_printf(strbuf: *mut wmem_strbuf_t, format: *const gchar, ...);
23705}
23706extern "C" {
23707    pub fn wmem_strbuf_append_vprintf(
23708        strbuf: *mut wmem_strbuf_t,
23709        fmt: *const gchar,
23710        ap: *mut __va_list_tag,
23711    );
23712}
23713extern "C" {
23714    pub fn wmem_strbuf_append_c(strbuf: *mut wmem_strbuf_t, c: gchar);
23715}
23716extern "C" {
23717    pub fn wmem_strbuf_append_unichar(strbuf: *mut wmem_strbuf_t, c: gunichar);
23718}
23719extern "C" {
23720    pub fn wmem_strbuf_truncate(strbuf: *mut wmem_strbuf_t, len: gsize);
23721}
23722extern "C" {
23723    pub fn wmem_strbuf_get_str(strbuf: *const wmem_strbuf_t) -> *const gchar;
23724}
23725extern "C" {
23726    pub fn wmem_strbuf_get_len(strbuf: *const wmem_strbuf_t) -> gsize;
23727}
23728extern "C" {
23729    pub fn wmem_strbuf_strcmp(
23730        sb1: *const wmem_strbuf_t,
23731        sb2: *const wmem_strbuf_t,
23732    ) -> ::std::os::raw::c_int;
23733}
23734extern "C" {
23735    pub fn wmem_strbuf_strstr(
23736        haystack: *const wmem_strbuf_t,
23737        needle: *const wmem_strbuf_t,
23738    ) -> *const ::std::os::raw::c_char;
23739}
23740extern "C" {
23741    pub fn wmem_strbuf_finalize(strbuf: *mut wmem_strbuf_t) -> *mut ::std::os::raw::c_char;
23742}
23743extern "C" {
23744    pub fn wmem_strbuf_destroy(strbuf: *mut wmem_strbuf_t);
23745}
23746extern "C" {
23747    pub fn wmem_strdup(allocator: *mut wmem_allocator_t, src: *const gchar) -> *mut gchar;
23748}
23749extern "C" {
23750    pub fn wmem_strndup(
23751        allocator: *mut wmem_allocator_t,
23752        src: *const gchar,
23753        len: usize,
23754    ) -> *mut gchar;
23755}
23756extern "C" {
23757    pub fn wmem_strdup_printf(
23758        allocator: *mut wmem_allocator_t,
23759        fmt: *const gchar,
23760        ...
23761    ) -> *mut gchar;
23762}
23763extern "C" {
23764    pub fn wmem_strdup_vprintf(
23765        allocator: *mut wmem_allocator_t,
23766        fmt: *const gchar,
23767        ap: *mut __va_list_tag,
23768    ) -> *mut gchar;
23769}
23770extern "C" {
23771    pub fn ws_memmem(
23772        haystack: *const ::std::os::raw::c_void,
23773        haystack_len: usize,
23774        needle: *const ::std::os::raw::c_void,
23775        needle_len: usize,
23776    ) -> *const guint8;
23777}
23778#[repr(C)]
23779#[derive(Debug, Copy, Clone)]
23780pub struct _wmem_tree_t {
23781    _unused: [u8; 0],
23782}
23783pub type wmem_tree_t = _wmem_tree_t;
23784extern "C" {
23785    pub fn wmem_tree_new(allocator: *mut wmem_allocator_t) -> *mut wmem_tree_t;
23786}
23787extern "C" {
23788    pub fn wmem_tree_new_autoreset(
23789        metadata_scope: *mut wmem_allocator_t,
23790        data_scope: *mut wmem_allocator_t,
23791    ) -> *mut wmem_tree_t;
23792}
23793extern "C" {
23794    pub fn wmem_tree_destroy(tree: *mut wmem_tree_t, free_keys: gboolean, free_values: gboolean);
23795}
23796extern "C" {
23797    pub fn wmem_tree_is_empty(tree: *mut wmem_tree_t) -> gboolean;
23798}
23799extern "C" {
23800    pub fn wmem_tree_count(tree: *mut wmem_tree_t) -> guint;
23801}
23802extern "C" {
23803    pub fn wmem_tree_insert32(
23804        tree: *mut wmem_tree_t,
23805        key: guint32,
23806        data: *mut ::std::os::raw::c_void,
23807    );
23808}
23809extern "C" {
23810    pub fn wmem_tree_lookup32(tree: *mut wmem_tree_t, key: guint32) -> *mut ::std::os::raw::c_void;
23811}
23812extern "C" {
23813    pub fn wmem_tree_lookup32_le(
23814        tree: *mut wmem_tree_t,
23815        key: guint32,
23816    ) -> *mut ::std::os::raw::c_void;
23817}
23818extern "C" {
23819    pub fn wmem_tree_remove32(tree: *mut wmem_tree_t, key: guint32) -> *mut ::std::os::raw::c_void;
23820}
23821extern "C" {
23822    pub fn wmem_tree_insert_string(
23823        tree: *mut wmem_tree_t,
23824        key: *const gchar,
23825        data: *mut ::std::os::raw::c_void,
23826        flags: guint32,
23827    );
23828}
23829extern "C" {
23830    pub fn wmem_tree_lookup_string(
23831        tree: *mut wmem_tree_t,
23832        key: *const gchar,
23833        flags: guint32,
23834    ) -> *mut ::std::os::raw::c_void;
23835}
23836extern "C" {
23837    pub fn wmem_tree_remove_string(
23838        tree: *mut wmem_tree_t,
23839        key: *const gchar,
23840        flags: guint32,
23841    ) -> *mut ::std::os::raw::c_void;
23842}
23843#[repr(C)]
23844#[derive(Debug, Copy, Clone)]
23845pub struct _wmem_tree_key_t {
23846    pub length: guint32,
23847    pub key: *mut guint32,
23848}
23849#[test]
23850fn bindgen_test_layout__wmem_tree_key_t() {
23851    const UNINIT: ::std::mem::MaybeUninit<_wmem_tree_key_t> = ::std::mem::MaybeUninit::uninit();
23852    let ptr = UNINIT.as_ptr();
23853    assert_eq!(
23854        ::std::mem::size_of::<_wmem_tree_key_t>(),
23855        16usize,
23856        concat!("Size of: ", stringify!(_wmem_tree_key_t))
23857    );
23858    assert_eq!(
23859        ::std::mem::align_of::<_wmem_tree_key_t>(),
23860        8usize,
23861        concat!("Alignment of ", stringify!(_wmem_tree_key_t))
23862    );
23863    assert_eq!(
23864        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
23865        0usize,
23866        concat!(
23867            "Offset of field: ",
23868            stringify!(_wmem_tree_key_t),
23869            "::",
23870            stringify!(length)
23871        )
23872    );
23873    assert_eq!(
23874        unsafe { ::std::ptr::addr_of!((*ptr).key) as usize - ptr as usize },
23875        8usize,
23876        concat!(
23877            "Offset of field: ",
23878            stringify!(_wmem_tree_key_t),
23879            "::",
23880            stringify!(key)
23881        )
23882    );
23883}
23884pub type wmem_tree_key_t = _wmem_tree_key_t;
23885extern "C" {
23886    pub fn wmem_tree_insert32_array(
23887        tree: *mut wmem_tree_t,
23888        key: *mut wmem_tree_key_t,
23889        data: *mut ::std::os::raw::c_void,
23890    );
23891}
23892extern "C" {
23893    pub fn wmem_tree_lookup32_array(
23894        tree: *mut wmem_tree_t,
23895        key: *mut wmem_tree_key_t,
23896    ) -> *mut ::std::os::raw::c_void;
23897}
23898extern "C" {
23899    pub fn wmem_tree_lookup32_array_le(
23900        tree: *mut wmem_tree_t,
23901        key: *mut wmem_tree_key_t,
23902    ) -> *mut ::std::os::raw::c_void;
23903}
23904pub type wmem_foreach_func = ::std::option::Option<
23905    unsafe extern "C" fn(
23906        key: *const ::std::os::raw::c_void,
23907        value: *mut ::std::os::raw::c_void,
23908        userdata: *mut ::std::os::raw::c_void,
23909    ) -> gboolean,
23910>;
23911pub type wmem_printer_func =
23912    ::std::option::Option<unsafe extern "C" fn(data: *const ::std::os::raw::c_void)>;
23913extern "C" {
23914    pub fn wmem_tree_foreach(
23915        tree: *mut wmem_tree_t,
23916        callback: wmem_foreach_func,
23917        user_data: *mut ::std::os::raw::c_void,
23918    ) -> gboolean;
23919}
23920extern "C" {
23921    pub fn wmem_print_tree(
23922        tree: *mut wmem_tree_t,
23923        key_printer: wmem_printer_func,
23924        data_printer: wmem_printer_func,
23925    );
23926}
23927pub type wmem_itree_t = _wmem_tree_t;
23928#[repr(C)]
23929#[derive(Debug, Copy, Clone)]
23930pub struct _wmem_range_t {
23931    pub low: guint64,
23932    pub high: guint64,
23933    pub max_edge: guint64,
23934}
23935#[test]
23936fn bindgen_test_layout__wmem_range_t() {
23937    const UNINIT: ::std::mem::MaybeUninit<_wmem_range_t> = ::std::mem::MaybeUninit::uninit();
23938    let ptr = UNINIT.as_ptr();
23939    assert_eq!(
23940        ::std::mem::size_of::<_wmem_range_t>(),
23941        24usize,
23942        concat!("Size of: ", stringify!(_wmem_range_t))
23943    );
23944    assert_eq!(
23945        ::std::mem::align_of::<_wmem_range_t>(),
23946        8usize,
23947        concat!("Alignment of ", stringify!(_wmem_range_t))
23948    );
23949    assert_eq!(
23950        unsafe { ::std::ptr::addr_of!((*ptr).low) as usize - ptr as usize },
23951        0usize,
23952        concat!(
23953            "Offset of field: ",
23954            stringify!(_wmem_range_t),
23955            "::",
23956            stringify!(low)
23957        )
23958    );
23959    assert_eq!(
23960        unsafe { ::std::ptr::addr_of!((*ptr).high) as usize - ptr as usize },
23961        8usize,
23962        concat!(
23963            "Offset of field: ",
23964            stringify!(_wmem_range_t),
23965            "::",
23966            stringify!(high)
23967        )
23968    );
23969    assert_eq!(
23970        unsafe { ::std::ptr::addr_of!((*ptr).max_edge) as usize - ptr as usize },
23971        16usize,
23972        concat!(
23973            "Offset of field: ",
23974            stringify!(_wmem_range_t),
23975            "::",
23976            stringify!(max_edge)
23977        )
23978    );
23979}
23980extern "C" {
23981    pub fn wmem_itree_new(allocator: *mut wmem_allocator_t) -> *mut wmem_itree_t;
23982}
23983extern "C" {
23984    pub fn wmem_itree_is_empty(tree: *mut wmem_itree_t) -> gboolean;
23985}
23986extern "C" {
23987    pub fn wmem_itree_insert(
23988        tree: *mut wmem_itree_t,
23989        low: guint64,
23990        high: guint64,
23991        data: *mut ::std::os::raw::c_void,
23992    );
23993}
23994extern "C" {
23995    pub fn wmem_itree_find_intervals(
23996        tree: *mut wmem_itree_t,
23997        allocator: *mut wmem_allocator_t,
23998        low: guint64,
23999        high: guint64,
24000    ) -> *mut wmem_list_t;
24001}
24002extern "C" {
24003    pub fn wmem_print_itree(tree: *mut wmem_itree_t);
24004}
24005pub const _wmem_cb_event_t_WMEM_CB_FREE_EVENT: _wmem_cb_event_t = 0;
24006pub const _wmem_cb_event_t_WMEM_CB_DESTROY_EVENT: _wmem_cb_event_t = 1;
24007pub type _wmem_cb_event_t = ::std::os::raw::c_uint;
24008pub use self::_wmem_cb_event_t as wmem_cb_event_t;
24009pub type wmem_user_cb_t = ::std::option::Option<
24010    unsafe extern "C" fn(
24011        arg1: *mut wmem_allocator_t,
24012        arg2: wmem_cb_event_t,
24013        arg3: *mut ::std::os::raw::c_void,
24014    ) -> gboolean,
24015>;
24016extern "C" {
24017    pub fn wmem_register_callback(
24018        allocator: *mut wmem_allocator_t,
24019        callback: wmem_user_cb_t,
24020        user_data: *mut ::std::os::raw::c_void,
24021    ) -> guint;
24022}
24023extern "C" {
24024    pub fn wmem_unregister_callback(allocator: *mut wmem_allocator_t, id: guint);
24025}
24026pub type ws_in4_addr = guint32;
24027#[repr(C)]
24028#[derive(Debug, Copy, Clone)]
24029pub struct e_in6_addr {
24030    pub bytes: [guint8; 16usize],
24031}
24032#[test]
24033fn bindgen_test_layout_e_in6_addr() {
24034    const UNINIT: ::std::mem::MaybeUninit<e_in6_addr> = ::std::mem::MaybeUninit::uninit();
24035    let ptr = UNINIT.as_ptr();
24036    assert_eq!(
24037        ::std::mem::size_of::<e_in6_addr>(),
24038        16usize,
24039        concat!("Size of: ", stringify!(e_in6_addr))
24040    );
24041    assert_eq!(
24042        ::std::mem::align_of::<e_in6_addr>(),
24043        1usize,
24044        concat!("Alignment of ", stringify!(e_in6_addr))
24045    );
24046    assert_eq!(
24047        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
24048        0usize,
24049        concat!(
24050            "Offset of field: ",
24051            stringify!(e_in6_addr),
24052            "::",
24053            stringify!(bytes)
24054        )
24055    );
24056}
24057pub type ws_in6_addr = e_in6_addr;
24058#[repr(C)]
24059#[derive(Debug, Copy, Clone)]
24060pub struct ws_ip6_hdr {
24061    pub ip6h_vc_flow: guint32,
24062    pub ip6h_plen: guint16,
24063    pub ip6h_nxt: guint8,
24064    pub ip6h_hlim: guint8,
24065    pub ip6h_src: ws_in6_addr,
24066    pub ip6h_dst: ws_in6_addr,
24067}
24068#[test]
24069fn bindgen_test_layout_ws_ip6_hdr() {
24070    const UNINIT: ::std::mem::MaybeUninit<ws_ip6_hdr> = ::std::mem::MaybeUninit::uninit();
24071    let ptr = UNINIT.as_ptr();
24072    assert_eq!(
24073        ::std::mem::size_of::<ws_ip6_hdr>(),
24074        40usize,
24075        concat!("Size of: ", stringify!(ws_ip6_hdr))
24076    );
24077    assert_eq!(
24078        ::std::mem::align_of::<ws_ip6_hdr>(),
24079        4usize,
24080        concat!("Alignment of ", stringify!(ws_ip6_hdr))
24081    );
24082    assert_eq!(
24083        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_vc_flow) as usize - ptr as usize },
24084        0usize,
24085        concat!(
24086            "Offset of field: ",
24087            stringify!(ws_ip6_hdr),
24088            "::",
24089            stringify!(ip6h_vc_flow)
24090        )
24091    );
24092    assert_eq!(
24093        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_plen) as usize - ptr as usize },
24094        4usize,
24095        concat!(
24096            "Offset of field: ",
24097            stringify!(ws_ip6_hdr),
24098            "::",
24099            stringify!(ip6h_plen)
24100        )
24101    );
24102    assert_eq!(
24103        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_nxt) as usize - ptr as usize },
24104        6usize,
24105        concat!(
24106            "Offset of field: ",
24107            stringify!(ws_ip6_hdr),
24108            "::",
24109            stringify!(ip6h_nxt)
24110        )
24111    );
24112    assert_eq!(
24113        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_hlim) as usize - ptr as usize },
24114        7usize,
24115        concat!(
24116            "Offset of field: ",
24117            stringify!(ws_ip6_hdr),
24118            "::",
24119            stringify!(ip6h_hlim)
24120        )
24121    );
24122    assert_eq!(
24123        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_src) as usize - ptr as usize },
24124        8usize,
24125        concat!(
24126            "Offset of field: ",
24127            stringify!(ws_ip6_hdr),
24128            "::",
24129            stringify!(ip6h_src)
24130        )
24131    );
24132    assert_eq!(
24133        unsafe { ::std::ptr::addr_of!((*ptr).ip6h_dst) as usize - ptr as usize },
24134        24usize,
24135        concat!(
24136            "Offset of field: ",
24137            stringify!(ws_ip6_hdr),
24138            "::",
24139            stringify!(ip6h_dst)
24140        )
24141    );
24142}
24143#[repr(C)]
24144#[derive(Debug, Copy, Clone)]
24145pub struct ip6_ext {
24146    pub ip6e_nxt: guchar,
24147    pub ip6e_len: guchar,
24148}
24149#[test]
24150fn bindgen_test_layout_ip6_ext() {
24151    const UNINIT: ::std::mem::MaybeUninit<ip6_ext> = ::std::mem::MaybeUninit::uninit();
24152    let ptr = UNINIT.as_ptr();
24153    assert_eq!(
24154        ::std::mem::size_of::<ip6_ext>(),
24155        2usize,
24156        concat!("Size of: ", stringify!(ip6_ext))
24157    );
24158    assert_eq!(
24159        ::std::mem::align_of::<ip6_ext>(),
24160        1usize,
24161        concat!("Alignment of ", stringify!(ip6_ext))
24162    );
24163    assert_eq!(
24164        unsafe { ::std::ptr::addr_of!((*ptr).ip6e_nxt) as usize - ptr as usize },
24165        0usize,
24166        concat!(
24167            "Offset of field: ",
24168            stringify!(ip6_ext),
24169            "::",
24170            stringify!(ip6e_nxt)
24171        )
24172    );
24173    assert_eq!(
24174        unsafe { ::std::ptr::addr_of!((*ptr).ip6e_len) as usize - ptr as usize },
24175        1usize,
24176        concat!(
24177            "Offset of field: ",
24178            stringify!(ip6_ext),
24179            "::",
24180            stringify!(ip6e_len)
24181        )
24182    );
24183}
24184#[repr(C)]
24185#[derive(Debug, Copy, Clone)]
24186pub struct ip6_rthdr {
24187    pub ip6r_nxt: guint8,
24188    pub ip6r_len: guint8,
24189    pub ip6r_type: guint8,
24190    pub ip6r_segleft: guint8,
24191}
24192#[test]
24193fn bindgen_test_layout_ip6_rthdr() {
24194    const UNINIT: ::std::mem::MaybeUninit<ip6_rthdr> = ::std::mem::MaybeUninit::uninit();
24195    let ptr = UNINIT.as_ptr();
24196    assert_eq!(
24197        ::std::mem::size_of::<ip6_rthdr>(),
24198        4usize,
24199        concat!("Size of: ", stringify!(ip6_rthdr))
24200    );
24201    assert_eq!(
24202        ::std::mem::align_of::<ip6_rthdr>(),
24203        1usize,
24204        concat!("Alignment of ", stringify!(ip6_rthdr))
24205    );
24206    assert_eq!(
24207        unsafe { ::std::ptr::addr_of!((*ptr).ip6r_nxt) as usize - ptr as usize },
24208        0usize,
24209        concat!(
24210            "Offset of field: ",
24211            stringify!(ip6_rthdr),
24212            "::",
24213            stringify!(ip6r_nxt)
24214        )
24215    );
24216    assert_eq!(
24217        unsafe { ::std::ptr::addr_of!((*ptr).ip6r_len) as usize - ptr as usize },
24218        1usize,
24219        concat!(
24220            "Offset of field: ",
24221            stringify!(ip6_rthdr),
24222            "::",
24223            stringify!(ip6r_len)
24224        )
24225    );
24226    assert_eq!(
24227        unsafe { ::std::ptr::addr_of!((*ptr).ip6r_type) as usize - ptr as usize },
24228        2usize,
24229        concat!(
24230            "Offset of field: ",
24231            stringify!(ip6_rthdr),
24232            "::",
24233            stringify!(ip6r_type)
24234        )
24235    );
24236    assert_eq!(
24237        unsafe { ::std::ptr::addr_of!((*ptr).ip6r_segleft) as usize - ptr as usize },
24238        3usize,
24239        concat!(
24240            "Offset of field: ",
24241            stringify!(ip6_rthdr),
24242            "::",
24243            stringify!(ip6r_segleft)
24244        )
24245    );
24246}
24247#[repr(C)]
24248#[derive(Debug, Copy, Clone)]
24249pub struct ip6_rthdr0 {
24250    pub ip6r0_nxt: guint8,
24251    pub ip6r0_len: guint8,
24252    pub ip6r0_type: guint8,
24253    pub ip6r0_segleft: guint8,
24254    pub ip6r0_reserved: guint8,
24255    pub ip6r0_slmap: [guint8; 3usize],
24256    pub ip6r0_addr: [ws_in6_addr; 1usize],
24257}
24258#[test]
24259fn bindgen_test_layout_ip6_rthdr0() {
24260    const UNINIT: ::std::mem::MaybeUninit<ip6_rthdr0> = ::std::mem::MaybeUninit::uninit();
24261    let ptr = UNINIT.as_ptr();
24262    assert_eq!(
24263        ::std::mem::size_of::<ip6_rthdr0>(),
24264        24usize,
24265        concat!("Size of: ", stringify!(ip6_rthdr0))
24266    );
24267    assert_eq!(
24268        ::std::mem::align_of::<ip6_rthdr0>(),
24269        1usize,
24270        concat!("Alignment of ", stringify!(ip6_rthdr0))
24271    );
24272    assert_eq!(
24273        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_nxt) as usize - ptr as usize },
24274        0usize,
24275        concat!(
24276            "Offset of field: ",
24277            stringify!(ip6_rthdr0),
24278            "::",
24279            stringify!(ip6r0_nxt)
24280        )
24281    );
24282    assert_eq!(
24283        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_len) as usize - ptr as usize },
24284        1usize,
24285        concat!(
24286            "Offset of field: ",
24287            stringify!(ip6_rthdr0),
24288            "::",
24289            stringify!(ip6r0_len)
24290        )
24291    );
24292    assert_eq!(
24293        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_type) as usize - ptr as usize },
24294        2usize,
24295        concat!(
24296            "Offset of field: ",
24297            stringify!(ip6_rthdr0),
24298            "::",
24299            stringify!(ip6r0_type)
24300        )
24301    );
24302    assert_eq!(
24303        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_segleft) as usize - ptr as usize },
24304        3usize,
24305        concat!(
24306            "Offset of field: ",
24307            stringify!(ip6_rthdr0),
24308            "::",
24309            stringify!(ip6r0_segleft)
24310        )
24311    );
24312    assert_eq!(
24313        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_reserved) as usize - ptr as usize },
24314        4usize,
24315        concat!(
24316            "Offset of field: ",
24317            stringify!(ip6_rthdr0),
24318            "::",
24319            stringify!(ip6r0_reserved)
24320        )
24321    );
24322    assert_eq!(
24323        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_slmap) as usize - ptr as usize },
24324        5usize,
24325        concat!(
24326            "Offset of field: ",
24327            stringify!(ip6_rthdr0),
24328            "::",
24329            stringify!(ip6r0_slmap)
24330        )
24331    );
24332    assert_eq!(
24333        unsafe { ::std::ptr::addr_of!((*ptr).ip6r0_addr) as usize - ptr as usize },
24334        8usize,
24335        concat!(
24336            "Offset of field: ",
24337            stringify!(ip6_rthdr0),
24338            "::",
24339            stringify!(ip6r0_addr)
24340        )
24341    );
24342}
24343#[repr(C)]
24344#[derive(Debug, Copy, Clone)]
24345pub struct ip6_frag {
24346    pub ip6f_nxt: guint8,
24347    pub ip6f_reserved: guint8,
24348    pub ip6f_offlg: guint16,
24349    pub ip6f_ident: guint32,
24350}
24351#[test]
24352fn bindgen_test_layout_ip6_frag() {
24353    const UNINIT: ::std::mem::MaybeUninit<ip6_frag> = ::std::mem::MaybeUninit::uninit();
24354    let ptr = UNINIT.as_ptr();
24355    assert_eq!(
24356        ::std::mem::size_of::<ip6_frag>(),
24357        8usize,
24358        concat!("Size of: ", stringify!(ip6_frag))
24359    );
24360    assert_eq!(
24361        ::std::mem::align_of::<ip6_frag>(),
24362        4usize,
24363        concat!("Alignment of ", stringify!(ip6_frag))
24364    );
24365    assert_eq!(
24366        unsafe { ::std::ptr::addr_of!((*ptr).ip6f_nxt) as usize - ptr as usize },
24367        0usize,
24368        concat!(
24369            "Offset of field: ",
24370            stringify!(ip6_frag),
24371            "::",
24372            stringify!(ip6f_nxt)
24373        )
24374    );
24375    assert_eq!(
24376        unsafe { ::std::ptr::addr_of!((*ptr).ip6f_reserved) as usize - ptr as usize },
24377        1usize,
24378        concat!(
24379            "Offset of field: ",
24380            stringify!(ip6_frag),
24381            "::",
24382            stringify!(ip6f_reserved)
24383        )
24384    );
24385    assert_eq!(
24386        unsafe { ::std::ptr::addr_of!((*ptr).ip6f_offlg) as usize - ptr as usize },
24387        2usize,
24388        concat!(
24389            "Offset of field: ",
24390            stringify!(ip6_frag),
24391            "::",
24392            stringify!(ip6f_offlg)
24393        )
24394    );
24395    assert_eq!(
24396        unsafe { ::std::ptr::addr_of!((*ptr).ip6f_ident) as usize - ptr as usize },
24397        4usize,
24398        concat!(
24399            "Offset of field: ",
24400            stringify!(ip6_frag),
24401            "::",
24402            stringify!(ip6f_ident)
24403        )
24404    );
24405}
24406#[repr(C)]
24407#[derive(Debug, Copy, Clone)]
24408pub struct wtap_block {
24409    _unused: [u8; 0],
24410}
24411pub type wtap_block_t = *mut wtap_block;
24412pub const wtap_block_type_t_WTAP_BLOCK_SECTION: wtap_block_type_t = 0;
24413pub const wtap_block_type_t_WTAP_BLOCK_IF_ID_AND_INFO: wtap_block_type_t = 1;
24414pub const wtap_block_type_t_WTAP_BLOCK_NAME_RESOLUTION: wtap_block_type_t = 2;
24415pub const wtap_block_type_t_WTAP_BLOCK_IF_STATISTICS: wtap_block_type_t = 3;
24416pub const wtap_block_type_t_WTAP_BLOCK_DECRYPTION_SECRETS: wtap_block_type_t = 4;
24417pub const wtap_block_type_t_WTAP_BLOCK_PACKET: wtap_block_type_t = 5;
24418pub const wtap_block_type_t_WTAP_BLOCK_FT_SPECIFIC_REPORT: wtap_block_type_t = 6;
24419pub const wtap_block_type_t_WTAP_BLOCK_FT_SPECIFIC_EVENT: wtap_block_type_t = 7;
24420pub const wtap_block_type_t_WTAP_BLOCK_SYSDIG_EVENT: wtap_block_type_t = 8;
24421pub const wtap_block_type_t_WTAP_BLOCK_SYSTEMD_JOURNAL_EXPORT: wtap_block_type_t = 9;
24422pub const wtap_block_type_t_WTAP_BLOCK_CUSTOM: wtap_block_type_t = 10;
24423pub const wtap_block_type_t_MAX_WTAP_BLOCK_TYPE_VALUE: wtap_block_type_t = 11;
24424pub type wtap_block_type_t = ::std::os::raw::c_uint;
24425#[repr(C)]
24426#[derive(Debug, Copy, Clone)]
24427pub struct wtapng_section_mandatory_s {
24428    pub section_length: guint64,
24429}
24430#[test]
24431fn bindgen_test_layout_wtapng_section_mandatory_s() {
24432    const UNINIT: ::std::mem::MaybeUninit<wtapng_section_mandatory_s> =
24433        ::std::mem::MaybeUninit::uninit();
24434    let ptr = UNINIT.as_ptr();
24435    assert_eq!(
24436        ::std::mem::size_of::<wtapng_section_mandatory_s>(),
24437        8usize,
24438        concat!("Size of: ", stringify!(wtapng_section_mandatory_s))
24439    );
24440    assert_eq!(
24441        ::std::mem::align_of::<wtapng_section_mandatory_s>(),
24442        8usize,
24443        concat!("Alignment of ", stringify!(wtapng_section_mandatory_s))
24444    );
24445    assert_eq!(
24446        unsafe { ::std::ptr::addr_of!((*ptr).section_length) as usize - ptr as usize },
24447        0usize,
24448        concat!(
24449            "Offset of field: ",
24450            stringify!(wtapng_section_mandatory_s),
24451            "::",
24452            stringify!(section_length)
24453        )
24454    );
24455}
24456pub type wtapng_section_mandatory_t = wtapng_section_mandatory_s;
24457#[repr(C)]
24458#[derive(Debug, Copy, Clone)]
24459pub struct wtapng_iface_descriptions_s {
24460    pub interface_data: *mut GArray,
24461}
24462#[test]
24463fn bindgen_test_layout_wtapng_iface_descriptions_s() {
24464    const UNINIT: ::std::mem::MaybeUninit<wtapng_iface_descriptions_s> =
24465        ::std::mem::MaybeUninit::uninit();
24466    let ptr = UNINIT.as_ptr();
24467    assert_eq!(
24468        ::std::mem::size_of::<wtapng_iface_descriptions_s>(),
24469        8usize,
24470        concat!("Size of: ", stringify!(wtapng_iface_descriptions_s))
24471    );
24472    assert_eq!(
24473        ::std::mem::align_of::<wtapng_iface_descriptions_s>(),
24474        8usize,
24475        concat!("Alignment of ", stringify!(wtapng_iface_descriptions_s))
24476    );
24477    assert_eq!(
24478        unsafe { ::std::ptr::addr_of!((*ptr).interface_data) as usize - ptr as usize },
24479        0usize,
24480        concat!(
24481            "Offset of field: ",
24482            stringify!(wtapng_iface_descriptions_s),
24483            "::",
24484            stringify!(interface_data)
24485        )
24486    );
24487}
24488pub type wtapng_iface_descriptions_t = wtapng_iface_descriptions_s;
24489#[repr(C)]
24490#[derive(Debug, Copy, Clone)]
24491pub struct wtapng_if_descr_mandatory_s {
24492    pub wtap_encap: ::std::os::raw::c_int,
24493    pub time_units_per_second: guint64,
24494    pub tsprecision: ::std::os::raw::c_int,
24495    pub snap_len: guint32,
24496    pub num_stat_entries: guint8,
24497    pub interface_statistics: *mut GArray,
24498}
24499#[test]
24500fn bindgen_test_layout_wtapng_if_descr_mandatory_s() {
24501    const UNINIT: ::std::mem::MaybeUninit<wtapng_if_descr_mandatory_s> =
24502        ::std::mem::MaybeUninit::uninit();
24503    let ptr = UNINIT.as_ptr();
24504    assert_eq!(
24505        ::std::mem::size_of::<wtapng_if_descr_mandatory_s>(),
24506        40usize,
24507        concat!("Size of: ", stringify!(wtapng_if_descr_mandatory_s))
24508    );
24509    assert_eq!(
24510        ::std::mem::align_of::<wtapng_if_descr_mandatory_s>(),
24511        8usize,
24512        concat!("Alignment of ", stringify!(wtapng_if_descr_mandatory_s))
24513    );
24514    assert_eq!(
24515        unsafe { ::std::ptr::addr_of!((*ptr).wtap_encap) as usize - ptr as usize },
24516        0usize,
24517        concat!(
24518            "Offset of field: ",
24519            stringify!(wtapng_if_descr_mandatory_s),
24520            "::",
24521            stringify!(wtap_encap)
24522        )
24523    );
24524    assert_eq!(
24525        unsafe { ::std::ptr::addr_of!((*ptr).time_units_per_second) as usize - ptr as usize },
24526        8usize,
24527        concat!(
24528            "Offset of field: ",
24529            stringify!(wtapng_if_descr_mandatory_s),
24530            "::",
24531            stringify!(time_units_per_second)
24532        )
24533    );
24534    assert_eq!(
24535        unsafe { ::std::ptr::addr_of!((*ptr).tsprecision) as usize - ptr as usize },
24536        16usize,
24537        concat!(
24538            "Offset of field: ",
24539            stringify!(wtapng_if_descr_mandatory_s),
24540            "::",
24541            stringify!(tsprecision)
24542        )
24543    );
24544    assert_eq!(
24545        unsafe { ::std::ptr::addr_of!((*ptr).snap_len) as usize - ptr as usize },
24546        20usize,
24547        concat!(
24548            "Offset of field: ",
24549            stringify!(wtapng_if_descr_mandatory_s),
24550            "::",
24551            stringify!(snap_len)
24552        )
24553    );
24554    assert_eq!(
24555        unsafe { ::std::ptr::addr_of!((*ptr).num_stat_entries) as usize - ptr as usize },
24556        24usize,
24557        concat!(
24558            "Offset of field: ",
24559            stringify!(wtapng_if_descr_mandatory_s),
24560            "::",
24561            stringify!(num_stat_entries)
24562        )
24563    );
24564    assert_eq!(
24565        unsafe { ::std::ptr::addr_of!((*ptr).interface_statistics) as usize - ptr as usize },
24566        32usize,
24567        concat!(
24568            "Offset of field: ",
24569            stringify!(wtapng_if_descr_mandatory_s),
24570            "::",
24571            stringify!(interface_statistics)
24572        )
24573    );
24574}
24575pub type wtapng_if_descr_mandatory_t = wtapng_if_descr_mandatory_s;
24576#[repr(C)]
24577#[derive(Debug, Copy, Clone)]
24578pub struct wtapng_if_stats_mandatory_s {
24579    pub interface_id: guint32,
24580    pub ts_high: guint32,
24581    pub ts_low: guint32,
24582}
24583#[test]
24584fn bindgen_test_layout_wtapng_if_stats_mandatory_s() {
24585    const UNINIT: ::std::mem::MaybeUninit<wtapng_if_stats_mandatory_s> =
24586        ::std::mem::MaybeUninit::uninit();
24587    let ptr = UNINIT.as_ptr();
24588    assert_eq!(
24589        ::std::mem::size_of::<wtapng_if_stats_mandatory_s>(),
24590        12usize,
24591        concat!("Size of: ", stringify!(wtapng_if_stats_mandatory_s))
24592    );
24593    assert_eq!(
24594        ::std::mem::align_of::<wtapng_if_stats_mandatory_s>(),
24595        4usize,
24596        concat!("Alignment of ", stringify!(wtapng_if_stats_mandatory_s))
24597    );
24598    assert_eq!(
24599        unsafe { ::std::ptr::addr_of!((*ptr).interface_id) as usize - ptr as usize },
24600        0usize,
24601        concat!(
24602            "Offset of field: ",
24603            stringify!(wtapng_if_stats_mandatory_s),
24604            "::",
24605            stringify!(interface_id)
24606        )
24607    );
24608    assert_eq!(
24609        unsafe { ::std::ptr::addr_of!((*ptr).ts_high) as usize - ptr as usize },
24610        4usize,
24611        concat!(
24612            "Offset of field: ",
24613            stringify!(wtapng_if_stats_mandatory_s),
24614            "::",
24615            stringify!(ts_high)
24616        )
24617    );
24618    assert_eq!(
24619        unsafe { ::std::ptr::addr_of!((*ptr).ts_low) as usize - ptr as usize },
24620        8usize,
24621        concat!(
24622            "Offset of field: ",
24623            stringify!(wtapng_if_stats_mandatory_s),
24624            "::",
24625            stringify!(ts_low)
24626        )
24627    );
24628}
24629pub type wtapng_if_stats_mandatory_t = wtapng_if_stats_mandatory_s;
24630#[repr(C)]
24631#[derive(Debug, Copy, Clone)]
24632pub struct wtapng_dsb_mandatory_s {
24633    pub secrets_type: guint32,
24634    pub secrets_len: guint32,
24635    pub secrets_data: *mut guint8,
24636}
24637#[test]
24638fn bindgen_test_layout_wtapng_dsb_mandatory_s() {
24639    const UNINIT: ::std::mem::MaybeUninit<wtapng_dsb_mandatory_s> =
24640        ::std::mem::MaybeUninit::uninit();
24641    let ptr = UNINIT.as_ptr();
24642    assert_eq!(
24643        ::std::mem::size_of::<wtapng_dsb_mandatory_s>(),
24644        16usize,
24645        concat!("Size of: ", stringify!(wtapng_dsb_mandatory_s))
24646    );
24647    assert_eq!(
24648        ::std::mem::align_of::<wtapng_dsb_mandatory_s>(),
24649        8usize,
24650        concat!("Alignment of ", stringify!(wtapng_dsb_mandatory_s))
24651    );
24652    assert_eq!(
24653        unsafe { ::std::ptr::addr_of!((*ptr).secrets_type) as usize - ptr as usize },
24654        0usize,
24655        concat!(
24656            "Offset of field: ",
24657            stringify!(wtapng_dsb_mandatory_s),
24658            "::",
24659            stringify!(secrets_type)
24660        )
24661    );
24662    assert_eq!(
24663        unsafe { ::std::ptr::addr_of!((*ptr).secrets_len) as usize - ptr as usize },
24664        4usize,
24665        concat!(
24666            "Offset of field: ",
24667            stringify!(wtapng_dsb_mandatory_s),
24668            "::",
24669            stringify!(secrets_len)
24670        )
24671    );
24672    assert_eq!(
24673        unsafe { ::std::ptr::addr_of!((*ptr).secrets_data) as usize - ptr as usize },
24674        8usize,
24675        concat!(
24676            "Offset of field: ",
24677            stringify!(wtapng_dsb_mandatory_s),
24678            "::",
24679            stringify!(secrets_data)
24680        )
24681    );
24682}
24683pub type wtapng_dsb_mandatory_t = wtapng_dsb_mandatory_s;
24684#[repr(C)]
24685#[derive(Debug, Copy, Clone)]
24686pub struct wtapng_ft_specific_mandatory_s {
24687    pub record_type: guint,
24688}
24689#[test]
24690fn bindgen_test_layout_wtapng_ft_specific_mandatory_s() {
24691    const UNINIT: ::std::mem::MaybeUninit<wtapng_ft_specific_mandatory_s> =
24692        ::std::mem::MaybeUninit::uninit();
24693    let ptr = UNINIT.as_ptr();
24694    assert_eq!(
24695        ::std::mem::size_of::<wtapng_ft_specific_mandatory_s>(),
24696        4usize,
24697        concat!("Size of: ", stringify!(wtapng_ft_specific_mandatory_s))
24698    );
24699    assert_eq!(
24700        ::std::mem::align_of::<wtapng_ft_specific_mandatory_s>(),
24701        4usize,
24702        concat!("Alignment of ", stringify!(wtapng_ft_specific_mandatory_s))
24703    );
24704    assert_eq!(
24705        unsafe { ::std::ptr::addr_of!((*ptr).record_type) as usize - ptr as usize },
24706        0usize,
24707        concat!(
24708            "Offset of field: ",
24709            stringify!(wtapng_ft_specific_mandatory_s),
24710            "::",
24711            stringify!(record_type)
24712        )
24713    );
24714}
24715pub type wtapng_ft_specific_mandatory_t = wtapng_ft_specific_mandatory_s;
24716pub const wtap_opttype_e_WTAP_OPTTYPE_UINT8: wtap_opttype_e = 0;
24717pub const wtap_opttype_e_WTAP_OPTTYPE_UINT32: wtap_opttype_e = 1;
24718pub const wtap_opttype_e_WTAP_OPTTYPE_UINT64: wtap_opttype_e = 2;
24719pub const wtap_opttype_e_WTAP_OPTTYPE_STRING: wtap_opttype_e = 3;
24720pub const wtap_opttype_e_WTAP_OPTTYPE_BYTES: wtap_opttype_e = 4;
24721pub const wtap_opttype_e_WTAP_OPTTYPE_IPv4: wtap_opttype_e = 5;
24722pub const wtap_opttype_e_WTAP_OPTTYPE_IPv6: wtap_opttype_e = 6;
24723pub const wtap_opttype_e_WTAP_OPTTYPE_CUSTOM: wtap_opttype_e = 7;
24724pub const wtap_opttype_e_WTAP_OPTTYPE_IF_FILTER: wtap_opttype_e = 8;
24725pub const wtap_opttype_e_WTAP_OPTTYPE_PACKET_VERDICT: wtap_opttype_e = 9;
24726pub type wtap_opttype_e = ::std::os::raw::c_uint;
24727pub const wtap_opttype_return_val_WTAP_OPTTYPE_SUCCESS: wtap_opttype_return_val = 0;
24728pub const wtap_opttype_return_val_WTAP_OPTTYPE_NO_SUCH_OPTION: wtap_opttype_return_val = -1;
24729pub const wtap_opttype_return_val_WTAP_OPTTYPE_NOT_FOUND: wtap_opttype_return_val = -2;
24730pub const wtap_opttype_return_val_WTAP_OPTTYPE_TYPE_MISMATCH: wtap_opttype_return_val = -3;
24731pub const wtap_opttype_return_val_WTAP_OPTTYPE_NUMBER_MISMATCH: wtap_opttype_return_val = -4;
24732pub const wtap_opttype_return_val_WTAP_OPTTYPE_ALREADY_EXISTS: wtap_opttype_return_val = -5;
24733pub const wtap_opttype_return_val_WTAP_OPTTYPE_BAD_BLOCK: wtap_opttype_return_val = -6;
24734pub type wtap_opttype_return_val = ::std::os::raw::c_int;
24735#[repr(C)]
24736#[derive(Copy, Clone)]
24737pub struct custom_opt_s {
24738    pub pen: guint32,
24739    pub data: custom_opt_s__bindgen_ty_1,
24740}
24741#[repr(C)]
24742#[derive(Copy, Clone)]
24743pub union custom_opt_s__bindgen_ty_1 {
24744    pub generic_data: custom_opt_s__bindgen_ty_1_generic_custom_opt_data,
24745    pub nflx_data: custom_opt_s__bindgen_ty_1_nflx_custom_opt_data,
24746}
24747#[repr(C)]
24748#[derive(Debug, Copy, Clone)]
24749pub struct custom_opt_s__bindgen_ty_1_generic_custom_opt_data {
24750    pub custom_data_len: gsize,
24751    pub custom_data: *mut gchar,
24752}
24753#[test]
24754fn bindgen_test_layout_custom_opt_s__bindgen_ty_1_generic_custom_opt_data() {
24755    const UNINIT: ::std::mem::MaybeUninit<custom_opt_s__bindgen_ty_1_generic_custom_opt_data> =
24756        ::std::mem::MaybeUninit::uninit();
24757    let ptr = UNINIT.as_ptr();
24758    assert_eq!(
24759        ::std::mem::size_of::<custom_opt_s__bindgen_ty_1_generic_custom_opt_data>(),
24760        16usize,
24761        concat!(
24762            "Size of: ",
24763            stringify!(custom_opt_s__bindgen_ty_1_generic_custom_opt_data)
24764        )
24765    );
24766    assert_eq!(
24767        ::std::mem::align_of::<custom_opt_s__bindgen_ty_1_generic_custom_opt_data>(),
24768        8usize,
24769        concat!(
24770            "Alignment of ",
24771            stringify!(custom_opt_s__bindgen_ty_1_generic_custom_opt_data)
24772        )
24773    );
24774    assert_eq!(
24775        unsafe { ::std::ptr::addr_of!((*ptr).custom_data_len) as usize - ptr as usize },
24776        0usize,
24777        concat!(
24778            "Offset of field: ",
24779            stringify!(custom_opt_s__bindgen_ty_1_generic_custom_opt_data),
24780            "::",
24781            stringify!(custom_data_len)
24782        )
24783    );
24784    assert_eq!(
24785        unsafe { ::std::ptr::addr_of!((*ptr).custom_data) as usize - ptr as usize },
24786        8usize,
24787        concat!(
24788            "Offset of field: ",
24789            stringify!(custom_opt_s__bindgen_ty_1_generic_custom_opt_data),
24790            "::",
24791            stringify!(custom_data)
24792        )
24793    );
24794}
24795#[repr(C)]
24796#[derive(Debug, Copy, Clone)]
24797pub struct custom_opt_s__bindgen_ty_1_nflx_custom_opt_data {
24798    pub type_: guint32,
24799    pub custom_data_len: gsize,
24800    pub custom_data: *mut gchar,
24801    pub use_little_endian: gboolean,
24802}
24803#[test]
24804fn bindgen_test_layout_custom_opt_s__bindgen_ty_1_nflx_custom_opt_data() {
24805    const UNINIT: ::std::mem::MaybeUninit<custom_opt_s__bindgen_ty_1_nflx_custom_opt_data> =
24806        ::std::mem::MaybeUninit::uninit();
24807    let ptr = UNINIT.as_ptr();
24808    assert_eq!(
24809        ::std::mem::size_of::<custom_opt_s__bindgen_ty_1_nflx_custom_opt_data>(),
24810        32usize,
24811        concat!(
24812            "Size of: ",
24813            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data)
24814        )
24815    );
24816    assert_eq!(
24817        ::std::mem::align_of::<custom_opt_s__bindgen_ty_1_nflx_custom_opt_data>(),
24818        8usize,
24819        concat!(
24820            "Alignment of ",
24821            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data)
24822        )
24823    );
24824    assert_eq!(
24825        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
24826        0usize,
24827        concat!(
24828            "Offset of field: ",
24829            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data),
24830            "::",
24831            stringify!(type_)
24832        )
24833    );
24834    assert_eq!(
24835        unsafe { ::std::ptr::addr_of!((*ptr).custom_data_len) as usize - ptr as usize },
24836        8usize,
24837        concat!(
24838            "Offset of field: ",
24839            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data),
24840            "::",
24841            stringify!(custom_data_len)
24842        )
24843    );
24844    assert_eq!(
24845        unsafe { ::std::ptr::addr_of!((*ptr).custom_data) as usize - ptr as usize },
24846        16usize,
24847        concat!(
24848            "Offset of field: ",
24849            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data),
24850            "::",
24851            stringify!(custom_data)
24852        )
24853    );
24854    assert_eq!(
24855        unsafe { ::std::ptr::addr_of!((*ptr).use_little_endian) as usize - ptr as usize },
24856        24usize,
24857        concat!(
24858            "Offset of field: ",
24859            stringify!(custom_opt_s__bindgen_ty_1_nflx_custom_opt_data),
24860            "::",
24861            stringify!(use_little_endian)
24862        )
24863    );
24864}
24865#[test]
24866fn bindgen_test_layout_custom_opt_s__bindgen_ty_1() {
24867    const UNINIT: ::std::mem::MaybeUninit<custom_opt_s__bindgen_ty_1> =
24868        ::std::mem::MaybeUninit::uninit();
24869    let ptr = UNINIT.as_ptr();
24870    assert_eq!(
24871        ::std::mem::size_of::<custom_opt_s__bindgen_ty_1>(),
24872        32usize,
24873        concat!("Size of: ", stringify!(custom_opt_s__bindgen_ty_1))
24874    );
24875    assert_eq!(
24876        ::std::mem::align_of::<custom_opt_s__bindgen_ty_1>(),
24877        8usize,
24878        concat!("Alignment of ", stringify!(custom_opt_s__bindgen_ty_1))
24879    );
24880    assert_eq!(
24881        unsafe { ::std::ptr::addr_of!((*ptr).generic_data) as usize - ptr as usize },
24882        0usize,
24883        concat!(
24884            "Offset of field: ",
24885            stringify!(custom_opt_s__bindgen_ty_1),
24886            "::",
24887            stringify!(generic_data)
24888        )
24889    );
24890    assert_eq!(
24891        unsafe { ::std::ptr::addr_of!((*ptr).nflx_data) as usize - ptr as usize },
24892        0usize,
24893        concat!(
24894            "Offset of field: ",
24895            stringify!(custom_opt_s__bindgen_ty_1),
24896            "::",
24897            stringify!(nflx_data)
24898        )
24899    );
24900}
24901#[test]
24902fn bindgen_test_layout_custom_opt_s() {
24903    const UNINIT: ::std::mem::MaybeUninit<custom_opt_s> = ::std::mem::MaybeUninit::uninit();
24904    let ptr = UNINIT.as_ptr();
24905    assert_eq!(
24906        ::std::mem::size_of::<custom_opt_s>(),
24907        40usize,
24908        concat!("Size of: ", stringify!(custom_opt_s))
24909    );
24910    assert_eq!(
24911        ::std::mem::align_of::<custom_opt_s>(),
24912        8usize,
24913        concat!("Alignment of ", stringify!(custom_opt_s))
24914    );
24915    assert_eq!(
24916        unsafe { ::std::ptr::addr_of!((*ptr).pen) as usize - ptr as usize },
24917        0usize,
24918        concat!(
24919            "Offset of field: ",
24920            stringify!(custom_opt_s),
24921            "::",
24922            stringify!(pen)
24923        )
24924    );
24925    assert_eq!(
24926        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
24927        8usize,
24928        concat!(
24929            "Offset of field: ",
24930            stringify!(custom_opt_s),
24931            "::",
24932            stringify!(data)
24933        )
24934    );
24935}
24936pub type custom_opt_t = custom_opt_s;
24937#[repr(C)]
24938#[derive(Debug, Copy, Clone)]
24939pub struct nflx_custom_opt_s {
24940    pub nflx_use_little_endian: gboolean,
24941    pub nflx_type: guint32,
24942    pub nflx_custom_data_len: gsize,
24943    pub nflx_custom_data: *mut gchar,
24944}
24945#[test]
24946fn bindgen_test_layout_nflx_custom_opt_s() {
24947    const UNINIT: ::std::mem::MaybeUninit<nflx_custom_opt_s> = ::std::mem::MaybeUninit::uninit();
24948    let ptr = UNINIT.as_ptr();
24949    assert_eq!(
24950        ::std::mem::size_of::<nflx_custom_opt_s>(),
24951        24usize,
24952        concat!("Size of: ", stringify!(nflx_custom_opt_s))
24953    );
24954    assert_eq!(
24955        ::std::mem::align_of::<nflx_custom_opt_s>(),
24956        8usize,
24957        concat!("Alignment of ", stringify!(nflx_custom_opt_s))
24958    );
24959    assert_eq!(
24960        unsafe { ::std::ptr::addr_of!((*ptr).nflx_use_little_endian) as usize - ptr as usize },
24961        0usize,
24962        concat!(
24963            "Offset of field: ",
24964            stringify!(nflx_custom_opt_s),
24965            "::",
24966            stringify!(nflx_use_little_endian)
24967        )
24968    );
24969    assert_eq!(
24970        unsafe { ::std::ptr::addr_of!((*ptr).nflx_type) as usize - ptr as usize },
24971        4usize,
24972        concat!(
24973            "Offset of field: ",
24974            stringify!(nflx_custom_opt_s),
24975            "::",
24976            stringify!(nflx_type)
24977        )
24978    );
24979    assert_eq!(
24980        unsafe { ::std::ptr::addr_of!((*ptr).nflx_custom_data_len) as usize - ptr as usize },
24981        8usize,
24982        concat!(
24983            "Offset of field: ",
24984            stringify!(nflx_custom_opt_s),
24985            "::",
24986            stringify!(nflx_custom_data_len)
24987        )
24988    );
24989    assert_eq!(
24990        unsafe { ::std::ptr::addr_of!((*ptr).nflx_custom_data) as usize - ptr as usize },
24991        16usize,
24992        concat!(
24993            "Offset of field: ",
24994            stringify!(nflx_custom_opt_s),
24995            "::",
24996            stringify!(nflx_custom_data)
24997        )
24998    );
24999}
25000pub type nflx_custom_opt_t = nflx_custom_opt_s;
25001#[repr(C)]
25002#[derive(Debug, Copy, Clone)]
25003pub struct wtap_bpf_insn_s {
25004    pub code: guint16,
25005    pub jt: guint8,
25006    pub jf: guint8,
25007    pub k: guint32,
25008}
25009#[test]
25010fn bindgen_test_layout_wtap_bpf_insn_s() {
25011    const UNINIT: ::std::mem::MaybeUninit<wtap_bpf_insn_s> = ::std::mem::MaybeUninit::uninit();
25012    let ptr = UNINIT.as_ptr();
25013    assert_eq!(
25014        ::std::mem::size_of::<wtap_bpf_insn_s>(),
25015        8usize,
25016        concat!("Size of: ", stringify!(wtap_bpf_insn_s))
25017    );
25018    assert_eq!(
25019        ::std::mem::align_of::<wtap_bpf_insn_s>(),
25020        4usize,
25021        concat!("Alignment of ", stringify!(wtap_bpf_insn_s))
25022    );
25023    assert_eq!(
25024        unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
25025        0usize,
25026        concat!(
25027            "Offset of field: ",
25028            stringify!(wtap_bpf_insn_s),
25029            "::",
25030            stringify!(code)
25031        )
25032    );
25033    assert_eq!(
25034        unsafe { ::std::ptr::addr_of!((*ptr).jt) as usize - ptr as usize },
25035        2usize,
25036        concat!(
25037            "Offset of field: ",
25038            stringify!(wtap_bpf_insn_s),
25039            "::",
25040            stringify!(jt)
25041        )
25042    );
25043    assert_eq!(
25044        unsafe { ::std::ptr::addr_of!((*ptr).jf) as usize - ptr as usize },
25045        3usize,
25046        concat!(
25047            "Offset of field: ",
25048            stringify!(wtap_bpf_insn_s),
25049            "::",
25050            stringify!(jf)
25051        )
25052    );
25053    assert_eq!(
25054        unsafe { ::std::ptr::addr_of!((*ptr).k) as usize - ptr as usize },
25055        4usize,
25056        concat!(
25057            "Offset of field: ",
25058            stringify!(wtap_bpf_insn_s),
25059            "::",
25060            stringify!(k)
25061        )
25062    );
25063}
25064pub type wtap_bpf_insn_t = wtap_bpf_insn_s;
25065pub const if_filter_type_e_if_filter_pcap: if_filter_type_e = 0;
25066pub const if_filter_type_e_if_filter_bpf: if_filter_type_e = 1;
25067pub type if_filter_type_e = ::std::os::raw::c_uint;
25068#[repr(C)]
25069#[derive(Copy, Clone)]
25070pub struct if_filter_opt_s {
25071    pub type_: if_filter_type_e,
25072    pub data: if_filter_opt_s__bindgen_ty_1,
25073}
25074#[repr(C)]
25075#[derive(Copy, Clone)]
25076pub union if_filter_opt_s__bindgen_ty_1 {
25077    pub filter_str: *mut gchar,
25078    pub bpf_prog: if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns,
25079}
25080#[repr(C)]
25081#[derive(Debug, Copy, Clone)]
25082pub struct if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns {
25083    pub bpf_prog_len: guint,
25084    pub bpf_prog: *mut wtap_bpf_insn_t,
25085}
25086#[test]
25087fn bindgen_test_layout_if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns() {
25088    const UNINIT: ::std::mem::MaybeUninit<if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns> =
25089        ::std::mem::MaybeUninit::uninit();
25090    let ptr = UNINIT.as_ptr();
25091    assert_eq!(
25092        ::std::mem::size_of::<if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns>(),
25093        16usize,
25094        concat!(
25095            "Size of: ",
25096            stringify!(if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns)
25097        )
25098    );
25099    assert_eq!(
25100        ::std::mem::align_of::<if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns>(),
25101        8usize,
25102        concat!(
25103            "Alignment of ",
25104            stringify!(if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns)
25105        )
25106    );
25107    assert_eq!(
25108        unsafe { ::std::ptr::addr_of!((*ptr).bpf_prog_len) as usize - ptr as usize },
25109        0usize,
25110        concat!(
25111            "Offset of field: ",
25112            stringify!(if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns),
25113            "::",
25114            stringify!(bpf_prog_len)
25115        )
25116    );
25117    assert_eq!(
25118        unsafe { ::std::ptr::addr_of!((*ptr).bpf_prog) as usize - ptr as usize },
25119        8usize,
25120        concat!(
25121            "Offset of field: ",
25122            stringify!(if_filter_opt_s__bindgen_ty_1_wtap_bpf_insns),
25123            "::",
25124            stringify!(bpf_prog)
25125        )
25126    );
25127}
25128#[test]
25129fn bindgen_test_layout_if_filter_opt_s__bindgen_ty_1() {
25130    const UNINIT: ::std::mem::MaybeUninit<if_filter_opt_s__bindgen_ty_1> =
25131        ::std::mem::MaybeUninit::uninit();
25132    let ptr = UNINIT.as_ptr();
25133    assert_eq!(
25134        ::std::mem::size_of::<if_filter_opt_s__bindgen_ty_1>(),
25135        16usize,
25136        concat!("Size of: ", stringify!(if_filter_opt_s__bindgen_ty_1))
25137    );
25138    assert_eq!(
25139        ::std::mem::align_of::<if_filter_opt_s__bindgen_ty_1>(),
25140        8usize,
25141        concat!("Alignment of ", stringify!(if_filter_opt_s__bindgen_ty_1))
25142    );
25143    assert_eq!(
25144        unsafe { ::std::ptr::addr_of!((*ptr).filter_str) as usize - ptr as usize },
25145        0usize,
25146        concat!(
25147            "Offset of field: ",
25148            stringify!(if_filter_opt_s__bindgen_ty_1),
25149            "::",
25150            stringify!(filter_str)
25151        )
25152    );
25153    assert_eq!(
25154        unsafe { ::std::ptr::addr_of!((*ptr).bpf_prog) as usize - ptr as usize },
25155        0usize,
25156        concat!(
25157            "Offset of field: ",
25158            stringify!(if_filter_opt_s__bindgen_ty_1),
25159            "::",
25160            stringify!(bpf_prog)
25161        )
25162    );
25163}
25164#[test]
25165fn bindgen_test_layout_if_filter_opt_s() {
25166    const UNINIT: ::std::mem::MaybeUninit<if_filter_opt_s> = ::std::mem::MaybeUninit::uninit();
25167    let ptr = UNINIT.as_ptr();
25168    assert_eq!(
25169        ::std::mem::size_of::<if_filter_opt_s>(),
25170        24usize,
25171        concat!("Size of: ", stringify!(if_filter_opt_s))
25172    );
25173    assert_eq!(
25174        ::std::mem::align_of::<if_filter_opt_s>(),
25175        8usize,
25176        concat!("Alignment of ", stringify!(if_filter_opt_s))
25177    );
25178    assert_eq!(
25179        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25180        0usize,
25181        concat!(
25182            "Offset of field: ",
25183            stringify!(if_filter_opt_s),
25184            "::",
25185            stringify!(type_)
25186        )
25187    );
25188    assert_eq!(
25189        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
25190        8usize,
25191        concat!(
25192            "Offset of field: ",
25193            stringify!(if_filter_opt_s),
25194            "::",
25195            stringify!(data)
25196        )
25197    );
25198}
25199pub type if_filter_opt_t = if_filter_opt_s;
25200pub const packet_verdict_type_e_packet_verdict_hardware: packet_verdict_type_e = 0;
25201pub const packet_verdict_type_e_packet_verdict_linux_ebpf_tc: packet_verdict_type_e = 1;
25202pub const packet_verdict_type_e_packet_verdict_linux_ebpf_xdp: packet_verdict_type_e = 2;
25203pub type packet_verdict_type_e = ::std::os::raw::c_uint;
25204#[repr(C)]
25205#[derive(Copy, Clone)]
25206pub struct packet_verdict_opt_s {
25207    pub type_: packet_verdict_type_e,
25208    pub data: packet_verdict_opt_s__bindgen_ty_1,
25209}
25210#[repr(C)]
25211#[derive(Copy, Clone)]
25212pub union packet_verdict_opt_s__bindgen_ty_1 {
25213    pub verdict_bytes: *mut GByteArray,
25214    pub verdict_linux_ebpf_tc: guint64,
25215    pub verdict_linux_ebpf_xdp: guint64,
25216}
25217#[test]
25218fn bindgen_test_layout_packet_verdict_opt_s__bindgen_ty_1() {
25219    const UNINIT: ::std::mem::MaybeUninit<packet_verdict_opt_s__bindgen_ty_1> =
25220        ::std::mem::MaybeUninit::uninit();
25221    let ptr = UNINIT.as_ptr();
25222    assert_eq!(
25223        ::std::mem::size_of::<packet_verdict_opt_s__bindgen_ty_1>(),
25224        8usize,
25225        concat!("Size of: ", stringify!(packet_verdict_opt_s__bindgen_ty_1))
25226    );
25227    assert_eq!(
25228        ::std::mem::align_of::<packet_verdict_opt_s__bindgen_ty_1>(),
25229        8usize,
25230        concat!(
25231            "Alignment of ",
25232            stringify!(packet_verdict_opt_s__bindgen_ty_1)
25233        )
25234    );
25235    assert_eq!(
25236        unsafe { ::std::ptr::addr_of!((*ptr).verdict_bytes) as usize - ptr as usize },
25237        0usize,
25238        concat!(
25239            "Offset of field: ",
25240            stringify!(packet_verdict_opt_s__bindgen_ty_1),
25241            "::",
25242            stringify!(verdict_bytes)
25243        )
25244    );
25245    assert_eq!(
25246        unsafe { ::std::ptr::addr_of!((*ptr).verdict_linux_ebpf_tc) as usize - ptr as usize },
25247        0usize,
25248        concat!(
25249            "Offset of field: ",
25250            stringify!(packet_verdict_opt_s__bindgen_ty_1),
25251            "::",
25252            stringify!(verdict_linux_ebpf_tc)
25253        )
25254    );
25255    assert_eq!(
25256        unsafe { ::std::ptr::addr_of!((*ptr).verdict_linux_ebpf_xdp) as usize - ptr as usize },
25257        0usize,
25258        concat!(
25259            "Offset of field: ",
25260            stringify!(packet_verdict_opt_s__bindgen_ty_1),
25261            "::",
25262            stringify!(verdict_linux_ebpf_xdp)
25263        )
25264    );
25265}
25266#[test]
25267fn bindgen_test_layout_packet_verdict_opt_s() {
25268    const UNINIT: ::std::mem::MaybeUninit<packet_verdict_opt_s> = ::std::mem::MaybeUninit::uninit();
25269    let ptr = UNINIT.as_ptr();
25270    assert_eq!(
25271        ::std::mem::size_of::<packet_verdict_opt_s>(),
25272        16usize,
25273        concat!("Size of: ", stringify!(packet_verdict_opt_s))
25274    );
25275    assert_eq!(
25276        ::std::mem::align_of::<packet_verdict_opt_s>(),
25277        8usize,
25278        concat!("Alignment of ", stringify!(packet_verdict_opt_s))
25279    );
25280    assert_eq!(
25281        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25282        0usize,
25283        concat!(
25284            "Offset of field: ",
25285            stringify!(packet_verdict_opt_s),
25286            "::",
25287            stringify!(type_)
25288        )
25289    );
25290    assert_eq!(
25291        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
25292        8usize,
25293        concat!(
25294            "Offset of field: ",
25295            stringify!(packet_verdict_opt_s),
25296            "::",
25297            stringify!(data)
25298        )
25299    );
25300}
25301pub type packet_verdict_opt_t = packet_verdict_opt_s;
25302#[repr(C)]
25303#[derive(Copy, Clone)]
25304pub union wtap_optval_t {
25305    pub uint8val: guint8,
25306    pub uint32val: guint32,
25307    pub uint64val: guint64,
25308    pub ipv4val: ws_in4_addr,
25309    pub ipv6val: ws_in6_addr,
25310    pub stringval: *mut ::std::os::raw::c_char,
25311    pub byteval: *mut GBytes,
25312    pub custom_opt: custom_opt_t,
25313    pub if_filterval: if_filter_opt_t,
25314    pub packet_verdictval: packet_verdict_opt_t,
25315}
25316#[test]
25317fn bindgen_test_layout_wtap_optval_t() {
25318    const UNINIT: ::std::mem::MaybeUninit<wtap_optval_t> = ::std::mem::MaybeUninit::uninit();
25319    let ptr = UNINIT.as_ptr();
25320    assert_eq!(
25321        ::std::mem::size_of::<wtap_optval_t>(),
25322        40usize,
25323        concat!("Size of: ", stringify!(wtap_optval_t))
25324    );
25325    assert_eq!(
25326        ::std::mem::align_of::<wtap_optval_t>(),
25327        8usize,
25328        concat!("Alignment of ", stringify!(wtap_optval_t))
25329    );
25330    assert_eq!(
25331        unsafe { ::std::ptr::addr_of!((*ptr).uint8val) as usize - ptr as usize },
25332        0usize,
25333        concat!(
25334            "Offset of field: ",
25335            stringify!(wtap_optval_t),
25336            "::",
25337            stringify!(uint8val)
25338        )
25339    );
25340    assert_eq!(
25341        unsafe { ::std::ptr::addr_of!((*ptr).uint32val) as usize - ptr as usize },
25342        0usize,
25343        concat!(
25344            "Offset of field: ",
25345            stringify!(wtap_optval_t),
25346            "::",
25347            stringify!(uint32val)
25348        )
25349    );
25350    assert_eq!(
25351        unsafe { ::std::ptr::addr_of!((*ptr).uint64val) as usize - ptr as usize },
25352        0usize,
25353        concat!(
25354            "Offset of field: ",
25355            stringify!(wtap_optval_t),
25356            "::",
25357            stringify!(uint64val)
25358        )
25359    );
25360    assert_eq!(
25361        unsafe { ::std::ptr::addr_of!((*ptr).ipv4val) as usize - ptr as usize },
25362        0usize,
25363        concat!(
25364            "Offset of field: ",
25365            stringify!(wtap_optval_t),
25366            "::",
25367            stringify!(ipv4val)
25368        )
25369    );
25370    assert_eq!(
25371        unsafe { ::std::ptr::addr_of!((*ptr).ipv6val) as usize - ptr as usize },
25372        0usize,
25373        concat!(
25374            "Offset of field: ",
25375            stringify!(wtap_optval_t),
25376            "::",
25377            stringify!(ipv6val)
25378        )
25379    );
25380    assert_eq!(
25381        unsafe { ::std::ptr::addr_of!((*ptr).stringval) as usize - ptr as usize },
25382        0usize,
25383        concat!(
25384            "Offset of field: ",
25385            stringify!(wtap_optval_t),
25386            "::",
25387            stringify!(stringval)
25388        )
25389    );
25390    assert_eq!(
25391        unsafe { ::std::ptr::addr_of!((*ptr).byteval) as usize - ptr as usize },
25392        0usize,
25393        concat!(
25394            "Offset of field: ",
25395            stringify!(wtap_optval_t),
25396            "::",
25397            stringify!(byteval)
25398        )
25399    );
25400    assert_eq!(
25401        unsafe { ::std::ptr::addr_of!((*ptr).custom_opt) as usize - ptr as usize },
25402        0usize,
25403        concat!(
25404            "Offset of field: ",
25405            stringify!(wtap_optval_t),
25406            "::",
25407            stringify!(custom_opt)
25408        )
25409    );
25410    assert_eq!(
25411        unsafe { ::std::ptr::addr_of!((*ptr).if_filterval) as usize - ptr as usize },
25412        0usize,
25413        concat!(
25414            "Offset of field: ",
25415            stringify!(wtap_optval_t),
25416            "::",
25417            stringify!(if_filterval)
25418        )
25419    );
25420    assert_eq!(
25421        unsafe { ::std::ptr::addr_of!((*ptr).packet_verdictval) as usize - ptr as usize },
25422        0usize,
25423        concat!(
25424            "Offset of field: ",
25425            stringify!(wtap_optval_t),
25426            "::",
25427            stringify!(packet_verdictval)
25428        )
25429    );
25430}
25431#[repr(C)]
25432#[derive(Copy, Clone)]
25433pub struct wtap_option_t {
25434    pub option_id: guint,
25435    pub value: wtap_optval_t,
25436}
25437#[test]
25438fn bindgen_test_layout_wtap_option_t() {
25439    const UNINIT: ::std::mem::MaybeUninit<wtap_option_t> = ::std::mem::MaybeUninit::uninit();
25440    let ptr = UNINIT.as_ptr();
25441    assert_eq!(
25442        ::std::mem::size_of::<wtap_option_t>(),
25443        48usize,
25444        concat!("Size of: ", stringify!(wtap_option_t))
25445    );
25446    assert_eq!(
25447        ::std::mem::align_of::<wtap_option_t>(),
25448        8usize,
25449        concat!("Alignment of ", stringify!(wtap_option_t))
25450    );
25451    assert_eq!(
25452        unsafe { ::std::ptr::addr_of!((*ptr).option_id) as usize - ptr as usize },
25453        0usize,
25454        concat!(
25455            "Offset of field: ",
25456            stringify!(wtap_option_t),
25457            "::",
25458            stringify!(option_id)
25459        )
25460    );
25461    assert_eq!(
25462        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
25463        8usize,
25464        concat!(
25465            "Offset of field: ",
25466            stringify!(wtap_option_t),
25467            "::",
25468            stringify!(value)
25469        )
25470    );
25471}
25472#[repr(C)]
25473#[derive(Debug, Copy, Clone)]
25474pub struct nflx_dumpinfo {
25475    pub tlh_version: guint32,
25476    pub tlh_type: guint32,
25477    pub tlh_length: guint64,
25478    pub tlh_ie_fport: guint16,
25479    pub tlh_ie_lport: guint16,
25480    pub tlh_ie_faddr_addr32: [guint32; 4usize],
25481    pub tlh_ie_laddr_addr32: [guint32; 4usize],
25482    pub tlh_ie_zoneid: guint32,
25483    pub tlh_offset_tv_sec: guint64,
25484    pub tlh_offset_tv_usec: guint64,
25485    pub tlh_id: [::std::os::raw::c_char; 64usize],
25486    pub tlh_reason: [::std::os::raw::c_char; 32usize],
25487    pub tlh_tag: [::std::os::raw::c_char; 32usize],
25488    pub tlh_af: guint8,
25489    pub _pad: [guint8; 7usize],
25490}
25491#[test]
25492fn bindgen_test_layout_nflx_dumpinfo() {
25493    const UNINIT: ::std::mem::MaybeUninit<nflx_dumpinfo> = ::std::mem::MaybeUninit::uninit();
25494    let ptr = UNINIT.as_ptr();
25495    assert_eq!(
25496        ::std::mem::size_of::<nflx_dumpinfo>(),
25497        208usize,
25498        concat!("Size of: ", stringify!(nflx_dumpinfo))
25499    );
25500    assert_eq!(
25501        ::std::mem::align_of::<nflx_dumpinfo>(),
25502        8usize,
25503        concat!("Alignment of ", stringify!(nflx_dumpinfo))
25504    );
25505    assert_eq!(
25506        unsafe { ::std::ptr::addr_of!((*ptr).tlh_version) as usize - ptr as usize },
25507        0usize,
25508        concat!(
25509            "Offset of field: ",
25510            stringify!(nflx_dumpinfo),
25511            "::",
25512            stringify!(tlh_version)
25513        )
25514    );
25515    assert_eq!(
25516        unsafe { ::std::ptr::addr_of!((*ptr).tlh_type) as usize - ptr as usize },
25517        4usize,
25518        concat!(
25519            "Offset of field: ",
25520            stringify!(nflx_dumpinfo),
25521            "::",
25522            stringify!(tlh_type)
25523        )
25524    );
25525    assert_eq!(
25526        unsafe { ::std::ptr::addr_of!((*ptr).tlh_length) as usize - ptr as usize },
25527        8usize,
25528        concat!(
25529            "Offset of field: ",
25530            stringify!(nflx_dumpinfo),
25531            "::",
25532            stringify!(tlh_length)
25533        )
25534    );
25535    assert_eq!(
25536        unsafe { ::std::ptr::addr_of!((*ptr).tlh_ie_fport) as usize - ptr as usize },
25537        16usize,
25538        concat!(
25539            "Offset of field: ",
25540            stringify!(nflx_dumpinfo),
25541            "::",
25542            stringify!(tlh_ie_fport)
25543        )
25544    );
25545    assert_eq!(
25546        unsafe { ::std::ptr::addr_of!((*ptr).tlh_ie_lport) as usize - ptr as usize },
25547        18usize,
25548        concat!(
25549            "Offset of field: ",
25550            stringify!(nflx_dumpinfo),
25551            "::",
25552            stringify!(tlh_ie_lport)
25553        )
25554    );
25555    assert_eq!(
25556        unsafe { ::std::ptr::addr_of!((*ptr).tlh_ie_faddr_addr32) as usize - ptr as usize },
25557        20usize,
25558        concat!(
25559            "Offset of field: ",
25560            stringify!(nflx_dumpinfo),
25561            "::",
25562            stringify!(tlh_ie_faddr_addr32)
25563        )
25564    );
25565    assert_eq!(
25566        unsafe { ::std::ptr::addr_of!((*ptr).tlh_ie_laddr_addr32) as usize - ptr as usize },
25567        36usize,
25568        concat!(
25569            "Offset of field: ",
25570            stringify!(nflx_dumpinfo),
25571            "::",
25572            stringify!(tlh_ie_laddr_addr32)
25573        )
25574    );
25575    assert_eq!(
25576        unsafe { ::std::ptr::addr_of!((*ptr).tlh_ie_zoneid) as usize - ptr as usize },
25577        52usize,
25578        concat!(
25579            "Offset of field: ",
25580            stringify!(nflx_dumpinfo),
25581            "::",
25582            stringify!(tlh_ie_zoneid)
25583        )
25584    );
25585    assert_eq!(
25586        unsafe { ::std::ptr::addr_of!((*ptr).tlh_offset_tv_sec) as usize - ptr as usize },
25587        56usize,
25588        concat!(
25589            "Offset of field: ",
25590            stringify!(nflx_dumpinfo),
25591            "::",
25592            stringify!(tlh_offset_tv_sec)
25593        )
25594    );
25595    assert_eq!(
25596        unsafe { ::std::ptr::addr_of!((*ptr).tlh_offset_tv_usec) as usize - ptr as usize },
25597        64usize,
25598        concat!(
25599            "Offset of field: ",
25600            stringify!(nflx_dumpinfo),
25601            "::",
25602            stringify!(tlh_offset_tv_usec)
25603        )
25604    );
25605    assert_eq!(
25606        unsafe { ::std::ptr::addr_of!((*ptr).tlh_id) as usize - ptr as usize },
25607        72usize,
25608        concat!(
25609            "Offset of field: ",
25610            stringify!(nflx_dumpinfo),
25611            "::",
25612            stringify!(tlh_id)
25613        )
25614    );
25615    assert_eq!(
25616        unsafe { ::std::ptr::addr_of!((*ptr).tlh_reason) as usize - ptr as usize },
25617        136usize,
25618        concat!(
25619            "Offset of field: ",
25620            stringify!(nflx_dumpinfo),
25621            "::",
25622            stringify!(tlh_reason)
25623        )
25624    );
25625    assert_eq!(
25626        unsafe { ::std::ptr::addr_of!((*ptr).tlh_tag) as usize - ptr as usize },
25627        168usize,
25628        concat!(
25629            "Offset of field: ",
25630            stringify!(nflx_dumpinfo),
25631            "::",
25632            stringify!(tlh_tag)
25633        )
25634    );
25635    assert_eq!(
25636        unsafe { ::std::ptr::addr_of!((*ptr).tlh_af) as usize - ptr as usize },
25637        200usize,
25638        concat!(
25639            "Offset of field: ",
25640            stringify!(nflx_dumpinfo),
25641            "::",
25642            stringify!(tlh_af)
25643        )
25644    );
25645    assert_eq!(
25646        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
25647        201usize,
25648        concat!(
25649            "Offset of field: ",
25650            stringify!(nflx_dumpinfo),
25651            "::",
25652            stringify!(_pad)
25653        )
25654    );
25655}
25656#[repr(C)]
25657#[derive(Debug, Copy, Clone)]
25658pub struct nflx_tcpinfo {
25659    pub tlb_tv_sec: guint64,
25660    pub tlb_tv_usec: guint64,
25661    pub tlb_ticks: guint32,
25662    pub tlb_sn: guint32,
25663    pub tlb_stackid: guint8,
25664    pub tlb_eventid: guint8,
25665    pub tlb_eventflags: guint16,
25666    pub tlb_errno: gint32,
25667    pub tlb_rxbuf_tls_sb_acc: guint32,
25668    pub tlb_rxbuf_tls_sb_ccc: guint32,
25669    pub tlb_rxbuf_tls_sb_spare: guint32,
25670    pub tlb_txbuf_tls_sb_acc: guint32,
25671    pub tlb_txbuf_tls_sb_ccc: guint32,
25672    pub tlb_txbuf_tls_sb_spare: guint32,
25673    pub tlb_state: gint32,
25674    pub tlb_starttime: guint32,
25675    pub tlb_iss: guint32,
25676    pub tlb_flags: guint32,
25677    pub tlb_snd_una: guint32,
25678    pub tlb_snd_max: guint32,
25679    pub tlb_snd_cwnd: guint32,
25680    pub tlb_snd_nxt: guint32,
25681    pub tlb_snd_recover: guint32,
25682    pub tlb_snd_wnd: guint32,
25683    pub tlb_snd_ssthresh: guint32,
25684    pub tlb_srtt: guint32,
25685    pub tlb_rttvar: guint32,
25686    pub tlb_rcv_up: guint32,
25687    pub tlb_rcv_adv: guint32,
25688    pub tlb_flags2: guint32,
25689    pub tlb_rcv_nxt: guint32,
25690    pub tlb_rcv_wnd: guint32,
25691    pub tlb_dupacks: guint32,
25692    pub tlb_segqlen: gint32,
25693    pub tlb_snd_numholes: gint32,
25694    pub tlb_flex1: guint32,
25695    pub tlb_flex2: guint32,
25696    pub tlb_fbyte_in: guint32,
25697    pub tlb_fbyte_out: guint32,
25698    pub _bitfield_align_1: [u8; 0],
25699    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
25700    pub _pad: [guint8; 3usize],
25701    pub tlb_stackinfo_bbr_cur_del_rate: guint64,
25702    pub tlb_stackinfo_bbr_delRate: guint64,
25703    pub tlb_stackinfo_bbr_rttProp: guint64,
25704    pub tlb_stackinfo_bbr_bw_inuse: guint64,
25705    pub tlb_stackinfo_bbr_inflight: guint32,
25706    pub tlb_stackinfo_bbr_applimited: guint32,
25707    pub tlb_stackinfo_bbr_delivered: guint32,
25708    pub tlb_stackinfo_bbr_timeStamp: guint32,
25709    pub tlb_stackinfo_bbr_epoch: guint32,
25710    pub tlb_stackinfo_bbr_lt_epoch: guint32,
25711    pub tlb_stackinfo_bbr_pkts_out: guint32,
25712    pub tlb_stackinfo_bbr_flex1: guint32,
25713    pub tlb_stackinfo_bbr_flex2: guint32,
25714    pub tlb_stackinfo_bbr_flex3: guint32,
25715    pub tlb_stackinfo_bbr_flex4: guint32,
25716    pub tlb_stackinfo_bbr_flex5: guint32,
25717    pub tlb_stackinfo_bbr_flex6: guint32,
25718    pub tlb_stackinfo_bbr_lost: guint32,
25719    pub tlb_stackinfo_bbr_pacing_gain: guint16,
25720    pub tlb_stackinfo_bbr_cwnd_gain: guint16,
25721    pub tlb_stackinfo_bbr_flex7: guint16,
25722    pub tlb_stackinfo_bbr_bbr_state: guint8,
25723    pub tlb_stackinfo_bbr_bbr_substate: guint8,
25724    pub tlb_stackinfo_bbr_inhpts: guint8,
25725    pub tlb_stackinfo_bbr_ininput: guint8,
25726    pub tlb_stackinfo_bbr_use_lt_bw: guint8,
25727    pub tlb_stackinfo_bbr_flex8: guint8,
25728    pub tlb_stackinfo_bbr_pkt_epoch: guint32,
25729    pub tlb_len: guint32,
25730}
25731#[test]
25732fn bindgen_test_layout_nflx_tcpinfo() {
25733    const UNINIT: ::std::mem::MaybeUninit<nflx_tcpinfo> = ::std::mem::MaybeUninit::uninit();
25734    let ptr = UNINIT.as_ptr();
25735    assert_eq!(
25736        ::std::mem::size_of::<nflx_tcpinfo>(),
25737        272usize,
25738        concat!("Size of: ", stringify!(nflx_tcpinfo))
25739    );
25740    assert_eq!(
25741        ::std::mem::align_of::<nflx_tcpinfo>(),
25742        8usize,
25743        concat!("Alignment of ", stringify!(nflx_tcpinfo))
25744    );
25745    assert_eq!(
25746        unsafe { ::std::ptr::addr_of!((*ptr).tlb_tv_sec) as usize - ptr as usize },
25747        0usize,
25748        concat!(
25749            "Offset of field: ",
25750            stringify!(nflx_tcpinfo),
25751            "::",
25752            stringify!(tlb_tv_sec)
25753        )
25754    );
25755    assert_eq!(
25756        unsafe { ::std::ptr::addr_of!((*ptr).tlb_tv_usec) as usize - ptr as usize },
25757        8usize,
25758        concat!(
25759            "Offset of field: ",
25760            stringify!(nflx_tcpinfo),
25761            "::",
25762            stringify!(tlb_tv_usec)
25763        )
25764    );
25765    assert_eq!(
25766        unsafe { ::std::ptr::addr_of!((*ptr).tlb_ticks) as usize - ptr as usize },
25767        16usize,
25768        concat!(
25769            "Offset of field: ",
25770            stringify!(nflx_tcpinfo),
25771            "::",
25772            stringify!(tlb_ticks)
25773        )
25774    );
25775    assert_eq!(
25776        unsafe { ::std::ptr::addr_of!((*ptr).tlb_sn) as usize - ptr as usize },
25777        20usize,
25778        concat!(
25779            "Offset of field: ",
25780            stringify!(nflx_tcpinfo),
25781            "::",
25782            stringify!(tlb_sn)
25783        )
25784    );
25785    assert_eq!(
25786        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackid) as usize - ptr as usize },
25787        24usize,
25788        concat!(
25789            "Offset of field: ",
25790            stringify!(nflx_tcpinfo),
25791            "::",
25792            stringify!(tlb_stackid)
25793        )
25794    );
25795    assert_eq!(
25796        unsafe { ::std::ptr::addr_of!((*ptr).tlb_eventid) as usize - ptr as usize },
25797        25usize,
25798        concat!(
25799            "Offset of field: ",
25800            stringify!(nflx_tcpinfo),
25801            "::",
25802            stringify!(tlb_eventid)
25803        )
25804    );
25805    assert_eq!(
25806        unsafe { ::std::ptr::addr_of!((*ptr).tlb_eventflags) as usize - ptr as usize },
25807        26usize,
25808        concat!(
25809            "Offset of field: ",
25810            stringify!(nflx_tcpinfo),
25811            "::",
25812            stringify!(tlb_eventflags)
25813        )
25814    );
25815    assert_eq!(
25816        unsafe { ::std::ptr::addr_of!((*ptr).tlb_errno) as usize - ptr as usize },
25817        28usize,
25818        concat!(
25819            "Offset of field: ",
25820            stringify!(nflx_tcpinfo),
25821            "::",
25822            stringify!(tlb_errno)
25823        )
25824    );
25825    assert_eq!(
25826        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rxbuf_tls_sb_acc) as usize - ptr as usize },
25827        32usize,
25828        concat!(
25829            "Offset of field: ",
25830            stringify!(nflx_tcpinfo),
25831            "::",
25832            stringify!(tlb_rxbuf_tls_sb_acc)
25833        )
25834    );
25835    assert_eq!(
25836        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rxbuf_tls_sb_ccc) as usize - ptr as usize },
25837        36usize,
25838        concat!(
25839            "Offset of field: ",
25840            stringify!(nflx_tcpinfo),
25841            "::",
25842            stringify!(tlb_rxbuf_tls_sb_ccc)
25843        )
25844    );
25845    assert_eq!(
25846        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rxbuf_tls_sb_spare) as usize - ptr as usize },
25847        40usize,
25848        concat!(
25849            "Offset of field: ",
25850            stringify!(nflx_tcpinfo),
25851            "::",
25852            stringify!(tlb_rxbuf_tls_sb_spare)
25853        )
25854    );
25855    assert_eq!(
25856        unsafe { ::std::ptr::addr_of!((*ptr).tlb_txbuf_tls_sb_acc) as usize - ptr as usize },
25857        44usize,
25858        concat!(
25859            "Offset of field: ",
25860            stringify!(nflx_tcpinfo),
25861            "::",
25862            stringify!(tlb_txbuf_tls_sb_acc)
25863        )
25864    );
25865    assert_eq!(
25866        unsafe { ::std::ptr::addr_of!((*ptr).tlb_txbuf_tls_sb_ccc) as usize - ptr as usize },
25867        48usize,
25868        concat!(
25869            "Offset of field: ",
25870            stringify!(nflx_tcpinfo),
25871            "::",
25872            stringify!(tlb_txbuf_tls_sb_ccc)
25873        )
25874    );
25875    assert_eq!(
25876        unsafe { ::std::ptr::addr_of!((*ptr).tlb_txbuf_tls_sb_spare) as usize - ptr as usize },
25877        52usize,
25878        concat!(
25879            "Offset of field: ",
25880            stringify!(nflx_tcpinfo),
25881            "::",
25882            stringify!(tlb_txbuf_tls_sb_spare)
25883        )
25884    );
25885    assert_eq!(
25886        unsafe { ::std::ptr::addr_of!((*ptr).tlb_state) as usize - ptr as usize },
25887        56usize,
25888        concat!(
25889            "Offset of field: ",
25890            stringify!(nflx_tcpinfo),
25891            "::",
25892            stringify!(tlb_state)
25893        )
25894    );
25895    assert_eq!(
25896        unsafe { ::std::ptr::addr_of!((*ptr).tlb_starttime) as usize - ptr as usize },
25897        60usize,
25898        concat!(
25899            "Offset of field: ",
25900            stringify!(nflx_tcpinfo),
25901            "::",
25902            stringify!(tlb_starttime)
25903        )
25904    );
25905    assert_eq!(
25906        unsafe { ::std::ptr::addr_of!((*ptr).tlb_iss) as usize - ptr as usize },
25907        64usize,
25908        concat!(
25909            "Offset of field: ",
25910            stringify!(nflx_tcpinfo),
25911            "::",
25912            stringify!(tlb_iss)
25913        )
25914    );
25915    assert_eq!(
25916        unsafe { ::std::ptr::addr_of!((*ptr).tlb_flags) as usize - ptr as usize },
25917        68usize,
25918        concat!(
25919            "Offset of field: ",
25920            stringify!(nflx_tcpinfo),
25921            "::",
25922            stringify!(tlb_flags)
25923        )
25924    );
25925    assert_eq!(
25926        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_una) as usize - ptr as usize },
25927        72usize,
25928        concat!(
25929            "Offset of field: ",
25930            stringify!(nflx_tcpinfo),
25931            "::",
25932            stringify!(tlb_snd_una)
25933        )
25934    );
25935    assert_eq!(
25936        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_max) as usize - ptr as usize },
25937        76usize,
25938        concat!(
25939            "Offset of field: ",
25940            stringify!(nflx_tcpinfo),
25941            "::",
25942            stringify!(tlb_snd_max)
25943        )
25944    );
25945    assert_eq!(
25946        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_cwnd) as usize - ptr as usize },
25947        80usize,
25948        concat!(
25949            "Offset of field: ",
25950            stringify!(nflx_tcpinfo),
25951            "::",
25952            stringify!(tlb_snd_cwnd)
25953        )
25954    );
25955    assert_eq!(
25956        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_nxt) as usize - ptr as usize },
25957        84usize,
25958        concat!(
25959            "Offset of field: ",
25960            stringify!(nflx_tcpinfo),
25961            "::",
25962            stringify!(tlb_snd_nxt)
25963        )
25964    );
25965    assert_eq!(
25966        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_recover) as usize - ptr as usize },
25967        88usize,
25968        concat!(
25969            "Offset of field: ",
25970            stringify!(nflx_tcpinfo),
25971            "::",
25972            stringify!(tlb_snd_recover)
25973        )
25974    );
25975    assert_eq!(
25976        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_wnd) as usize - ptr as usize },
25977        92usize,
25978        concat!(
25979            "Offset of field: ",
25980            stringify!(nflx_tcpinfo),
25981            "::",
25982            stringify!(tlb_snd_wnd)
25983        )
25984    );
25985    assert_eq!(
25986        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_ssthresh) as usize - ptr as usize },
25987        96usize,
25988        concat!(
25989            "Offset of field: ",
25990            stringify!(nflx_tcpinfo),
25991            "::",
25992            stringify!(tlb_snd_ssthresh)
25993        )
25994    );
25995    assert_eq!(
25996        unsafe { ::std::ptr::addr_of!((*ptr).tlb_srtt) as usize - ptr as usize },
25997        100usize,
25998        concat!(
25999            "Offset of field: ",
26000            stringify!(nflx_tcpinfo),
26001            "::",
26002            stringify!(tlb_srtt)
26003        )
26004    );
26005    assert_eq!(
26006        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rttvar) as usize - ptr as usize },
26007        104usize,
26008        concat!(
26009            "Offset of field: ",
26010            stringify!(nflx_tcpinfo),
26011            "::",
26012            stringify!(tlb_rttvar)
26013        )
26014    );
26015    assert_eq!(
26016        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rcv_up) as usize - ptr as usize },
26017        108usize,
26018        concat!(
26019            "Offset of field: ",
26020            stringify!(nflx_tcpinfo),
26021            "::",
26022            stringify!(tlb_rcv_up)
26023        )
26024    );
26025    assert_eq!(
26026        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rcv_adv) as usize - ptr as usize },
26027        112usize,
26028        concat!(
26029            "Offset of field: ",
26030            stringify!(nflx_tcpinfo),
26031            "::",
26032            stringify!(tlb_rcv_adv)
26033        )
26034    );
26035    assert_eq!(
26036        unsafe { ::std::ptr::addr_of!((*ptr).tlb_flags2) as usize - ptr as usize },
26037        116usize,
26038        concat!(
26039            "Offset of field: ",
26040            stringify!(nflx_tcpinfo),
26041            "::",
26042            stringify!(tlb_flags2)
26043        )
26044    );
26045    assert_eq!(
26046        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rcv_nxt) as usize - ptr as usize },
26047        120usize,
26048        concat!(
26049            "Offset of field: ",
26050            stringify!(nflx_tcpinfo),
26051            "::",
26052            stringify!(tlb_rcv_nxt)
26053        )
26054    );
26055    assert_eq!(
26056        unsafe { ::std::ptr::addr_of!((*ptr).tlb_rcv_wnd) as usize - ptr as usize },
26057        124usize,
26058        concat!(
26059            "Offset of field: ",
26060            stringify!(nflx_tcpinfo),
26061            "::",
26062            stringify!(tlb_rcv_wnd)
26063        )
26064    );
26065    assert_eq!(
26066        unsafe { ::std::ptr::addr_of!((*ptr).tlb_dupacks) as usize - ptr as usize },
26067        128usize,
26068        concat!(
26069            "Offset of field: ",
26070            stringify!(nflx_tcpinfo),
26071            "::",
26072            stringify!(tlb_dupacks)
26073        )
26074    );
26075    assert_eq!(
26076        unsafe { ::std::ptr::addr_of!((*ptr).tlb_segqlen) as usize - ptr as usize },
26077        132usize,
26078        concat!(
26079            "Offset of field: ",
26080            stringify!(nflx_tcpinfo),
26081            "::",
26082            stringify!(tlb_segqlen)
26083        )
26084    );
26085    assert_eq!(
26086        unsafe { ::std::ptr::addr_of!((*ptr).tlb_snd_numholes) as usize - ptr as usize },
26087        136usize,
26088        concat!(
26089            "Offset of field: ",
26090            stringify!(nflx_tcpinfo),
26091            "::",
26092            stringify!(tlb_snd_numholes)
26093        )
26094    );
26095    assert_eq!(
26096        unsafe { ::std::ptr::addr_of!((*ptr).tlb_flex1) as usize - ptr as usize },
26097        140usize,
26098        concat!(
26099            "Offset of field: ",
26100            stringify!(nflx_tcpinfo),
26101            "::",
26102            stringify!(tlb_flex1)
26103        )
26104    );
26105    assert_eq!(
26106        unsafe { ::std::ptr::addr_of!((*ptr).tlb_flex2) as usize - ptr as usize },
26107        144usize,
26108        concat!(
26109            "Offset of field: ",
26110            stringify!(nflx_tcpinfo),
26111            "::",
26112            stringify!(tlb_flex2)
26113        )
26114    );
26115    assert_eq!(
26116        unsafe { ::std::ptr::addr_of!((*ptr).tlb_fbyte_in) as usize - ptr as usize },
26117        148usize,
26118        concat!(
26119            "Offset of field: ",
26120            stringify!(nflx_tcpinfo),
26121            "::",
26122            stringify!(tlb_fbyte_in)
26123        )
26124    );
26125    assert_eq!(
26126        unsafe { ::std::ptr::addr_of!((*ptr).tlb_fbyte_out) as usize - ptr as usize },
26127        152usize,
26128        concat!(
26129            "Offset of field: ",
26130            stringify!(nflx_tcpinfo),
26131            "::",
26132            stringify!(tlb_fbyte_out)
26133        )
26134    );
26135    assert_eq!(
26136        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
26137        157usize,
26138        concat!(
26139            "Offset of field: ",
26140            stringify!(nflx_tcpinfo),
26141            "::",
26142            stringify!(_pad)
26143        )
26144    );
26145    assert_eq!(
26146        unsafe {
26147            ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_cur_del_rate) as usize - ptr as usize
26148        },
26149        160usize,
26150        concat!(
26151            "Offset of field: ",
26152            stringify!(nflx_tcpinfo),
26153            "::",
26154            stringify!(tlb_stackinfo_bbr_cur_del_rate)
26155        )
26156    );
26157    assert_eq!(
26158        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_delRate) as usize - ptr as usize },
26159        168usize,
26160        concat!(
26161            "Offset of field: ",
26162            stringify!(nflx_tcpinfo),
26163            "::",
26164            stringify!(tlb_stackinfo_bbr_delRate)
26165        )
26166    );
26167    assert_eq!(
26168        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_rttProp) as usize - ptr as usize },
26169        176usize,
26170        concat!(
26171            "Offset of field: ",
26172            stringify!(nflx_tcpinfo),
26173            "::",
26174            stringify!(tlb_stackinfo_bbr_rttProp)
26175        )
26176    );
26177    assert_eq!(
26178        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_bw_inuse) as usize - ptr as usize },
26179        184usize,
26180        concat!(
26181            "Offset of field: ",
26182            stringify!(nflx_tcpinfo),
26183            "::",
26184            stringify!(tlb_stackinfo_bbr_bw_inuse)
26185        )
26186    );
26187    assert_eq!(
26188        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_inflight) as usize - ptr as usize },
26189        192usize,
26190        concat!(
26191            "Offset of field: ",
26192            stringify!(nflx_tcpinfo),
26193            "::",
26194            stringify!(tlb_stackinfo_bbr_inflight)
26195        )
26196    );
26197    assert_eq!(
26198        unsafe {
26199            ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_applimited) as usize - ptr as usize
26200        },
26201        196usize,
26202        concat!(
26203            "Offset of field: ",
26204            stringify!(nflx_tcpinfo),
26205            "::",
26206            stringify!(tlb_stackinfo_bbr_applimited)
26207        )
26208    );
26209    assert_eq!(
26210        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_delivered) as usize - ptr as usize },
26211        200usize,
26212        concat!(
26213            "Offset of field: ",
26214            stringify!(nflx_tcpinfo),
26215            "::",
26216            stringify!(tlb_stackinfo_bbr_delivered)
26217        )
26218    );
26219    assert_eq!(
26220        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_timeStamp) as usize - ptr as usize },
26221        204usize,
26222        concat!(
26223            "Offset of field: ",
26224            stringify!(nflx_tcpinfo),
26225            "::",
26226            stringify!(tlb_stackinfo_bbr_timeStamp)
26227        )
26228    );
26229    assert_eq!(
26230        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_epoch) as usize - ptr as usize },
26231        208usize,
26232        concat!(
26233            "Offset of field: ",
26234            stringify!(nflx_tcpinfo),
26235            "::",
26236            stringify!(tlb_stackinfo_bbr_epoch)
26237        )
26238    );
26239    assert_eq!(
26240        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_lt_epoch) as usize - ptr as usize },
26241        212usize,
26242        concat!(
26243            "Offset of field: ",
26244            stringify!(nflx_tcpinfo),
26245            "::",
26246            stringify!(tlb_stackinfo_bbr_lt_epoch)
26247        )
26248    );
26249    assert_eq!(
26250        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_pkts_out) as usize - ptr as usize },
26251        216usize,
26252        concat!(
26253            "Offset of field: ",
26254            stringify!(nflx_tcpinfo),
26255            "::",
26256            stringify!(tlb_stackinfo_bbr_pkts_out)
26257        )
26258    );
26259    assert_eq!(
26260        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex1) as usize - ptr as usize },
26261        220usize,
26262        concat!(
26263            "Offset of field: ",
26264            stringify!(nflx_tcpinfo),
26265            "::",
26266            stringify!(tlb_stackinfo_bbr_flex1)
26267        )
26268    );
26269    assert_eq!(
26270        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex2) as usize - ptr as usize },
26271        224usize,
26272        concat!(
26273            "Offset of field: ",
26274            stringify!(nflx_tcpinfo),
26275            "::",
26276            stringify!(tlb_stackinfo_bbr_flex2)
26277        )
26278    );
26279    assert_eq!(
26280        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex3) as usize - ptr as usize },
26281        228usize,
26282        concat!(
26283            "Offset of field: ",
26284            stringify!(nflx_tcpinfo),
26285            "::",
26286            stringify!(tlb_stackinfo_bbr_flex3)
26287        )
26288    );
26289    assert_eq!(
26290        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex4) as usize - ptr as usize },
26291        232usize,
26292        concat!(
26293            "Offset of field: ",
26294            stringify!(nflx_tcpinfo),
26295            "::",
26296            stringify!(tlb_stackinfo_bbr_flex4)
26297        )
26298    );
26299    assert_eq!(
26300        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex5) as usize - ptr as usize },
26301        236usize,
26302        concat!(
26303            "Offset of field: ",
26304            stringify!(nflx_tcpinfo),
26305            "::",
26306            stringify!(tlb_stackinfo_bbr_flex5)
26307        )
26308    );
26309    assert_eq!(
26310        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex6) as usize - ptr as usize },
26311        240usize,
26312        concat!(
26313            "Offset of field: ",
26314            stringify!(nflx_tcpinfo),
26315            "::",
26316            stringify!(tlb_stackinfo_bbr_flex6)
26317        )
26318    );
26319    assert_eq!(
26320        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_lost) as usize - ptr as usize },
26321        244usize,
26322        concat!(
26323            "Offset of field: ",
26324            stringify!(nflx_tcpinfo),
26325            "::",
26326            stringify!(tlb_stackinfo_bbr_lost)
26327        )
26328    );
26329    assert_eq!(
26330        unsafe {
26331            ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_pacing_gain) as usize - ptr as usize
26332        },
26333        248usize,
26334        concat!(
26335            "Offset of field: ",
26336            stringify!(nflx_tcpinfo),
26337            "::",
26338            stringify!(tlb_stackinfo_bbr_pacing_gain)
26339        )
26340    );
26341    assert_eq!(
26342        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_cwnd_gain) as usize - ptr as usize },
26343        250usize,
26344        concat!(
26345            "Offset of field: ",
26346            stringify!(nflx_tcpinfo),
26347            "::",
26348            stringify!(tlb_stackinfo_bbr_cwnd_gain)
26349        )
26350    );
26351    assert_eq!(
26352        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex7) as usize - ptr as usize },
26353        252usize,
26354        concat!(
26355            "Offset of field: ",
26356            stringify!(nflx_tcpinfo),
26357            "::",
26358            stringify!(tlb_stackinfo_bbr_flex7)
26359        )
26360    );
26361    assert_eq!(
26362        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_bbr_state) as usize - ptr as usize },
26363        254usize,
26364        concat!(
26365            "Offset of field: ",
26366            stringify!(nflx_tcpinfo),
26367            "::",
26368            stringify!(tlb_stackinfo_bbr_bbr_state)
26369        )
26370    );
26371    assert_eq!(
26372        unsafe {
26373            ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_bbr_substate) as usize - ptr as usize
26374        },
26375        255usize,
26376        concat!(
26377            "Offset of field: ",
26378            stringify!(nflx_tcpinfo),
26379            "::",
26380            stringify!(tlb_stackinfo_bbr_bbr_substate)
26381        )
26382    );
26383    assert_eq!(
26384        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_inhpts) as usize - ptr as usize },
26385        256usize,
26386        concat!(
26387            "Offset of field: ",
26388            stringify!(nflx_tcpinfo),
26389            "::",
26390            stringify!(tlb_stackinfo_bbr_inhpts)
26391        )
26392    );
26393    assert_eq!(
26394        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_ininput) as usize - ptr as usize },
26395        257usize,
26396        concat!(
26397            "Offset of field: ",
26398            stringify!(nflx_tcpinfo),
26399            "::",
26400            stringify!(tlb_stackinfo_bbr_ininput)
26401        )
26402    );
26403    assert_eq!(
26404        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_use_lt_bw) as usize - ptr as usize },
26405        258usize,
26406        concat!(
26407            "Offset of field: ",
26408            stringify!(nflx_tcpinfo),
26409            "::",
26410            stringify!(tlb_stackinfo_bbr_use_lt_bw)
26411        )
26412    );
26413    assert_eq!(
26414        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_flex8) as usize - ptr as usize },
26415        259usize,
26416        concat!(
26417            "Offset of field: ",
26418            stringify!(nflx_tcpinfo),
26419            "::",
26420            stringify!(tlb_stackinfo_bbr_flex8)
26421        )
26422    );
26423    assert_eq!(
26424        unsafe { ::std::ptr::addr_of!((*ptr).tlb_stackinfo_bbr_pkt_epoch) as usize - ptr as usize },
26425        260usize,
26426        concat!(
26427            "Offset of field: ",
26428            stringify!(nflx_tcpinfo),
26429            "::",
26430            stringify!(tlb_stackinfo_bbr_pkt_epoch)
26431        )
26432    );
26433    assert_eq!(
26434        unsafe { ::std::ptr::addr_of!((*ptr).tlb_len) as usize - ptr as usize },
26435        264usize,
26436        concat!(
26437            "Offset of field: ",
26438            stringify!(nflx_tcpinfo),
26439            "::",
26440            stringify!(tlb_len)
26441        )
26442    );
26443}
26444impl nflx_tcpinfo {
26445    #[inline]
26446    pub fn tlb_snd_scale(&self) -> guint8 {
26447        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u8) }
26448    }
26449    #[inline]
26450    pub fn set_tlb_snd_scale(&mut self, val: guint8) {
26451        unsafe {
26452            let val: u8 = ::std::mem::transmute(val);
26453            self._bitfield_1.set(0usize, 4u8, val as u64)
26454        }
26455    }
26456    #[inline]
26457    pub fn tlb_rcv_scale(&self) -> guint8 {
26458        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u8) }
26459    }
26460    #[inline]
26461    pub fn set_tlb_rcv_scale(&mut self, val: guint8) {
26462        unsafe {
26463            let val: u8 = ::std::mem::transmute(val);
26464            self._bitfield_1.set(4usize, 4u8, val as u64)
26465        }
26466    }
26467    #[inline]
26468    pub fn new_bitfield_1(
26469        tlb_snd_scale: guint8,
26470        tlb_rcv_scale: guint8,
26471    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
26472        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
26473        __bindgen_bitfield_unit.set(0usize, 4u8, {
26474            let tlb_snd_scale: u8 = unsafe { ::std::mem::transmute(tlb_snd_scale) };
26475            tlb_snd_scale as u64
26476        });
26477        __bindgen_bitfield_unit.set(4usize, 4u8, {
26478            let tlb_rcv_scale: u8 = unsafe { ::std::mem::transmute(tlb_rcv_scale) };
26479            tlb_rcv_scale as u64
26480        });
26481        __bindgen_bitfield_unit
26482    }
26483}
26484#[repr(C)]
26485#[derive(Debug, Copy, Clone)]
26486pub struct wtap_dumper {
26487    _unused: [u8; 0],
26488}
26489pub type wtap_block_create_func = ::std::option::Option<unsafe extern "C" fn(block: wtap_block_t)>;
26490pub type wtap_mand_free_func = ::std::option::Option<unsafe extern "C" fn(block: wtap_block_t)>;
26491pub type wtap_mand_copy_func =
26492    ::std::option::Option<unsafe extern "C" fn(dest_block: wtap_block_t, src_block: wtap_block_t)>;
26493extern "C" {
26494    pub fn wtap_opttypes_initialize();
26495}
26496extern "C" {
26497    pub fn wtap_block_create(block_type: wtap_block_type_t) -> wtap_block_t;
26498}
26499extern "C" {
26500    pub fn wtap_block_ref(block: wtap_block_t) -> wtap_block_t;
26501}
26502extern "C" {
26503    pub fn wtap_block_unref(block: wtap_block_t);
26504}
26505extern "C" {
26506    pub fn wtap_block_array_free(block_array: *mut GArray);
26507}
26508extern "C" {
26509    pub fn wtap_block_get_type(block: wtap_block_t) -> wtap_block_type_t;
26510}
26511extern "C" {
26512    pub fn wtap_block_get_mandatory_data(block: wtap_block_t) -> *mut ::std::os::raw::c_void;
26513}
26514extern "C" {
26515    pub fn wtap_block_count_option(block: wtap_block_t, option_id: guint) -> guint;
26516}
26517extern "C" {
26518    pub fn wtap_block_add_uint8_option(
26519        block: wtap_block_t,
26520        option_id: guint,
26521        value: guint8,
26522    ) -> wtap_opttype_return_val;
26523}
26524extern "C" {
26525    pub fn wtap_block_set_uint8_option_value(
26526        block: wtap_block_t,
26527        option_id: guint,
26528        value: guint8,
26529    ) -> wtap_opttype_return_val;
26530}
26531extern "C" {
26532    pub fn wtap_block_get_uint8_option_value(
26533        block: wtap_block_t,
26534        option_id: guint,
26535        value: *mut guint8,
26536    ) -> wtap_opttype_return_val;
26537}
26538extern "C" {
26539    pub fn wtap_block_add_uint32_option(
26540        block: wtap_block_t,
26541        option_id: guint,
26542        value: guint32,
26543    ) -> wtap_opttype_return_val;
26544}
26545extern "C" {
26546    pub fn wtap_block_set_uint32_option_value(
26547        block: wtap_block_t,
26548        option_id: guint,
26549        value: guint32,
26550    ) -> wtap_opttype_return_val;
26551}
26552extern "C" {
26553    pub fn wtap_block_get_uint32_option_value(
26554        block: wtap_block_t,
26555        option_id: guint,
26556        value: *mut guint32,
26557    ) -> wtap_opttype_return_val;
26558}
26559extern "C" {
26560    pub fn wtap_block_add_uint64_option(
26561        block: wtap_block_t,
26562        option_id: guint,
26563        value: guint64,
26564    ) -> wtap_opttype_return_val;
26565}
26566extern "C" {
26567    pub fn wtap_block_set_uint64_option_value(
26568        block: wtap_block_t,
26569        option_id: guint,
26570        value: guint64,
26571    ) -> wtap_opttype_return_val;
26572}
26573extern "C" {
26574    pub fn wtap_block_get_uint64_option_value(
26575        block: wtap_block_t,
26576        option_id: guint,
26577        value: *mut guint64,
26578    ) -> wtap_opttype_return_val;
26579}
26580extern "C" {
26581    pub fn wtap_block_add_ipv4_option(
26582        block: wtap_block_t,
26583        option_id: guint,
26584        value: guint32,
26585    ) -> wtap_opttype_return_val;
26586}
26587extern "C" {
26588    pub fn wtap_block_set_ipv4_option_value(
26589        block: wtap_block_t,
26590        option_id: guint,
26591        value: guint32,
26592    ) -> wtap_opttype_return_val;
26593}
26594extern "C" {
26595    pub fn wtap_block_get_ipv4_option_value(
26596        block: wtap_block_t,
26597        option_id: guint,
26598        value: *mut guint32,
26599    ) -> wtap_opttype_return_val;
26600}
26601extern "C" {
26602    pub fn wtap_block_add_ipv6_option(
26603        block: wtap_block_t,
26604        option_id: guint,
26605        value: *mut ws_in6_addr,
26606    ) -> wtap_opttype_return_val;
26607}
26608extern "C" {
26609    pub fn wtap_block_set_ipv6_option_value(
26610        block: wtap_block_t,
26611        option_id: guint,
26612        value: *mut ws_in6_addr,
26613    ) -> wtap_opttype_return_val;
26614}
26615extern "C" {
26616    pub fn wtap_block_get_ipv6_option_value(
26617        block: wtap_block_t,
26618        option_id: guint,
26619        value: *mut ws_in6_addr,
26620    ) -> wtap_opttype_return_val;
26621}
26622extern "C" {
26623    pub fn wtap_block_add_string_option(
26624        block: wtap_block_t,
26625        option_id: guint,
26626        value: *const ::std::os::raw::c_char,
26627        value_length: gsize,
26628    ) -> wtap_opttype_return_val;
26629}
26630extern "C" {
26631    pub fn wtap_block_add_string_option_format(
26632        block: wtap_block_t,
26633        option_id: guint,
26634        format: *const ::std::os::raw::c_char,
26635        ...
26636    ) -> wtap_opttype_return_val;
26637}
26638extern "C" {
26639    pub fn wtap_block_set_string_option_value(
26640        block: wtap_block_t,
26641        option_id: guint,
26642        value: *const ::std::os::raw::c_char,
26643        value_length: gsize,
26644    ) -> wtap_opttype_return_val;
26645}
26646extern "C" {
26647    pub fn wtap_block_set_nth_string_option_value(
26648        block: wtap_block_t,
26649        option_id: guint,
26650        idx: guint,
26651        value: *const ::std::os::raw::c_char,
26652        value_length: gsize,
26653    ) -> wtap_opttype_return_val;
26654}
26655extern "C" {
26656    pub fn wtap_block_set_string_option_value_format(
26657        block: wtap_block_t,
26658        option_id: guint,
26659        format: *const ::std::os::raw::c_char,
26660        ...
26661    ) -> wtap_opttype_return_val;
26662}
26663extern "C" {
26664    pub fn wtap_block_set_nth_string_option_value_format(
26665        block: wtap_block_t,
26666        option_id: guint,
26667        idx: guint,
26668        format: *const ::std::os::raw::c_char,
26669        ...
26670    ) -> wtap_opttype_return_val;
26671}
26672extern "C" {
26673    pub fn wtap_block_get_string_option_value(
26674        block: wtap_block_t,
26675        option_id: guint,
26676        value: *mut *mut ::std::os::raw::c_char,
26677    ) -> wtap_opttype_return_val;
26678}
26679extern "C" {
26680    pub fn wtap_block_get_nth_string_option_value(
26681        block: wtap_block_t,
26682        option_id: guint,
26683        idx: guint,
26684        value: *mut *mut ::std::os::raw::c_char,
26685    ) -> wtap_opttype_return_val;
26686}
26687extern "C" {
26688    pub fn wtap_block_add_bytes_option(
26689        block: wtap_block_t,
26690        option_id: guint,
26691        value: *const guint8,
26692        value_length: gsize,
26693    ) -> wtap_opttype_return_val;
26694}
26695extern "C" {
26696    pub fn wtap_block_add_bytes_option_borrow(
26697        block: wtap_block_t,
26698        option_id: guint,
26699        value: *mut GBytes,
26700    ) -> wtap_opttype_return_val;
26701}
26702extern "C" {
26703    pub fn wtap_block_set_bytes_option_value(
26704        block: wtap_block_t,
26705        option_id: guint,
26706        value: *const guint8,
26707        value_length: gsize,
26708    ) -> wtap_opttype_return_val;
26709}
26710extern "C" {
26711    pub fn wtap_block_set_nth_bytes_option_value(
26712        block: wtap_block_t,
26713        option_id: guint,
26714        idx: guint,
26715        value: *mut GBytes,
26716    ) -> wtap_opttype_return_val;
26717}
26718extern "C" {
26719    pub fn wtap_block_get_bytes_option_value(
26720        block: wtap_block_t,
26721        option_id: guint,
26722        value: *mut *mut GBytes,
26723    ) -> wtap_opttype_return_val;
26724}
26725extern "C" {
26726    pub fn wtap_block_get_nth_bytes_option_value(
26727        block: wtap_block_t,
26728        option_id: guint,
26729        idx: guint,
26730        value: *mut *mut GBytes,
26731    ) -> wtap_opttype_return_val;
26732}
26733extern "C" {
26734    pub fn wtap_block_add_nflx_custom_option(
26735        block: wtap_block_t,
26736        nflx_type: guint32,
26737        nflx_custom_data: *const ::std::os::raw::c_char,
26738        nflx_custom_data_len: gsize,
26739    ) -> wtap_opttype_return_val;
26740}
26741extern "C" {
26742    pub fn wtap_block_get_nflx_custom_option(
26743        block: wtap_block_t,
26744        nflx_type: guint32,
26745        nflx_custom_data: *mut ::std::os::raw::c_char,
26746        nflx_custom_data_len: gsize,
26747    ) -> wtap_opttype_return_val;
26748}
26749extern "C" {
26750    pub fn wtap_block_add_custom_option(
26751        block: wtap_block_t,
26752        option_id: guint,
26753        pen: guint32,
26754        custom_data: *const ::std::os::raw::c_char,
26755        custom_data_len: gsize,
26756    ) -> wtap_opttype_return_val;
26757}
26758extern "C" {
26759    pub fn wtap_block_add_if_filter_option(
26760        block: wtap_block_t,
26761        option_id: guint,
26762        value: *mut if_filter_opt_t,
26763    ) -> wtap_opttype_return_val;
26764}
26765extern "C" {
26766    pub fn wtap_block_set_if_filter_option_value(
26767        block: wtap_block_t,
26768        option_id: guint,
26769        value: *mut if_filter_opt_t,
26770    ) -> wtap_opttype_return_val;
26771}
26772extern "C" {
26773    pub fn wtap_block_get_if_filter_option_value(
26774        block: wtap_block_t,
26775        option_id: guint,
26776        value: *mut if_filter_opt_t,
26777    ) -> wtap_opttype_return_val;
26778}
26779extern "C" {
26780    pub fn wtap_block_add_packet_verdict_option(
26781        block: wtap_block_t,
26782        option_id: guint,
26783        value: *mut packet_verdict_opt_t,
26784    ) -> wtap_opttype_return_val;
26785}
26786extern "C" {
26787    pub fn wtap_block_set_nth_packet_verdict_option_value(
26788        block: wtap_block_t,
26789        option_id: guint,
26790        idx: guint,
26791        value: *mut packet_verdict_opt_t,
26792    ) -> wtap_opttype_return_val;
26793}
26794extern "C" {
26795    pub fn wtap_block_get_nth_packet_verdict_option_value(
26796        block: wtap_block_t,
26797        option_id: guint,
26798        idx: guint,
26799        value: *mut packet_verdict_opt_t,
26800    ) -> wtap_opttype_return_val;
26801}
26802extern "C" {
26803    pub fn wtap_packet_verdict_free(verdict: *mut packet_verdict_opt_t);
26804}
26805extern "C" {
26806    pub fn wtap_block_remove_option(
26807        block: wtap_block_t,
26808        option_id: guint,
26809    ) -> wtap_opttype_return_val;
26810}
26811extern "C" {
26812    pub fn wtap_block_remove_nth_option_instance(
26813        block: wtap_block_t,
26814        option_id: guint,
26815        idx: guint,
26816    ) -> wtap_opttype_return_val;
26817}
26818extern "C" {
26819    pub fn wtap_block_copy(dest_block: wtap_block_t, src_block: wtap_block_t);
26820}
26821extern "C" {
26822    pub fn wtap_block_make_copy(block: wtap_block_t) -> wtap_block_t;
26823}
26824pub type wtap_block_foreach_func = ::std::option::Option<
26825    unsafe extern "C" fn(
26826        block: wtap_block_t,
26827        option_id: guint,
26828        option_type: wtap_opttype_e,
26829        option: *mut wtap_optval_t,
26830        user_data: *mut ::std::os::raw::c_void,
26831    ) -> gboolean,
26832>;
26833extern "C" {
26834    pub fn wtap_block_foreach_option(
26835        block: wtap_block_t,
26836        func: wtap_block_foreach_func,
26837        user_data: *mut ::std::os::raw::c_void,
26838    ) -> gboolean;
26839}
26840extern "C" {
26841    pub fn wtap_opttypes_cleanup();
26842}
26843extern "C" {
26844    pub fn wmem_epan_scope() -> *mut wmem_allocator_t;
26845}
26846extern "C" {
26847    pub fn wmem_packet_scope() -> *mut wmem_allocator_t;
26848}
26849extern "C" {
26850    pub fn wmem_file_scope() -> *mut wmem_allocator_t;
26851}
26852extern "C" {
26853    pub fn wmem_init_scopes();
26854}
26855extern "C" {
26856    pub fn wmem_cleanup_scopes();
26857}
26858#[repr(C)]
26859#[derive(Debug, Copy, Clone)]
26860pub struct ipv4_addr_and_mask {
26861    pub addr: guint32,
26862    pub nmask: guint32,
26863}
26864#[test]
26865fn bindgen_test_layout_ipv4_addr_and_mask() {
26866    const UNINIT: ::std::mem::MaybeUninit<ipv4_addr_and_mask> = ::std::mem::MaybeUninit::uninit();
26867    let ptr = UNINIT.as_ptr();
26868    assert_eq!(
26869        ::std::mem::size_of::<ipv4_addr_and_mask>(),
26870        8usize,
26871        concat!("Size of: ", stringify!(ipv4_addr_and_mask))
26872    );
26873    assert_eq!(
26874        ::std::mem::align_of::<ipv4_addr_and_mask>(),
26875        4usize,
26876        concat!("Alignment of ", stringify!(ipv4_addr_and_mask))
26877    );
26878    assert_eq!(
26879        unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
26880        0usize,
26881        concat!(
26882            "Offset of field: ",
26883            stringify!(ipv4_addr_and_mask),
26884            "::",
26885            stringify!(addr)
26886        )
26887    );
26888    assert_eq!(
26889        unsafe { ::std::ptr::addr_of!((*ptr).nmask) as usize - ptr as usize },
26890        4usize,
26891        concat!(
26892            "Offset of field: ",
26893            stringify!(ipv4_addr_and_mask),
26894            "::",
26895            stringify!(nmask)
26896        )
26897    );
26898}
26899#[repr(C)]
26900#[derive(Debug, Copy, Clone)]
26901pub struct nstime_t {
26902    pub secs: time_t,
26903    pub nsecs: ::std::os::raw::c_int,
26904}
26905#[test]
26906fn bindgen_test_layout_nstime_t() {
26907    const UNINIT: ::std::mem::MaybeUninit<nstime_t> = ::std::mem::MaybeUninit::uninit();
26908    let ptr = UNINIT.as_ptr();
26909    assert_eq!(
26910        ::std::mem::size_of::<nstime_t>(),
26911        16usize,
26912        concat!("Size of: ", stringify!(nstime_t))
26913    );
26914    assert_eq!(
26915        ::std::mem::align_of::<nstime_t>(),
26916        8usize,
26917        concat!("Alignment of ", stringify!(nstime_t))
26918    );
26919    assert_eq!(
26920        unsafe { ::std::ptr::addr_of!((*ptr).secs) as usize - ptr as usize },
26921        0usize,
26922        concat!(
26923            "Offset of field: ",
26924            stringify!(nstime_t),
26925            "::",
26926            stringify!(secs)
26927        )
26928    );
26929    assert_eq!(
26930        unsafe { ::std::ptr::addr_of!((*ptr).nsecs) as usize - ptr as usize },
26931        8usize,
26932        concat!(
26933            "Offset of field: ",
26934            stringify!(nstime_t),
26935            "::",
26936            stringify!(nsecs)
26937        )
26938    );
26939}
26940extern "C" {
26941    pub fn nstime_set_zero(nstime: *mut nstime_t);
26942}
26943extern "C" {
26944    pub fn nstime_is_zero(nstime: *const nstime_t) -> gboolean;
26945}
26946extern "C" {
26947    pub fn nstime_set_unset(nstime: *mut nstime_t);
26948}
26949extern "C" {
26950    pub fn nstime_is_unset(nstime: *const nstime_t) -> gboolean;
26951}
26952extern "C" {
26953    pub fn nstime_copy(a: *mut nstime_t, b: *const nstime_t);
26954}
26955extern "C" {
26956    pub fn nstime_delta(delta: *mut nstime_t, b: *const nstime_t, a: *const nstime_t);
26957}
26958extern "C" {
26959    pub fn nstime_sum(sum: *mut nstime_t, a: *const nstime_t, b: *const nstime_t);
26960}
26961extern "C" {
26962    pub fn nstime_cmp(a: *const nstime_t, b: *const nstime_t) -> ::std::os::raw::c_int;
26963}
26964extern "C" {
26965    pub fn nstime_to_msec(nstime: *const nstime_t) -> f64;
26966}
26967extern "C" {
26968    pub fn nstime_to_sec(nstime: *const nstime_t) -> f64;
26969}
26970extern "C" {
26971    pub fn filetime_to_nstime(nstime: *mut nstime_t, filetime: guint64) -> gboolean;
26972}
26973extern "C" {
26974    pub fn nsfiletime_to_nstime(nstime: *mut nstime_t, nsfiletime: guint64) -> gboolean;
26975}
26976pub const iso8601_fmt_e_ISO8601_DATETIME: iso8601_fmt_e = 0;
26977pub const iso8601_fmt_e_ISO8601_DATETIME_BASIC: iso8601_fmt_e = 1;
26978pub const iso8601_fmt_e_ISO8601_DATETIME_AUTO: iso8601_fmt_e = 2;
26979pub type iso8601_fmt_e = ::std::os::raw::c_uint;
26980extern "C" {
26981    pub fn iso8601_to_nstime(
26982        nstime: *mut nstime_t,
26983        ptr: *const ::std::os::raw::c_char,
26984        format: iso8601_fmt_e,
26985    ) -> guint8;
26986}
26987extern "C" {
26988    pub fn unix_epoch_to_nstime(
26989        nstime: *mut nstime_t,
26990        ptr: *const ::std::os::raw::c_char,
26991    ) -> guint8;
26992}
26993#[repr(C)]
26994#[derive(Debug, Copy, Clone)]
26995pub struct _e_guid_t {
26996    pub data1: guint32,
26997    pub data2: guint16,
26998    pub data3: guint16,
26999    pub data4: [guint8; 8usize],
27000}
27001#[test]
27002fn bindgen_test_layout__e_guid_t() {
27003    const UNINIT: ::std::mem::MaybeUninit<_e_guid_t> = ::std::mem::MaybeUninit::uninit();
27004    let ptr = UNINIT.as_ptr();
27005    assert_eq!(
27006        ::std::mem::size_of::<_e_guid_t>(),
27007        16usize,
27008        concat!("Size of: ", stringify!(_e_guid_t))
27009    );
27010    assert_eq!(
27011        ::std::mem::align_of::<_e_guid_t>(),
27012        4usize,
27013        concat!("Alignment of ", stringify!(_e_guid_t))
27014    );
27015    assert_eq!(
27016        unsafe { ::std::ptr::addr_of!((*ptr).data1) as usize - ptr as usize },
27017        0usize,
27018        concat!(
27019            "Offset of field: ",
27020            stringify!(_e_guid_t),
27021            "::",
27022            stringify!(data1)
27023        )
27024    );
27025    assert_eq!(
27026        unsafe { ::std::ptr::addr_of!((*ptr).data2) as usize - ptr as usize },
27027        4usize,
27028        concat!(
27029            "Offset of field: ",
27030            stringify!(_e_guid_t),
27031            "::",
27032            stringify!(data2)
27033        )
27034    );
27035    assert_eq!(
27036        unsafe { ::std::ptr::addr_of!((*ptr).data3) as usize - ptr as usize },
27037        6usize,
27038        concat!(
27039            "Offset of field: ",
27040            stringify!(_e_guid_t),
27041            "::",
27042            stringify!(data3)
27043        )
27044    );
27045    assert_eq!(
27046        unsafe { ::std::ptr::addr_of!((*ptr).data4) as usize - ptr as usize },
27047        8usize,
27048        concat!(
27049            "Offset of field: ",
27050            stringify!(_e_guid_t),
27051            "::",
27052            stringify!(data4)
27053        )
27054    );
27055}
27056pub type e_guid_t = _e_guid_t;
27057extern "C" {
27058    pub fn guids_init();
27059}
27060extern "C" {
27061    pub fn guids_add_guid(guid: *const e_guid_t, name: *const gchar);
27062}
27063extern "C" {
27064    pub fn guids_get_guid_name(guid: *const e_guid_t, scope: *mut wmem_allocator_t)
27065        -> *const gchar;
27066}
27067extern "C" {
27068    pub fn guids_resolve_guid_to_str(
27069        guid: *const e_guid_t,
27070        scope: *mut wmem_allocator_t,
27071    ) -> *const gchar;
27072}
27073extern "C" {
27074    pub fn guid_cmp(g1: *const e_guid_t, g2: *const e_guid_t) -> ::std::os::raw::c_int;
27075}
27076#[repr(C)]
27077#[derive(Debug, Copy, Clone)]
27078pub struct ipv6_addr_and_prefix {
27079    pub addr: ws_in6_addr,
27080    pub prefix: guint32,
27081}
27082#[test]
27083fn bindgen_test_layout_ipv6_addr_and_prefix() {
27084    const UNINIT: ::std::mem::MaybeUninit<ipv6_addr_and_prefix> = ::std::mem::MaybeUninit::uninit();
27085    let ptr = UNINIT.as_ptr();
27086    assert_eq!(
27087        ::std::mem::size_of::<ipv6_addr_and_prefix>(),
27088        20usize,
27089        concat!("Size of: ", stringify!(ipv6_addr_and_prefix))
27090    );
27091    assert_eq!(
27092        ::std::mem::align_of::<ipv6_addr_and_prefix>(),
27093        4usize,
27094        concat!("Alignment of ", stringify!(ipv6_addr_and_prefix))
27095    );
27096    assert_eq!(
27097        unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
27098        0usize,
27099        concat!(
27100            "Offset of field: ",
27101            stringify!(ipv6_addr_and_prefix),
27102            "::",
27103            stringify!(addr)
27104        )
27105    );
27106    assert_eq!(
27107        unsafe { ::std::ptr::addr_of!((*ptr).prefix) as usize - ptr as usize },
27108        16usize,
27109        concat!(
27110            "Offset of field: ",
27111            stringify!(ipv6_addr_and_prefix),
27112            "::",
27113            stringify!(prefix)
27114        )
27115    );
27116}
27117#[repr(C)]
27118#[derive(Debug, Copy, Clone)]
27119pub struct ws_mempbrk_pattern {
27120    pub patt: [gchar; 256usize],
27121}
27122#[test]
27123fn bindgen_test_layout_ws_mempbrk_pattern() {
27124    const UNINIT: ::std::mem::MaybeUninit<ws_mempbrk_pattern> = ::std::mem::MaybeUninit::uninit();
27125    let ptr = UNINIT.as_ptr();
27126    assert_eq!(
27127        ::std::mem::size_of::<ws_mempbrk_pattern>(),
27128        256usize,
27129        concat!("Size of: ", stringify!(ws_mempbrk_pattern))
27130    );
27131    assert_eq!(
27132        ::std::mem::align_of::<ws_mempbrk_pattern>(),
27133        1usize,
27134        concat!("Alignment of ", stringify!(ws_mempbrk_pattern))
27135    );
27136    assert_eq!(
27137        unsafe { ::std::ptr::addr_of!((*ptr).patt) as usize - ptr as usize },
27138        0usize,
27139        concat!(
27140            "Offset of field: ",
27141            stringify!(ws_mempbrk_pattern),
27142            "::",
27143            stringify!(patt)
27144        )
27145    );
27146}
27147extern "C" {
27148    pub fn ws_mempbrk_compile(pattern: *mut ws_mempbrk_pattern, needles: *const gchar);
27149}
27150extern "C" {
27151    pub fn ws_mempbrk_exec(
27152        haystack: *const guint8,
27153        haystacklen: usize,
27154        pattern: *const ws_mempbrk_pattern,
27155        found_needle: *mut guchar,
27156    ) -> *const guint8;
27157}
27158#[repr(C)]
27159#[derive(Debug, Copy, Clone)]
27160pub struct tvbuff {
27161    _unused: [u8; 0],
27162}
27163pub type tvbuff_t = tvbuff;
27164pub type tvbuff_free_cb_t =
27165    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
27166extern "C" {
27167    pub fn tvb_new_octet_aligned(
27168        tvb: *mut tvbuff_t,
27169        bit_offset: guint32,
27170        no_of_bits: gint32,
27171    ) -> *mut tvbuff_t;
27172}
27173extern "C" {
27174    pub fn tvb_new_octet_right_aligned(
27175        tvb: *mut tvbuff_t,
27176        bit_offset: guint32,
27177        no_of_bits: gint32,
27178    ) -> *mut tvbuff_t;
27179}
27180extern "C" {
27181    pub fn tvb_new_chain(parent: *mut tvbuff_t, backing: *mut tvbuff_t) -> *mut tvbuff_t;
27182}
27183extern "C" {
27184    pub fn tvb_clone(tvb: *mut tvbuff_t) -> *mut tvbuff_t;
27185}
27186extern "C" {
27187    pub fn tvb_clone_offset_len(tvb: *mut tvbuff_t, offset: guint, len: guint) -> *mut tvbuff_t;
27188}
27189extern "C" {
27190    pub fn tvb_free(tvb: *mut tvbuff_t);
27191}
27192extern "C" {
27193    pub fn tvb_free_chain(tvb: *mut tvbuff_t);
27194}
27195extern "C" {
27196    pub fn tvb_set_free_cb(tvb: *mut tvbuff_t, func: tvbuff_free_cb_t);
27197}
27198extern "C" {
27199    pub fn tvb_set_child_real_data_tvbuff(parent: *mut tvbuff_t, child: *mut tvbuff_t);
27200}
27201extern "C" {
27202    pub fn tvb_new_child_real_data(
27203        parent: *mut tvbuff_t,
27204        data: *const guint8,
27205        length: guint,
27206        reported_length: gint,
27207    ) -> *mut tvbuff_t;
27208}
27209extern "C" {
27210    pub fn tvb_new_real_data(
27211        data: *const guint8,
27212        length: guint,
27213        reported_length: gint,
27214    ) -> *mut tvbuff_t;
27215}
27216extern "C" {
27217    pub fn tvb_new_subset_length_caplen(
27218        backing: *mut tvbuff_t,
27219        backing_offset: gint,
27220        backing_length: gint,
27221        reported_length: gint,
27222    ) -> *mut tvbuff_t;
27223}
27224extern "C" {
27225    pub fn tvb_new_subset_length(
27226        backing: *mut tvbuff_t,
27227        backing_offset: gint,
27228        reported_length: gint,
27229    ) -> *mut tvbuff_t;
27230}
27231extern "C" {
27232    pub fn tvb_new_subset_remaining(backing: *mut tvbuff_t, backing_offset: gint) -> *mut tvbuff_t;
27233}
27234extern "C" {
27235    pub fn tvb_composite_append(tvb: *mut tvbuff_t, member: *mut tvbuff_t);
27236}
27237extern "C" {
27238    pub fn tvb_composite_prepend(tvb: *mut tvbuff_t, member: *mut tvbuff_t);
27239}
27240extern "C" {
27241    pub fn tvb_new_composite() -> *mut tvbuff_t;
27242}
27243extern "C" {
27244    pub fn tvb_composite_finalize(tvb: *mut tvbuff_t);
27245}
27246extern "C" {
27247    pub fn tvb_captured_length(tvb: *const tvbuff_t) -> guint;
27248}
27249extern "C" {
27250    pub fn tvb_captured_length_remaining(tvb: *const tvbuff_t, offset: gint) -> gint;
27251}
27252extern "C" {
27253    pub fn tvb_ensure_captured_length_remaining(tvb: *const tvbuff_t, offset: gint) -> guint;
27254}
27255extern "C" {
27256    pub fn tvb_bytes_exist(tvb: *const tvbuff_t, offset: gint, length: gint) -> gboolean;
27257}
27258extern "C" {
27259    pub fn tvb_ensure_bytes_exist64(tvb: *const tvbuff_t, offset: gint, length: guint64);
27260}
27261extern "C" {
27262    pub fn tvb_ensure_bytes_exist(tvb: *const tvbuff_t, offset: gint, length: gint);
27263}
27264extern "C" {
27265    pub fn tvb_offset_exists(tvb: *const tvbuff_t, offset: gint) -> gboolean;
27266}
27267extern "C" {
27268    pub fn tvb_reported_length(tvb: *const tvbuff_t) -> guint;
27269}
27270extern "C" {
27271    pub fn tvb_reported_length_remaining(tvb: *const tvbuff_t, offset: gint) -> gint;
27272}
27273extern "C" {
27274    pub fn tvb_ensure_reported_length_remaining(tvb: *const tvbuff_t, offset: gint) -> guint;
27275}
27276extern "C" {
27277    pub fn tvb_set_reported_length(tvb: *mut tvbuff_t, arg1: guint);
27278}
27279extern "C" {
27280    pub fn tvb_fix_reported_length(tvb: *mut tvbuff_t);
27281}
27282extern "C" {
27283    pub fn tvb_offset_from_real_beginning(tvb: *const tvbuff_t) -> guint;
27284}
27285extern "C" {
27286    pub fn tvb_raw_offset(tvb: *mut tvbuff_t) -> gint;
27287}
27288extern "C" {
27289    pub fn tvb_set_fragment(tvb: *mut tvbuff_t);
27290}
27291extern "C" {
27292    pub fn tvb_get_ds_tvb(tvb: *mut tvbuff_t) -> *mut tvbuff;
27293}
27294extern "C" {
27295    pub fn tvb_get_guint8(tvb: *mut tvbuff_t, offset: gint) -> guint8;
27296}
27297extern "C" {
27298    pub fn tvb_get_gint8(tvb: *mut tvbuff_t, offset: gint) -> gint8;
27299}
27300extern "C" {
27301    pub fn tvb_get_ntohs(tvb: *mut tvbuff_t, offset: gint) -> guint16;
27302}
27303extern "C" {
27304    pub fn tvb_get_ntohis(tvb: *mut tvbuff_t, offset: gint) -> gint16;
27305}
27306extern "C" {
27307    pub fn tvb_get_ntoh24(tvb: *mut tvbuff_t, offset: gint) -> guint32;
27308}
27309extern "C" {
27310    pub fn tvb_get_ntohi24(tvb: *mut tvbuff_t, offset: gint) -> gint32;
27311}
27312extern "C" {
27313    pub fn tvb_get_ntohl(tvb: *mut tvbuff_t, offset: gint) -> guint32;
27314}
27315extern "C" {
27316    pub fn tvb_get_ntohil(tvb: *mut tvbuff_t, offset: gint) -> gint32;
27317}
27318extern "C" {
27319    pub fn tvb_get_ntoh40(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27320}
27321extern "C" {
27322    pub fn tvb_get_ntohi40(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27323}
27324extern "C" {
27325    pub fn tvb_get_ntoh48(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27326}
27327extern "C" {
27328    pub fn tvb_get_ntohi48(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27329}
27330extern "C" {
27331    pub fn tvb_get_ntoh56(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27332}
27333extern "C" {
27334    pub fn tvb_get_ntohi56(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27335}
27336extern "C" {
27337    pub fn tvb_get_ntoh64(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27338}
27339extern "C" {
27340    pub fn tvb_get_ntohi64(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27341}
27342extern "C" {
27343    pub fn tvb_get_ntohieee_float(tvb: *mut tvbuff_t, offset: gint) -> gfloat;
27344}
27345extern "C" {
27346    pub fn tvb_get_ntohieee_double(tvb: *mut tvbuff_t, offset: gint) -> gdouble;
27347}
27348extern "C" {
27349    pub fn tvb_get_letohs(tvb: *mut tvbuff_t, offset: gint) -> guint16;
27350}
27351extern "C" {
27352    pub fn tvb_get_letohis(tvb: *mut tvbuff_t, offset: gint) -> gint16;
27353}
27354extern "C" {
27355    pub fn tvb_get_letoh24(tvb: *mut tvbuff_t, offset: gint) -> guint32;
27356}
27357extern "C" {
27358    pub fn tvb_get_letohi24(tvb: *mut tvbuff_t, offset: gint) -> gint32;
27359}
27360extern "C" {
27361    pub fn tvb_get_letohl(tvb: *mut tvbuff_t, offset: gint) -> guint32;
27362}
27363extern "C" {
27364    pub fn tvb_get_letohil(tvb: *mut tvbuff_t, offset: gint) -> gint32;
27365}
27366extern "C" {
27367    pub fn tvb_get_letoh40(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27368}
27369extern "C" {
27370    pub fn tvb_get_letohi40(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27371}
27372extern "C" {
27373    pub fn tvb_get_letoh48(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27374}
27375extern "C" {
27376    pub fn tvb_get_letohi48(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27377}
27378extern "C" {
27379    pub fn tvb_get_letoh56(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27380}
27381extern "C" {
27382    pub fn tvb_get_letohi56(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27383}
27384extern "C" {
27385    pub fn tvb_get_letoh64(tvb: *mut tvbuff_t, offset: gint) -> guint64;
27386}
27387extern "C" {
27388    pub fn tvb_get_letohi64(tvb: *mut tvbuff_t, offset: gint) -> gint64;
27389}
27390extern "C" {
27391    pub fn tvb_get_letohieee_float(tvb: *mut tvbuff_t, offset: gint) -> gfloat;
27392}
27393extern "C" {
27394    pub fn tvb_get_letohieee_double(tvb: *mut tvbuff_t, offset: gint) -> gdouble;
27395}
27396extern "C" {
27397    pub fn tvb_get_guint16(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint16;
27398}
27399extern "C" {
27400    pub fn tvb_get_gint16(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint16;
27401}
27402extern "C" {
27403    pub fn tvb_get_guint24(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint32;
27404}
27405extern "C" {
27406    pub fn tvb_get_gint24(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint32;
27407}
27408extern "C" {
27409    pub fn tvb_get_guint32(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint32;
27410}
27411extern "C" {
27412    pub fn tvb_get_gint32(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint32;
27413}
27414extern "C" {
27415    pub fn tvb_get_guint40(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint64;
27416}
27417extern "C" {
27418    pub fn tvb_get_gint40(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint64;
27419}
27420extern "C" {
27421    pub fn tvb_get_guint48(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint64;
27422}
27423extern "C" {
27424    pub fn tvb_get_gint48(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint64;
27425}
27426extern "C" {
27427    pub fn tvb_get_guint56(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint64;
27428}
27429extern "C" {
27430    pub fn tvb_get_gint56(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint64;
27431}
27432extern "C" {
27433    pub fn tvb_get_guint64(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> guint64;
27434}
27435extern "C" {
27436    pub fn tvb_get_gint64(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gint64;
27437}
27438extern "C" {
27439    pub fn tvb_get_ieee_float(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gfloat;
27440}
27441extern "C" {
27442    pub fn tvb_get_ieee_double(tvb: *mut tvbuff_t, offset: gint, encoding: guint) -> gdouble;
27443}
27444extern "C" {
27445    pub fn tvb_get_string_time(
27446        tvb: *mut tvbuff_t,
27447        offset: gint,
27448        length: gint,
27449        encoding: guint,
27450        ns: *mut nstime_t,
27451        endoff: *mut gint,
27452    ) -> *mut nstime_t;
27453}
27454extern "C" {
27455    pub fn tvb_get_string_bytes(
27456        tvb: *mut tvbuff_t,
27457        offset: gint,
27458        length: gint,
27459        encoding: guint,
27460        bytes: *mut GByteArray,
27461        endoff: *mut gint,
27462    ) -> *mut GByteArray;
27463}
27464extern "C" {
27465    pub fn tvb_get_ipv4(tvb: *mut tvbuff_t, offset: gint) -> guint32;
27466}
27467extern "C" {
27468    pub fn tvb_get_ipv6(tvb: *mut tvbuff_t, offset: gint, addr: *mut ws_in6_addr);
27469}
27470extern "C" {
27471    pub fn tvb_get_ntohguid(tvb: *mut tvbuff_t, offset: gint, guid: *mut e_guid_t);
27472}
27473extern "C" {
27474    pub fn tvb_get_letohguid(tvb: *mut tvbuff_t, offset: gint, guid: *mut e_guid_t);
27475}
27476extern "C" {
27477    pub fn tvb_get_guid(tvb: *mut tvbuff_t, offset: gint, guid: *mut e_guid_t, encoding: guint);
27478}
27479extern "C" {
27480    pub fn tvb_get_bits_array(
27481        scope: *mut wmem_allocator_t,
27482        tvb: *mut tvbuff_t,
27483        offset: gint,
27484        length: usize,
27485        data_length: *mut usize,
27486        encoding: guint,
27487    ) -> *mut guint8;
27488}
27489extern "C" {
27490    pub fn tvb_get_bits8(tvb: *mut tvbuff_t, bit_offset: guint, no_of_bits: gint) -> guint8;
27491}
27492extern "C" {
27493    pub fn tvb_get_bits16(
27494        tvb: *mut tvbuff_t,
27495        bit_offset: guint,
27496        no_of_bits: gint,
27497        encoding: guint,
27498    ) -> guint16;
27499}
27500extern "C" {
27501    pub fn tvb_get_bits32(
27502        tvb: *mut tvbuff_t,
27503        bit_offset: guint,
27504        no_of_bits: gint,
27505        encoding: guint,
27506    ) -> guint32;
27507}
27508extern "C" {
27509    pub fn tvb_get_bits64(
27510        tvb: *mut tvbuff_t,
27511        bit_offset: guint,
27512        no_of_bits: gint,
27513        encoding: guint,
27514    ) -> guint64;
27515}
27516extern "C" {
27517    pub fn tvb_get_bits(
27518        tvb: *mut tvbuff_t,
27519        bit_offset: guint,
27520        no_of_bits: gint,
27521        encoding: guint,
27522    ) -> guint32;
27523}
27524extern "C" {
27525    pub fn tvb_memcpy(
27526        tvb: *mut tvbuff_t,
27527        target: *mut ::std::os::raw::c_void,
27528        offset: gint,
27529        length: usize,
27530    ) -> *mut ::std::os::raw::c_void;
27531}
27532extern "C" {
27533    pub fn tvb_memdup(
27534        scope: *mut wmem_allocator_t,
27535        tvb: *mut tvbuff_t,
27536        offset: gint,
27537        length: usize,
27538    ) -> *mut ::std::os::raw::c_void;
27539}
27540extern "C" {
27541    pub fn tvb_get_ptr(tvb: *mut tvbuff_t, offset: gint, length: gint) -> *const guint8;
27542}
27543extern "C" {
27544    pub fn tvb_find_guint8(
27545        tvb: *mut tvbuff_t,
27546        offset: gint,
27547        maxlength: gint,
27548        needle: guint8,
27549    ) -> gint;
27550}
27551extern "C" {
27552    pub fn tvb_find_guint16(
27553        tvb: *mut tvbuff_t,
27554        offset: gint,
27555        maxlength: gint,
27556        needle: guint16,
27557    ) -> gint;
27558}
27559extern "C" {
27560    pub fn tvb_ws_mempbrk_pattern_guint8(
27561        tvb: *mut tvbuff_t,
27562        offset: gint,
27563        maxlength: gint,
27564        pattern: *const ws_mempbrk_pattern,
27565        found_needle: *mut guchar,
27566    ) -> gint;
27567}
27568extern "C" {
27569    pub fn tvb_strsize(tvb: *mut tvbuff_t, offset: gint) -> guint;
27570}
27571extern "C" {
27572    pub fn tvb_unicode_strsize(tvb: *mut tvbuff_t, offset: gint) -> guint;
27573}
27574extern "C" {
27575    pub fn tvb_strnlen(tvb: *mut tvbuff_t, offset: gint, maxlength: guint) -> gint;
27576}
27577extern "C" {
27578    pub fn tvb_format_text(
27579        scope: *mut wmem_allocator_t,
27580        tvb: *mut tvbuff_t,
27581        offset: gint,
27582        size: gint,
27583    ) -> *mut gchar;
27584}
27585extern "C" {
27586    pub fn tvb_format_text_wsp(
27587        allocator: *mut wmem_allocator_t,
27588        tvb: *mut tvbuff_t,
27589        offset: gint,
27590        size: gint,
27591    ) -> *mut gchar;
27592}
27593extern "C" {
27594    pub fn tvb_format_stringzpad(
27595        scope: *mut wmem_allocator_t,
27596        tvb: *mut tvbuff_t,
27597        offset: gint,
27598        size: gint,
27599    ) -> *mut gchar;
27600}
27601extern "C" {
27602    pub fn tvb_format_stringzpad_wsp(
27603        allocator: *mut wmem_allocator_t,
27604        tvb: *mut tvbuff_t,
27605        offset: gint,
27606        size: gint,
27607    ) -> *mut gchar;
27608}
27609extern "C" {
27610    pub fn tvb_get_string_enc(
27611        scope: *mut wmem_allocator_t,
27612        tvb: *mut tvbuff_t,
27613        offset: gint,
27614        length: gint,
27615        encoding: guint,
27616    ) -> *mut guint8;
27617}
27618extern "C" {
27619    pub fn tvb_get_ts_23_038_7bits_string_packed(
27620        scope: *mut wmem_allocator_t,
27621        tvb: *mut tvbuff_t,
27622        bit_offset: gint,
27623        no_of_chars: gint,
27624    ) -> *mut gchar;
27625}
27626extern "C" {
27627    pub fn tvb_get_ts_23_038_7bits_string_unpacked(
27628        scope: *mut wmem_allocator_t,
27629        tvb: *mut tvbuff_t,
27630        offset: gint,
27631        length: gint,
27632    ) -> *mut gchar;
27633}
27634extern "C" {
27635    pub fn tvb_get_etsi_ts_102_221_annex_a_string(
27636        scope: *mut wmem_allocator_t,
27637        tvb: *mut tvbuff_t,
27638        offset: gint,
27639        length: gint,
27640    ) -> *mut gchar;
27641}
27642extern "C" {
27643    pub fn tvb_get_ascii_7bits_string(
27644        scope: *mut wmem_allocator_t,
27645        tvb: *mut tvbuff_t,
27646        bit_offset: gint,
27647        no_of_chars: gint,
27648    ) -> *mut gchar;
27649}
27650extern "C" {
27651    pub fn tvb_get_stringzpad(
27652        scope: *mut wmem_allocator_t,
27653        tvb: *mut tvbuff_t,
27654        offset: gint,
27655        length: gint,
27656        encoding: guint,
27657    ) -> *mut guint8;
27658}
27659extern "C" {
27660    pub fn tvb_get_stringz_enc(
27661        scope: *mut wmem_allocator_t,
27662        tvb: *mut tvbuff_t,
27663        offset: gint,
27664        lengthp: *mut gint,
27665        encoding: guint,
27666    ) -> *mut guint8;
27667}
27668extern "C" {
27669    pub fn tvb_get_const_stringz(
27670        tvb: *mut tvbuff_t,
27671        offset: gint,
27672        lengthp: *mut gint,
27673    ) -> *const guint8;
27674}
27675extern "C" {
27676    pub fn tvb_get_nstringz(
27677        tvb: *mut tvbuff_t,
27678        offset: gint,
27679        bufsize: guint,
27680        buffer: *mut guint8,
27681    ) -> gint;
27682}
27683extern "C" {
27684    pub fn tvb_get_nstringz0(
27685        tvb: *mut tvbuff_t,
27686        offset: gint,
27687        bufsize: guint,
27688        buffer: *mut guint8,
27689    ) -> gint;
27690}
27691extern "C" {
27692    pub fn tvb_get_raw_bytes_as_string(
27693        tvb: *mut tvbuff_t,
27694        offset: gint,
27695        buffer: *mut ::std::os::raw::c_char,
27696        bufsize: usize,
27697    ) -> gint;
27698}
27699extern "C" {
27700    pub fn tvb_ascii_isprint(tvb: *mut tvbuff_t, offset: gint, length: gint) -> gboolean;
27701}
27702extern "C" {
27703    pub fn tvb_utf_8_isprint(tvb: *mut tvbuff_t, offset: gint, length: gint) -> gboolean;
27704}
27705extern "C" {
27706    pub fn tvb_find_line_end(
27707        tvb: *mut tvbuff_t,
27708        offset: gint,
27709        len: ::std::os::raw::c_int,
27710        next_offset: *mut gint,
27711        desegment: gboolean,
27712    ) -> gint;
27713}
27714extern "C" {
27715    pub fn tvb_find_line_end_unquoted(
27716        tvb: *mut tvbuff_t,
27717        offset: gint,
27718        len: ::std::os::raw::c_int,
27719        next_offset: *mut gint,
27720    ) -> gint;
27721}
27722extern "C" {
27723    pub fn tvb_skip_wsp(tvb: *mut tvbuff_t, offset: gint, maxlength: gint) -> gint;
27724}
27725extern "C" {
27726    pub fn tvb_skip_wsp_return(tvb: *mut tvbuff_t, offset: gint) -> gint;
27727}
27728extern "C" {
27729    pub fn tvb_skip_guint8(
27730        tvb: *mut tvbuff_t,
27731        offset: ::std::os::raw::c_int,
27732        maxlength: ::std::os::raw::c_int,
27733        ch: guint8,
27734    ) -> ::std::os::raw::c_int;
27735}
27736extern "C" {
27737    pub fn tvb_get_token_len(
27738        tvb: *mut tvbuff_t,
27739        offset: gint,
27740        len: ::std::os::raw::c_int,
27741        next_offset: *mut gint,
27742        desegment: gboolean,
27743    ) -> ::std::os::raw::c_int;
27744}
27745extern "C" {
27746    pub fn tvb_strneql(tvb: *mut tvbuff_t, offset: gint, str_: *const gchar, size: usize) -> gint;
27747}
27748extern "C" {
27749    pub fn tvb_strncaseeql(
27750        tvb: *mut tvbuff_t,
27751        offset: gint,
27752        str_: *const gchar,
27753        size: usize,
27754    ) -> gint;
27755}
27756extern "C" {
27757    pub fn tvb_memeql(tvb: *mut tvbuff_t, offset: gint, str_: *const guint8, size: usize) -> gint;
27758}
27759extern "C" {
27760    pub fn tvb_bytes_to_str_punct(
27761        scope: *mut wmem_allocator_t,
27762        tvb: *mut tvbuff_t,
27763        offset: gint,
27764        len: gint,
27765        punct: gchar,
27766    ) -> *mut gchar;
27767}
27768extern "C" {
27769    pub fn tvb_bytes_to_str(
27770        allocator: *mut wmem_allocator_t,
27771        tvb: *mut tvbuff_t,
27772        offset: gint,
27773        len: gint,
27774    ) -> *mut gchar;
27775}
27776#[repr(C)]
27777#[derive(Debug, Copy, Clone)]
27778pub struct dgt_set_t {
27779    pub out: [::std::os::raw::c_uchar; 16usize],
27780}
27781#[test]
27782fn bindgen_test_layout_dgt_set_t() {
27783    const UNINIT: ::std::mem::MaybeUninit<dgt_set_t> = ::std::mem::MaybeUninit::uninit();
27784    let ptr = UNINIT.as_ptr();
27785    assert_eq!(
27786        ::std::mem::size_of::<dgt_set_t>(),
27787        16usize,
27788        concat!("Size of: ", stringify!(dgt_set_t))
27789    );
27790    assert_eq!(
27791        ::std::mem::align_of::<dgt_set_t>(),
27792        1usize,
27793        concat!("Alignment of ", stringify!(dgt_set_t))
27794    );
27795    assert_eq!(
27796        unsafe { ::std::ptr::addr_of!((*ptr).out) as usize - ptr as usize },
27797        0usize,
27798        concat!(
27799            "Offset of field: ",
27800            stringify!(dgt_set_t),
27801            "::",
27802            stringify!(out)
27803        )
27804    );
27805}
27806extern "C" {
27807    pub fn tvb_bcd_dig_to_str(
27808        scope: *mut wmem_allocator_t,
27809        tvb: *mut tvbuff_t,
27810        offset: gint,
27811        len: gint,
27812        dgt: *const dgt_set_t,
27813        skip_first: gboolean,
27814    ) -> *const gchar;
27815}
27816extern "C" {
27817    pub fn tvb_bcd_dig_to_str_be(
27818        scope: *mut wmem_allocator_t,
27819        tvb: *mut tvbuff_t,
27820        offset: gint,
27821        len: gint,
27822        dgt: *const dgt_set_t,
27823        skip_first: gboolean,
27824    ) -> *const gchar;
27825}
27826extern "C" {
27827    pub fn tvb_get_bcd_string(
27828        scope: *mut wmem_allocator_t,
27829        tvb: *mut tvbuff_t,
27830        offset: gint,
27831        len: gint,
27832        dgt: *const dgt_set_t,
27833        skip_first: gboolean,
27834        odd: gboolean,
27835        bigendian: gboolean,
27836    ) -> *mut gchar;
27837}
27838extern "C" {
27839    pub fn tvb_find_tvb(
27840        haystack_tvb: *mut tvbuff_t,
27841        needle_tvb: *mut tvbuff_t,
27842        haystack_offset: gint,
27843    ) -> gint;
27844}
27845extern "C" {
27846    pub fn tvb_uncompress(
27847        tvb: *mut tvbuff_t,
27848        offset: ::std::os::raw::c_int,
27849        comprlen: ::std::os::raw::c_int,
27850    ) -> *mut tvbuff_t;
27851}
27852extern "C" {
27853    pub fn tvb_child_uncompress(
27854        parent: *mut tvbuff_t,
27855        tvb: *mut tvbuff_t,
27856        offset: ::std::os::raw::c_int,
27857        comprlen: ::std::os::raw::c_int,
27858    ) -> *mut tvbuff_t;
27859}
27860extern "C" {
27861    pub fn tvb_uncompress_brotli(
27862        tvb: *mut tvbuff_t,
27863        offset: ::std::os::raw::c_int,
27864        comprlen: ::std::os::raw::c_int,
27865    ) -> *mut tvbuff_t;
27866}
27867extern "C" {
27868    pub fn tvb_child_uncompress_brotli(
27869        parent: *mut tvbuff_t,
27870        tvb: *mut tvbuff_t,
27871        offset: ::std::os::raw::c_int,
27872        comprlen: ::std::os::raw::c_int,
27873    ) -> *mut tvbuff_t;
27874}
27875extern "C" {
27876    pub fn tvb_uncompress_lz77(
27877        tvb: *mut tvbuff_t,
27878        offset: ::std::os::raw::c_int,
27879        comprlen: ::std::os::raw::c_int,
27880    ) -> *mut tvbuff_t;
27881}
27882extern "C" {
27883    pub fn tvb_child_uncompress_lz77(
27884        parent: *mut tvbuff_t,
27885        tvb: *mut tvbuff_t,
27886        offset: ::std::os::raw::c_int,
27887        comprlen: ::std::os::raw::c_int,
27888    ) -> *mut tvbuff_t;
27889}
27890extern "C" {
27891    pub fn tvb_uncompress_lz77huff(
27892        tvb: *mut tvbuff_t,
27893        offset: ::std::os::raw::c_int,
27894        comprlen: ::std::os::raw::c_int,
27895    ) -> *mut tvbuff_t;
27896}
27897extern "C" {
27898    pub fn tvb_child_uncompress_lz77huff(
27899        parent: *mut tvbuff_t,
27900        tvb: *mut tvbuff_t,
27901        offset: ::std::os::raw::c_int,
27902        comprlen: ::std::os::raw::c_int,
27903    ) -> *mut tvbuff_t;
27904}
27905extern "C" {
27906    pub fn tvb_uncompress_lznt1(
27907        tvb: *mut tvbuff_t,
27908        offset: ::std::os::raw::c_int,
27909        comprlen: ::std::os::raw::c_int,
27910    ) -> *mut tvbuff_t;
27911}
27912extern "C" {
27913    pub fn tvb_child_uncompress_lznt1(
27914        parent: *mut tvbuff_t,
27915        tvb: *mut tvbuff_t,
27916        offset: ::std::os::raw::c_int,
27917        comprlen: ::std::os::raw::c_int,
27918    ) -> *mut tvbuff_t;
27919}
27920extern "C" {
27921    pub fn base64_to_tvb(
27922        parent: *mut tvbuff_t,
27923        base64: *const ::std::os::raw::c_char,
27924    ) -> *mut tvbuff_t;
27925}
27926extern "C" {
27927    pub fn base64_tvb_to_new_tvb(
27928        parent: *mut tvbuff_t,
27929        offset: ::std::os::raw::c_int,
27930        length: ::std::os::raw::c_int,
27931    ) -> *mut tvbuff_t;
27932}
27933extern "C" {
27934    pub fn base64uri_tvb_to_new_tvb(
27935        parent: *mut tvbuff_t,
27936        offset: ::std::os::raw::c_int,
27937        length: ::std::os::raw::c_int,
27938    ) -> *mut tvbuff_t;
27939}
27940extern "C" {
27941    pub fn tvb_get_varint(
27942        tvb: *mut tvbuff_t,
27943        offset: guint,
27944        maxlen: guint,
27945        value: *mut guint64,
27946        encoding: guint,
27947    ) -> guint;
27948}
27949#[repr(C)]
27950#[derive(Debug, Copy, Clone)]
27951pub struct _value_string {
27952    pub value: guint32,
27953    pub strptr: *const gchar,
27954}
27955#[test]
27956fn bindgen_test_layout__value_string() {
27957    const UNINIT: ::std::mem::MaybeUninit<_value_string> = ::std::mem::MaybeUninit::uninit();
27958    let ptr = UNINIT.as_ptr();
27959    assert_eq!(
27960        ::std::mem::size_of::<_value_string>(),
27961        16usize,
27962        concat!("Size of: ", stringify!(_value_string))
27963    );
27964    assert_eq!(
27965        ::std::mem::align_of::<_value_string>(),
27966        8usize,
27967        concat!("Alignment of ", stringify!(_value_string))
27968    );
27969    assert_eq!(
27970        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
27971        0usize,
27972        concat!(
27973            "Offset of field: ",
27974            stringify!(_value_string),
27975            "::",
27976            stringify!(value)
27977        )
27978    );
27979    assert_eq!(
27980        unsafe { ::std::ptr::addr_of!((*ptr).strptr) as usize - ptr as usize },
27981        8usize,
27982        concat!(
27983            "Offset of field: ",
27984            stringify!(_value_string),
27985            "::",
27986            stringify!(strptr)
27987        )
27988    );
27989}
27990pub type value_string = _value_string;
27991extern "C" {
27992    pub fn val_to_str(
27993        val: guint32,
27994        vs: *const value_string,
27995        fmt: *const ::std::os::raw::c_char,
27996    ) -> *const gchar;
27997}
27998extern "C" {
27999    pub fn val_to_str_wmem(
28000        scope: *mut wmem_allocator_t,
28001        val: guint32,
28002        vs: *const value_string,
28003        fmt: *const ::std::os::raw::c_char,
28004    ) -> *mut gchar;
28005}
28006extern "C" {
28007    pub fn val_to_str_const(
28008        val: guint32,
28009        vs: *const value_string,
28010        unknown_str: *const ::std::os::raw::c_char,
28011    ) -> *const gchar;
28012}
28013extern "C" {
28014    pub fn try_val_to_str(val: guint32, vs: *const value_string) -> *const gchar;
28015}
28016extern "C" {
28017    pub fn try_val_to_str_idx(
28018        val: guint32,
28019        vs: *const value_string,
28020        idx: *mut gint,
28021    ) -> *const gchar;
28022}
28023#[repr(C)]
28024#[derive(Debug, Copy, Clone)]
28025pub struct _val64_string {
28026    pub value: guint64,
28027    pub strptr: *const gchar,
28028}
28029#[test]
28030fn bindgen_test_layout__val64_string() {
28031    const UNINIT: ::std::mem::MaybeUninit<_val64_string> = ::std::mem::MaybeUninit::uninit();
28032    let ptr = UNINIT.as_ptr();
28033    assert_eq!(
28034        ::std::mem::size_of::<_val64_string>(),
28035        16usize,
28036        concat!("Size of: ", stringify!(_val64_string))
28037    );
28038    assert_eq!(
28039        ::std::mem::align_of::<_val64_string>(),
28040        8usize,
28041        concat!("Alignment of ", stringify!(_val64_string))
28042    );
28043    assert_eq!(
28044        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
28045        0usize,
28046        concat!(
28047            "Offset of field: ",
28048            stringify!(_val64_string),
28049            "::",
28050            stringify!(value)
28051        )
28052    );
28053    assert_eq!(
28054        unsafe { ::std::ptr::addr_of!((*ptr).strptr) as usize - ptr as usize },
28055        8usize,
28056        concat!(
28057            "Offset of field: ",
28058            stringify!(_val64_string),
28059            "::",
28060            stringify!(strptr)
28061        )
28062    );
28063}
28064pub type val64_string = _val64_string;
28065extern "C" {
28066    pub fn val64_to_str(
28067        val: guint64,
28068        vs: *const val64_string,
28069        fmt: *const ::std::os::raw::c_char,
28070    ) -> *const gchar;
28071}
28072extern "C" {
28073    pub fn val64_to_str_const(
28074        val: guint64,
28075        vs: *const val64_string,
28076        unknown_str: *const ::std::os::raw::c_char,
28077    ) -> *const gchar;
28078}
28079extern "C" {
28080    pub fn try_val64_to_str(val: guint64, vs: *const val64_string) -> *const gchar;
28081}
28082extern "C" {
28083    pub fn try_val64_to_str_idx(
28084        val: guint64,
28085        vs: *const val64_string,
28086        idx: *mut gint,
28087    ) -> *const gchar;
28088}
28089extern "C" {
28090    pub fn str_to_val(val: *const gchar, vs: *const value_string, err_val: guint32) -> guint32;
28091}
28092extern "C" {
28093    pub fn str_to_val_idx(val: *const gchar, vs: *const value_string) -> gint;
28094}
28095pub type value_string_ext = _value_string_ext;
28096pub type _value_string_match2_t = ::std::option::Option<
28097    unsafe extern "C" fn(arg1: guint32, arg2: *mut value_string_ext) -> *const value_string,
28098>;
28099#[repr(C)]
28100#[derive(Debug, Copy, Clone)]
28101pub struct _value_string_ext {
28102    pub _vs_match2: _value_string_match2_t,
28103    pub _vs_first_value: guint32,
28104    pub _vs_num_entries: guint,
28105    pub _vs_p: *const value_string,
28106    pub _vs_name: *const gchar,
28107}
28108#[test]
28109fn bindgen_test_layout__value_string_ext() {
28110    const UNINIT: ::std::mem::MaybeUninit<_value_string_ext> = ::std::mem::MaybeUninit::uninit();
28111    let ptr = UNINIT.as_ptr();
28112    assert_eq!(
28113        ::std::mem::size_of::<_value_string_ext>(),
28114        32usize,
28115        concat!("Size of: ", stringify!(_value_string_ext))
28116    );
28117    assert_eq!(
28118        ::std::mem::align_of::<_value_string_ext>(),
28119        8usize,
28120        concat!("Alignment of ", stringify!(_value_string_ext))
28121    );
28122    assert_eq!(
28123        unsafe { ::std::ptr::addr_of!((*ptr)._vs_match2) as usize - ptr as usize },
28124        0usize,
28125        concat!(
28126            "Offset of field: ",
28127            stringify!(_value_string_ext),
28128            "::",
28129            stringify!(_vs_match2)
28130        )
28131    );
28132    assert_eq!(
28133        unsafe { ::std::ptr::addr_of!((*ptr)._vs_first_value) as usize - ptr as usize },
28134        8usize,
28135        concat!(
28136            "Offset of field: ",
28137            stringify!(_value_string_ext),
28138            "::",
28139            stringify!(_vs_first_value)
28140        )
28141    );
28142    assert_eq!(
28143        unsafe { ::std::ptr::addr_of!((*ptr)._vs_num_entries) as usize - ptr as usize },
28144        12usize,
28145        concat!(
28146            "Offset of field: ",
28147            stringify!(_value_string_ext),
28148            "::",
28149            stringify!(_vs_num_entries)
28150        )
28151    );
28152    assert_eq!(
28153        unsafe { ::std::ptr::addr_of!((*ptr)._vs_p) as usize - ptr as usize },
28154        16usize,
28155        concat!(
28156            "Offset of field: ",
28157            stringify!(_value_string_ext),
28158            "::",
28159            stringify!(_vs_p)
28160        )
28161    );
28162    assert_eq!(
28163        unsafe { ::std::ptr::addr_of!((*ptr)._vs_name) as usize - ptr as usize },
28164        24usize,
28165        concat!(
28166            "Offset of field: ",
28167            stringify!(_value_string_ext),
28168            "::",
28169            stringify!(_vs_name)
28170        )
28171    );
28172}
28173extern "C" {
28174    pub fn _try_val_to_str_ext_init(
28175        val: guint32,
28176        vse: *mut value_string_ext,
28177    ) -> *const value_string;
28178}
28179extern "C" {
28180    pub fn value_string_ext_new(
28181        vs: *const value_string,
28182        vs_tot_num_entries: guint,
28183        vs_name: *const gchar,
28184    ) -> *mut value_string_ext;
28185}
28186extern "C" {
28187    pub fn value_string_ext_free(vse: *mut value_string_ext);
28188}
28189extern "C" {
28190    pub fn val_to_str_ext(
28191        val: guint32,
28192        vse: *mut value_string_ext,
28193        fmt: *const ::std::os::raw::c_char,
28194    ) -> *const gchar;
28195}
28196extern "C" {
28197    pub fn val_to_str_ext_wmem(
28198        scope: *mut wmem_allocator_t,
28199        val: guint32,
28200        vse: *mut value_string_ext,
28201        fmt: *const ::std::os::raw::c_char,
28202    ) -> *mut gchar;
28203}
28204extern "C" {
28205    pub fn val_to_str_ext_const(
28206        val: guint32,
28207        vs: *mut value_string_ext,
28208        unknown_str: *const ::std::os::raw::c_char,
28209    ) -> *const gchar;
28210}
28211extern "C" {
28212    pub fn try_val_to_str_ext(val: guint32, vse: *mut value_string_ext) -> *const gchar;
28213}
28214extern "C" {
28215    pub fn try_val_to_str_idx_ext(
28216        val: guint32,
28217        vse: *mut value_string_ext,
28218        idx: *mut gint,
28219    ) -> *const gchar;
28220}
28221pub type val64_string_ext = _val64_string_ext;
28222pub type _val64_string_match2_t = ::std::option::Option<
28223    unsafe extern "C" fn(arg1: guint64, arg2: *mut val64_string_ext) -> *const val64_string,
28224>;
28225#[repr(C)]
28226#[derive(Debug, Copy, Clone)]
28227pub struct _val64_string_ext {
28228    pub _vs_match2: _val64_string_match2_t,
28229    pub _vs_first_value: guint64,
28230    pub _vs_num_entries: guint,
28231    pub _vs_p: *const val64_string,
28232    pub _vs_name: *const gchar,
28233}
28234#[test]
28235fn bindgen_test_layout__val64_string_ext() {
28236    const UNINIT: ::std::mem::MaybeUninit<_val64_string_ext> = ::std::mem::MaybeUninit::uninit();
28237    let ptr = UNINIT.as_ptr();
28238    assert_eq!(
28239        ::std::mem::size_of::<_val64_string_ext>(),
28240        40usize,
28241        concat!("Size of: ", stringify!(_val64_string_ext))
28242    );
28243    assert_eq!(
28244        ::std::mem::align_of::<_val64_string_ext>(),
28245        8usize,
28246        concat!("Alignment of ", stringify!(_val64_string_ext))
28247    );
28248    assert_eq!(
28249        unsafe { ::std::ptr::addr_of!((*ptr)._vs_match2) as usize - ptr as usize },
28250        0usize,
28251        concat!(
28252            "Offset of field: ",
28253            stringify!(_val64_string_ext),
28254            "::",
28255            stringify!(_vs_match2)
28256        )
28257    );
28258    assert_eq!(
28259        unsafe { ::std::ptr::addr_of!((*ptr)._vs_first_value) as usize - ptr as usize },
28260        8usize,
28261        concat!(
28262            "Offset of field: ",
28263            stringify!(_val64_string_ext),
28264            "::",
28265            stringify!(_vs_first_value)
28266        )
28267    );
28268    assert_eq!(
28269        unsafe { ::std::ptr::addr_of!((*ptr)._vs_num_entries) as usize - ptr as usize },
28270        16usize,
28271        concat!(
28272            "Offset of field: ",
28273            stringify!(_val64_string_ext),
28274            "::",
28275            stringify!(_vs_num_entries)
28276        )
28277    );
28278    assert_eq!(
28279        unsafe { ::std::ptr::addr_of!((*ptr)._vs_p) as usize - ptr as usize },
28280        24usize,
28281        concat!(
28282            "Offset of field: ",
28283            stringify!(_val64_string_ext),
28284            "::",
28285            stringify!(_vs_p)
28286        )
28287    );
28288    assert_eq!(
28289        unsafe { ::std::ptr::addr_of!((*ptr)._vs_name) as usize - ptr as usize },
28290        32usize,
28291        concat!(
28292            "Offset of field: ",
28293            stringify!(_val64_string_ext),
28294            "::",
28295            stringify!(_vs_name)
28296        )
28297    );
28298}
28299extern "C" {
28300    pub fn _try_val64_to_str_ext_init(
28301        val: guint64,
28302        vse: *mut val64_string_ext,
28303    ) -> *const val64_string;
28304}
28305extern "C" {
28306    pub fn val64_string_ext_new(
28307        vs: *const val64_string,
28308        vs_tot_num_entries: guint,
28309        vs_name: *const gchar,
28310    ) -> *mut val64_string_ext;
28311}
28312extern "C" {
28313    pub fn val64_string_ext_free(vse: *mut val64_string_ext);
28314}
28315extern "C" {
28316    pub fn val64_to_str_ext(
28317        val: guint64,
28318        vse: *mut val64_string_ext,
28319        fmt: *const ::std::os::raw::c_char,
28320    ) -> *const gchar;
28321}
28322extern "C" {
28323    pub fn val64_to_str_ext_wmem(
28324        scope: *mut wmem_allocator_t,
28325        val: guint64,
28326        vse: *mut val64_string_ext,
28327        fmt: *const ::std::os::raw::c_char,
28328    ) -> *mut gchar;
28329}
28330extern "C" {
28331    pub fn val64_to_str_ext_const(
28332        val: guint64,
28333        vs: *mut val64_string_ext,
28334        unknown_str: *const ::std::os::raw::c_char,
28335    ) -> *const gchar;
28336}
28337extern "C" {
28338    pub fn try_val64_to_str_ext(val: guint64, vse: *mut val64_string_ext) -> *const gchar;
28339}
28340extern "C" {
28341    pub fn try_val64_to_str_idx_ext(
28342        val: guint64,
28343        vse: *mut val64_string_ext,
28344        idx: *mut gint,
28345    ) -> *const gchar;
28346}
28347#[repr(C)]
28348#[derive(Debug, Copy, Clone)]
28349pub struct _string_string {
28350    pub value: *const gchar,
28351    pub strptr: *const gchar,
28352}
28353#[test]
28354fn bindgen_test_layout__string_string() {
28355    const UNINIT: ::std::mem::MaybeUninit<_string_string> = ::std::mem::MaybeUninit::uninit();
28356    let ptr = UNINIT.as_ptr();
28357    assert_eq!(
28358        ::std::mem::size_of::<_string_string>(),
28359        16usize,
28360        concat!("Size of: ", stringify!(_string_string))
28361    );
28362    assert_eq!(
28363        ::std::mem::align_of::<_string_string>(),
28364        8usize,
28365        concat!("Alignment of ", stringify!(_string_string))
28366    );
28367    assert_eq!(
28368        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
28369        0usize,
28370        concat!(
28371            "Offset of field: ",
28372            stringify!(_string_string),
28373            "::",
28374            stringify!(value)
28375        )
28376    );
28377    assert_eq!(
28378        unsafe { ::std::ptr::addr_of!((*ptr).strptr) as usize - ptr as usize },
28379        8usize,
28380        concat!(
28381            "Offset of field: ",
28382            stringify!(_string_string),
28383            "::",
28384            stringify!(strptr)
28385        )
28386    );
28387}
28388pub type string_string = _string_string;
28389extern "C" {
28390    pub fn str_to_str(
28391        val: *const gchar,
28392        vs: *const string_string,
28393        fmt: *const ::std::os::raw::c_char,
28394    ) -> *const gchar;
28395}
28396extern "C" {
28397    pub fn try_str_to_str(val: *const gchar, vs: *const string_string) -> *const gchar;
28398}
28399extern "C" {
28400    pub fn try_str_to_str_idx(
28401        val: *const gchar,
28402        vs: *const string_string,
28403        idx: *mut gint,
28404    ) -> *const gchar;
28405}
28406#[repr(C)]
28407#[derive(Debug, Copy, Clone)]
28408pub struct _range_string {
28409    pub value_min: u64,
28410    pub value_max: u64,
28411    pub strptr: *const gchar,
28412}
28413#[test]
28414fn bindgen_test_layout__range_string() {
28415    const UNINIT: ::std::mem::MaybeUninit<_range_string> = ::std::mem::MaybeUninit::uninit();
28416    let ptr = UNINIT.as_ptr();
28417    assert_eq!(
28418        ::std::mem::size_of::<_range_string>(),
28419        24usize,
28420        concat!("Size of: ", stringify!(_range_string))
28421    );
28422    assert_eq!(
28423        ::std::mem::align_of::<_range_string>(),
28424        8usize,
28425        concat!("Alignment of ", stringify!(_range_string))
28426    );
28427    assert_eq!(
28428        unsafe { ::std::ptr::addr_of!((*ptr).value_min) as usize - ptr as usize },
28429        0usize,
28430        concat!(
28431            "Offset of field: ",
28432            stringify!(_range_string),
28433            "::",
28434            stringify!(value_min)
28435        )
28436    );
28437    assert_eq!(
28438        unsafe { ::std::ptr::addr_of!((*ptr).value_max) as usize - ptr as usize },
28439        8usize,
28440        concat!(
28441            "Offset of field: ",
28442            stringify!(_range_string),
28443            "::",
28444            stringify!(value_max)
28445        )
28446    );
28447    assert_eq!(
28448        unsafe { ::std::ptr::addr_of!((*ptr).strptr) as usize - ptr as usize },
28449        16usize,
28450        concat!(
28451            "Offset of field: ",
28452            stringify!(_range_string),
28453            "::",
28454            stringify!(strptr)
28455        )
28456    );
28457}
28458pub type range_string = _range_string;
28459extern "C" {
28460    pub fn rval_to_str(
28461        val: guint32,
28462        rs: *const range_string,
28463        fmt: *const ::std::os::raw::c_char,
28464    ) -> *const gchar;
28465}
28466extern "C" {
28467    pub fn rval_to_str_const(
28468        val: guint32,
28469        rs: *const range_string,
28470        unknown_str: *const ::std::os::raw::c_char,
28471    ) -> *const gchar;
28472}
28473extern "C" {
28474    pub fn try_rval_to_str(val: guint32, rs: *const range_string) -> *const gchar;
28475}
28476extern "C" {
28477    pub fn try_rval_to_str_idx(
28478        val: guint32,
28479        rs: *const range_string,
28480        idx: *mut gint,
28481    ) -> *const gchar;
28482}
28483extern "C" {
28484    pub fn try_rval64_to_str(val: guint64, rs: *const range_string) -> *const gchar;
28485}
28486extern "C" {
28487    pub fn try_rval64_to_str_idx(
28488        val: guint64,
28489        rs: *const range_string,
28490        idx: *mut gint,
28491    ) -> *const gchar;
28492}
28493#[repr(C)]
28494#[derive(Debug, Copy, Clone)]
28495pub struct _bytes_string {
28496    pub value: *const guint8,
28497    pub value_length: usize,
28498    pub strptr: *const gchar,
28499}
28500#[test]
28501fn bindgen_test_layout__bytes_string() {
28502    const UNINIT: ::std::mem::MaybeUninit<_bytes_string> = ::std::mem::MaybeUninit::uninit();
28503    let ptr = UNINIT.as_ptr();
28504    assert_eq!(
28505        ::std::mem::size_of::<_bytes_string>(),
28506        24usize,
28507        concat!("Size of: ", stringify!(_bytes_string))
28508    );
28509    assert_eq!(
28510        ::std::mem::align_of::<_bytes_string>(),
28511        8usize,
28512        concat!("Alignment of ", stringify!(_bytes_string))
28513    );
28514    assert_eq!(
28515        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
28516        0usize,
28517        concat!(
28518            "Offset of field: ",
28519            stringify!(_bytes_string),
28520            "::",
28521            stringify!(value)
28522        )
28523    );
28524    assert_eq!(
28525        unsafe { ::std::ptr::addr_of!((*ptr).value_length) as usize - ptr as usize },
28526        8usize,
28527        concat!(
28528            "Offset of field: ",
28529            stringify!(_bytes_string),
28530            "::",
28531            stringify!(value_length)
28532        )
28533    );
28534    assert_eq!(
28535        unsafe { ::std::ptr::addr_of!((*ptr).strptr) as usize - ptr as usize },
28536        16usize,
28537        concat!(
28538            "Offset of field: ",
28539            stringify!(_bytes_string),
28540            "::",
28541            stringify!(strptr)
28542        )
28543    );
28544}
28545pub type bytes_string = _bytes_string;
28546extern "C" {
28547    pub fn bytesval_to_str(
28548        val: *const guint8,
28549        val_len: usize,
28550        bs: *const bytes_string,
28551        fmt: *const ::std::os::raw::c_char,
28552    ) -> *const gchar;
28553}
28554extern "C" {
28555    pub fn try_bytesval_to_str(
28556        val: *const guint8,
28557        val_len: usize,
28558        bs: *const bytes_string,
28559    ) -> *const gchar;
28560}
28561extern "C" {
28562    pub fn bytesprefix_to_str(
28563        haystack: *const guint8,
28564        haystack_len: usize,
28565        bs: *const bytes_string,
28566        fmt: *const ::std::os::raw::c_char,
28567    ) -> *const gchar;
28568}
28569extern "C" {
28570    pub fn try_bytesprefix_to_str(
28571        haystack: *const guint8,
28572        haystack_len: usize,
28573        bs: *const bytes_string,
28574    ) -> *const gchar;
28575}
28576#[repr(C)]
28577#[derive(Debug, Copy, Clone)]
28578pub struct true_false_string {
28579    pub true_string: *const ::std::os::raw::c_char,
28580    pub false_string: *const ::std::os::raw::c_char,
28581}
28582#[test]
28583fn bindgen_test_layout_true_false_string() {
28584    const UNINIT: ::std::mem::MaybeUninit<true_false_string> = ::std::mem::MaybeUninit::uninit();
28585    let ptr = UNINIT.as_ptr();
28586    assert_eq!(
28587        ::std::mem::size_of::<true_false_string>(),
28588        16usize,
28589        concat!("Size of: ", stringify!(true_false_string))
28590    );
28591    assert_eq!(
28592        ::std::mem::align_of::<true_false_string>(),
28593        8usize,
28594        concat!("Alignment of ", stringify!(true_false_string))
28595    );
28596    assert_eq!(
28597        unsafe { ::std::ptr::addr_of!((*ptr).true_string) as usize - ptr as usize },
28598        0usize,
28599        concat!(
28600            "Offset of field: ",
28601            stringify!(true_false_string),
28602            "::",
28603            stringify!(true_string)
28604        )
28605    );
28606    assert_eq!(
28607        unsafe { ::std::ptr::addr_of!((*ptr).false_string) as usize - ptr as usize },
28608        8usize,
28609        concat!(
28610            "Offset of field: ",
28611            stringify!(true_false_string),
28612            "::",
28613            stringify!(false_string)
28614        )
28615    );
28616}
28617extern "C" {
28618    pub fn tfs_get_string(
28619        value: gboolean,
28620        tfs: *const true_false_string,
28621    ) -> *const ::std::os::raw::c_char;
28622}
28623extern "C" {
28624    pub static tfs_true_false: true_false_string;
28625}
28626extern "C" {
28627    pub static tfs_yes_no: true_false_string;
28628}
28629extern "C" {
28630    pub static tfs_no_yes: true_false_string;
28631}
28632extern "C" {
28633    pub static tfs_set_notset: true_false_string;
28634}
28635extern "C" {
28636    pub static tfs_enabled_disabled: true_false_string;
28637}
28638extern "C" {
28639    pub static tfs_disabled_enabled: true_false_string;
28640}
28641extern "C" {
28642    pub static tfs_ok_error: true_false_string;
28643}
28644extern "C" {
28645    pub static tfs_error_ok: true_false_string;
28646}
28647extern "C" {
28648    pub static tfs_success_fail: true_false_string;
28649}
28650extern "C" {
28651    pub static tfs_fail_success: true_false_string;
28652}
28653extern "C" {
28654    pub static tfs_on_off: true_false_string;
28655}
28656extern "C" {
28657    pub static tfs_ack_nack: true_false_string;
28658}
28659extern "C" {
28660    pub static tfs_odd_even: true_false_string;
28661}
28662extern "C" {
28663    pub static tfs_allow_block: true_false_string;
28664}
28665extern "C" {
28666    pub static tfs_restricted_allowed: true_false_string;
28667}
28668extern "C" {
28669    pub static tfs_restricted_not_restricted: true_false_string;
28670}
28671extern "C" {
28672    pub static tfs_accept_reject: true_false_string;
28673}
28674extern "C" {
28675    pub static tfs_more_nomore: true_false_string;
28676}
28677extern "C" {
28678    pub static tfs_present_absent: true_false_string;
28679}
28680extern "C" {
28681    pub static tfs_present_not_present: true_false_string;
28682}
28683extern "C" {
28684    pub static tfs_active_inactive: true_false_string;
28685}
28686extern "C" {
28687    pub static tfs_activated_deactivated: true_false_string;
28688}
28689extern "C" {
28690    pub static tfs_found_not_found: true_false_string;
28691}
28692extern "C" {
28693    pub static tfs_command_response: true_false_string;
28694}
28695extern "C" {
28696    pub static tfs_response_command: true_false_string;
28697}
28698extern "C" {
28699    pub static tfs_capable_not_capable: true_false_string;
28700}
28701extern "C" {
28702    pub static tfs_supported_not_supported: true_false_string;
28703}
28704extern "C" {
28705    pub static tfs_not_supported_supported: true_false_string;
28706}
28707extern "C" {
28708    pub static tfs_used_notused: true_false_string;
28709}
28710extern "C" {
28711    pub static tfs_high_low: true_false_string;
28712}
28713extern "C" {
28714    pub static tfs_high_normal: true_false_string;
28715}
28716extern "C" {
28717    pub static tfs_low_normal: true_false_string;
28718}
28719extern "C" {
28720    pub static tfs_pressed_not_pressed: true_false_string;
28721}
28722extern "C" {
28723    pub static tfs_implemented_not_implemented: true_false_string;
28724}
28725extern "C" {
28726    pub static tfs_requested_not_requested: true_false_string;
28727}
28728extern "C" {
28729    pub static tfs_reliable_not_reliable: true_false_string;
28730}
28731extern "C" {
28732    pub static tfs_allowed_not_allowed: true_false_string;
28733}
28734extern "C" {
28735    pub static tfs_not_allowed_allowed: true_false_string;
28736}
28737extern "C" {
28738    pub static tfs_accepted_not_accepted: true_false_string;
28739}
28740extern "C" {
28741    pub static tfs_detected_not_detected: true_false_string;
28742}
28743extern "C" {
28744    pub static tfs_available_not_available: true_false_string;
28745}
28746extern "C" {
28747    pub static tfs_shared_independent: true_false_string;
28748}
28749extern "C" {
28750    pub static tfs_valid_invalid: true_false_string;
28751}
28752extern "C" {
28753    pub static tfs_invalid_valid: true_false_string;
28754}
28755extern "C" {
28756    pub static tfs_group_unique_name: true_false_string;
28757}
28758extern "C" {
28759    pub static tfs_inuse_not_inuse: true_false_string;
28760}
28761extern "C" {
28762    pub static tfs_critical_not_critical: true_false_string;
28763}
28764extern "C" {
28765    pub static tfs_complete_incomplete: true_false_string;
28766}
28767extern "C" {
28768    pub static tfs_valid_not_valid: true_false_string;
28769}
28770extern "C" {
28771    pub static tfs_do_not_clear_clear: true_false_string;
28772}
28773extern "C" {
28774    pub static tfs_confirmed_unconfirmed: true_false_string;
28775}
28776extern "C" {
28777    pub static tfs_enforced_not_enforced: true_false_string;
28778}
28779extern "C" {
28780    pub static tfs_possible_not_possible: true_false_string;
28781}
28782extern "C" {
28783    pub static tfs_required_not_required: true_false_string;
28784}
28785extern "C" {
28786    pub static tfs_registered_not_registered: true_false_string;
28787}
28788extern "C" {
28789    pub static tfs_provisioned_not_provisioned: true_false_string;
28790}
28791extern "C" {
28792    pub static tfs_included_not_included: true_false_string;
28793}
28794extern "C" {
28795    pub static tfs_allocated_by_receiver_sender: true_false_string;
28796}
28797extern "C" {
28798    pub static tfs_asynchronous_synchronous: true_false_string;
28799}
28800extern "C" {
28801    pub static tfs_protocol_sensative_bit_transparent: true_false_string;
28802}
28803extern "C" {
28804    pub static tfs_full_half: true_false_string;
28805}
28806extern "C" {
28807    pub static tfs_acknowledged_not_acknowledged: true_false_string;
28808}
28809extern "C" {
28810    pub static tfs_segmentation_no_segmentation: true_false_string;
28811}
28812extern "C" {
28813    pub static tfs_response_request: true_false_string;
28814}
28815extern "C" {
28816    pub static tfs_defined_not_defined: true_false_string;
28817}
28818extern "C" {
28819    pub static tfs_constructed_primitive: true_false_string;
28820}
28821extern "C" {
28822    pub static tfs_client_server: true_false_string;
28823}
28824extern "C" {
28825    pub static tfs_server_client: true_false_string;
28826}
28827extern "C" {
28828    pub static tfs_preferred_no_preference: true_false_string;
28829}
28830extern "C" {
28831    pub static tfs_encrypt_do_not_encrypt: true_false_string;
28832}
28833extern "C" {
28834    pub static tfs_down_up: true_false_string;
28835}
28836extern "C" {
28837    pub static tfs_up_down: true_false_string;
28838}
28839extern "C" {
28840    pub static tfs_downlink_uplink: true_false_string;
28841}
28842extern "C" {
28843    pub static tfs_uplink_downlink: true_false_string;
28844}
28845extern "C" {
28846    pub static tfs_s2c_c2s: true_false_string;
28847}
28848extern "C" {
28849    pub static tfs_c2s_s2c: true_false_string;
28850}
28851extern "C" {
28852    pub static tfs_open_closed: true_false_string;
28853}
28854extern "C" {
28855    pub static tfs_external_internal: true_false_string;
28856}
28857extern "C" {
28858    pub static tfs_changed_not_changed: true_false_string;
28859}
28860extern "C" {
28861    pub static tfs_needed_not_needed: true_false_string;
28862}
28863extern "C" {
28864    pub static tfs_selected_not_selected: true_false_string;
28865}
28866extern "C" {
28867    pub static tfs_add_drop: true_false_string;
28868}
28869extern "C" {
28870    pub static tfs_no_extension_extension: true_false_string;
28871}
28872extern "C" {
28873    pub static tfs_user_provider: true_false_string;
28874}
28875extern "C" {
28876    pub static tfs_applicable_not_applicable: true_false_string;
28877}
28878#[repr(C)]
28879#[derive(Debug, Copy, Clone)]
28880pub struct Buffer {
28881    pub data: *mut guint8,
28882    pub allocated: gsize,
28883    pub start: gsize,
28884    pub first_free: gsize,
28885}
28886#[test]
28887fn bindgen_test_layout_Buffer() {
28888    const UNINIT: ::std::mem::MaybeUninit<Buffer> = ::std::mem::MaybeUninit::uninit();
28889    let ptr = UNINIT.as_ptr();
28890    assert_eq!(
28891        ::std::mem::size_of::<Buffer>(),
28892        32usize,
28893        concat!("Size of: ", stringify!(Buffer))
28894    );
28895    assert_eq!(
28896        ::std::mem::align_of::<Buffer>(),
28897        8usize,
28898        concat!("Alignment of ", stringify!(Buffer))
28899    );
28900    assert_eq!(
28901        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28902        0usize,
28903        concat!(
28904            "Offset of field: ",
28905            stringify!(Buffer),
28906            "::",
28907            stringify!(data)
28908        )
28909    );
28910    assert_eq!(
28911        unsafe { ::std::ptr::addr_of!((*ptr).allocated) as usize - ptr as usize },
28912        8usize,
28913        concat!(
28914            "Offset of field: ",
28915            stringify!(Buffer),
28916            "::",
28917            stringify!(allocated)
28918        )
28919    );
28920    assert_eq!(
28921        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
28922        16usize,
28923        concat!(
28924            "Offset of field: ",
28925            stringify!(Buffer),
28926            "::",
28927            stringify!(start)
28928        )
28929    );
28930    assert_eq!(
28931        unsafe { ::std::ptr::addr_of!((*ptr).first_free) as usize - ptr as usize },
28932        24usize,
28933        concat!(
28934            "Offset of field: ",
28935            stringify!(Buffer),
28936            "::",
28937            stringify!(first_free)
28938        )
28939    );
28940}
28941extern "C" {
28942    pub fn ws_buffer_init(buffer: *mut Buffer, space: gsize);
28943}
28944extern "C" {
28945    pub fn ws_buffer_free(buffer: *mut Buffer);
28946}
28947extern "C" {
28948    pub fn ws_buffer_assure_space(buffer: *mut Buffer, space: gsize);
28949}
28950extern "C" {
28951    pub fn ws_buffer_append(buffer: *mut Buffer, from: *mut guint8, bytes: gsize);
28952}
28953extern "C" {
28954    pub fn ws_buffer_remove_start(buffer: *mut Buffer, bytes: gsize);
28955}
28956extern "C" {
28957    pub fn ws_buffer_cleanup();
28958}
28959extern "C" {
28960    pub fn ws_inet_ntop4(
28961        src: *const ::std::os::raw::c_void,
28962        dst: *mut ::std::os::raw::c_char,
28963        dst_size: usize,
28964    ) -> *const ::std::os::raw::c_char;
28965}
28966extern "C" {
28967    pub fn ws_inet_ntop6(
28968        src: *const ::std::os::raw::c_void,
28969        dst: *mut ::std::os::raw::c_char,
28970        dst_size: usize,
28971    ) -> *const ::std::os::raw::c_char;
28972}
28973extern "C" {
28974    pub fn ws_inet_pton4(src: *const ::std::os::raw::c_char, dst: *mut ws_in4_addr) -> bool;
28975}
28976extern "C" {
28977    pub fn ws_inet_pton6(src: *const ::std::os::raw::c_char, dst: *mut ws_in6_addr) -> bool;
28978}
28979#[repr(C)]
28980#[derive(Debug, Copy, Clone)]
28981pub struct eth_phdr {
28982    pub fcs_len: gint,
28983}
28984#[test]
28985fn bindgen_test_layout_eth_phdr() {
28986    const UNINIT: ::std::mem::MaybeUninit<eth_phdr> = ::std::mem::MaybeUninit::uninit();
28987    let ptr = UNINIT.as_ptr();
28988    assert_eq!(
28989        ::std::mem::size_of::<eth_phdr>(),
28990        4usize,
28991        concat!("Size of: ", stringify!(eth_phdr))
28992    );
28993    assert_eq!(
28994        ::std::mem::align_of::<eth_phdr>(),
28995        4usize,
28996        concat!("Alignment of ", stringify!(eth_phdr))
28997    );
28998    assert_eq!(
28999        unsafe { ::std::ptr::addr_of!((*ptr).fcs_len) as usize - ptr as usize },
29000        0usize,
29001        concat!(
29002            "Offset of field: ",
29003            stringify!(eth_phdr),
29004            "::",
29005            stringify!(fcs_len)
29006        )
29007    );
29008}
29009#[repr(C)]
29010#[derive(Debug, Copy, Clone)]
29011pub struct dte_dce_phdr {
29012    pub flags: guint8,
29013}
29014#[test]
29015fn bindgen_test_layout_dte_dce_phdr() {
29016    const UNINIT: ::std::mem::MaybeUninit<dte_dce_phdr> = ::std::mem::MaybeUninit::uninit();
29017    let ptr = UNINIT.as_ptr();
29018    assert_eq!(
29019        ::std::mem::size_of::<dte_dce_phdr>(),
29020        1usize,
29021        concat!("Size of: ", stringify!(dte_dce_phdr))
29022    );
29023    assert_eq!(
29024        ::std::mem::align_of::<dte_dce_phdr>(),
29025        1usize,
29026        concat!("Alignment of ", stringify!(dte_dce_phdr))
29027    );
29028    assert_eq!(
29029        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
29030        0usize,
29031        concat!(
29032            "Offset of field: ",
29033            stringify!(dte_dce_phdr),
29034            "::",
29035            stringify!(flags)
29036        )
29037    );
29038}
29039#[repr(C)]
29040#[derive(Debug, Copy, Clone)]
29041pub struct isdn_phdr {
29042    pub uton: gboolean,
29043    pub channel: guint8,
29044}
29045#[test]
29046fn bindgen_test_layout_isdn_phdr() {
29047    const UNINIT: ::std::mem::MaybeUninit<isdn_phdr> = ::std::mem::MaybeUninit::uninit();
29048    let ptr = UNINIT.as_ptr();
29049    assert_eq!(
29050        ::std::mem::size_of::<isdn_phdr>(),
29051        8usize,
29052        concat!("Size of: ", stringify!(isdn_phdr))
29053    );
29054    assert_eq!(
29055        ::std::mem::align_of::<isdn_phdr>(),
29056        4usize,
29057        concat!("Alignment of ", stringify!(isdn_phdr))
29058    );
29059    assert_eq!(
29060        unsafe { ::std::ptr::addr_of!((*ptr).uton) as usize - ptr as usize },
29061        0usize,
29062        concat!(
29063            "Offset of field: ",
29064            stringify!(isdn_phdr),
29065            "::",
29066            stringify!(uton)
29067        )
29068    );
29069    assert_eq!(
29070        unsafe { ::std::ptr::addr_of!((*ptr).channel) as usize - ptr as usize },
29071        4usize,
29072        concat!(
29073            "Offset of field: ",
29074            stringify!(isdn_phdr),
29075            "::",
29076            stringify!(channel)
29077        )
29078    );
29079}
29080#[repr(C)]
29081#[derive(Debug, Copy, Clone)]
29082pub struct atm_phdr {
29083    pub flags: guint32,
29084    pub aal: guint8,
29085    pub type_: guint8,
29086    pub subtype: guint8,
29087    pub vpi: guint16,
29088    pub vci: guint16,
29089    pub aal2_cid: guint8,
29090    pub channel: guint16,
29091    pub cells: guint16,
29092    pub aal5t_u2u: guint16,
29093    pub aal5t_len: guint16,
29094    pub aal5t_chksum: guint32,
29095}
29096#[test]
29097fn bindgen_test_layout_atm_phdr() {
29098    const UNINIT: ::std::mem::MaybeUninit<atm_phdr> = ::std::mem::MaybeUninit::uninit();
29099    let ptr = UNINIT.as_ptr();
29100    assert_eq!(
29101        ::std::mem::size_of::<atm_phdr>(),
29102        28usize,
29103        concat!("Size of: ", stringify!(atm_phdr))
29104    );
29105    assert_eq!(
29106        ::std::mem::align_of::<atm_phdr>(),
29107        4usize,
29108        concat!("Alignment of ", stringify!(atm_phdr))
29109    );
29110    assert_eq!(
29111        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
29112        0usize,
29113        concat!(
29114            "Offset of field: ",
29115            stringify!(atm_phdr),
29116            "::",
29117            stringify!(flags)
29118        )
29119    );
29120    assert_eq!(
29121        unsafe { ::std::ptr::addr_of!((*ptr).aal) as usize - ptr as usize },
29122        4usize,
29123        concat!(
29124            "Offset of field: ",
29125            stringify!(atm_phdr),
29126            "::",
29127            stringify!(aal)
29128        )
29129    );
29130    assert_eq!(
29131        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
29132        5usize,
29133        concat!(
29134            "Offset of field: ",
29135            stringify!(atm_phdr),
29136            "::",
29137            stringify!(type_)
29138        )
29139    );
29140    assert_eq!(
29141        unsafe { ::std::ptr::addr_of!((*ptr).subtype) as usize - ptr as usize },
29142        6usize,
29143        concat!(
29144            "Offset of field: ",
29145            stringify!(atm_phdr),
29146            "::",
29147            stringify!(subtype)
29148        )
29149    );
29150    assert_eq!(
29151        unsafe { ::std::ptr::addr_of!((*ptr).vpi) as usize - ptr as usize },
29152        8usize,
29153        concat!(
29154            "Offset of field: ",
29155            stringify!(atm_phdr),
29156            "::",
29157            stringify!(vpi)
29158        )
29159    );
29160    assert_eq!(
29161        unsafe { ::std::ptr::addr_of!((*ptr).vci) as usize - ptr as usize },
29162        10usize,
29163        concat!(
29164            "Offset of field: ",
29165            stringify!(atm_phdr),
29166            "::",
29167            stringify!(vci)
29168        )
29169    );
29170    assert_eq!(
29171        unsafe { ::std::ptr::addr_of!((*ptr).aal2_cid) as usize - ptr as usize },
29172        12usize,
29173        concat!(
29174            "Offset of field: ",
29175            stringify!(atm_phdr),
29176            "::",
29177            stringify!(aal2_cid)
29178        )
29179    );
29180    assert_eq!(
29181        unsafe { ::std::ptr::addr_of!((*ptr).channel) as usize - ptr as usize },
29182        14usize,
29183        concat!(
29184            "Offset of field: ",
29185            stringify!(atm_phdr),
29186            "::",
29187            stringify!(channel)
29188        )
29189    );
29190    assert_eq!(
29191        unsafe { ::std::ptr::addr_of!((*ptr).cells) as usize - ptr as usize },
29192        16usize,
29193        concat!(
29194            "Offset of field: ",
29195            stringify!(atm_phdr),
29196            "::",
29197            stringify!(cells)
29198        )
29199    );
29200    assert_eq!(
29201        unsafe { ::std::ptr::addr_of!((*ptr).aal5t_u2u) as usize - ptr as usize },
29202        18usize,
29203        concat!(
29204            "Offset of field: ",
29205            stringify!(atm_phdr),
29206            "::",
29207            stringify!(aal5t_u2u)
29208        )
29209    );
29210    assert_eq!(
29211        unsafe { ::std::ptr::addr_of!((*ptr).aal5t_len) as usize - ptr as usize },
29212        20usize,
29213        concat!(
29214            "Offset of field: ",
29215            stringify!(atm_phdr),
29216            "::",
29217            stringify!(aal5t_len)
29218        )
29219    );
29220    assert_eq!(
29221        unsafe { ::std::ptr::addr_of!((*ptr).aal5t_chksum) as usize - ptr as usize },
29222        24usize,
29223        concat!(
29224            "Offset of field: ",
29225            stringify!(atm_phdr),
29226            "::",
29227            stringify!(aal5t_chksum)
29228        )
29229    );
29230}
29231#[repr(C)]
29232#[derive(Debug, Copy, Clone)]
29233pub struct ascend_phdr {
29234    pub type_: guint16,
29235    pub user: [::std::os::raw::c_char; 64usize],
29236    pub sess: guint32,
29237    pub call_num: [::std::os::raw::c_char; 64usize],
29238    pub chunk: guint32,
29239    pub task: guint32,
29240}
29241#[test]
29242fn bindgen_test_layout_ascend_phdr() {
29243    const UNINIT: ::std::mem::MaybeUninit<ascend_phdr> = ::std::mem::MaybeUninit::uninit();
29244    let ptr = UNINIT.as_ptr();
29245    assert_eq!(
29246        ::std::mem::size_of::<ascend_phdr>(),
29247        144usize,
29248        concat!("Size of: ", stringify!(ascend_phdr))
29249    );
29250    assert_eq!(
29251        ::std::mem::align_of::<ascend_phdr>(),
29252        4usize,
29253        concat!("Alignment of ", stringify!(ascend_phdr))
29254    );
29255    assert_eq!(
29256        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
29257        0usize,
29258        concat!(
29259            "Offset of field: ",
29260            stringify!(ascend_phdr),
29261            "::",
29262            stringify!(type_)
29263        )
29264    );
29265    assert_eq!(
29266        unsafe { ::std::ptr::addr_of!((*ptr).user) as usize - ptr as usize },
29267        2usize,
29268        concat!(
29269            "Offset of field: ",
29270            stringify!(ascend_phdr),
29271            "::",
29272            stringify!(user)
29273        )
29274    );
29275    assert_eq!(
29276        unsafe { ::std::ptr::addr_of!((*ptr).sess) as usize - ptr as usize },
29277        68usize,
29278        concat!(
29279            "Offset of field: ",
29280            stringify!(ascend_phdr),
29281            "::",
29282            stringify!(sess)
29283        )
29284    );
29285    assert_eq!(
29286        unsafe { ::std::ptr::addr_of!((*ptr).call_num) as usize - ptr as usize },
29287        72usize,
29288        concat!(
29289            "Offset of field: ",
29290            stringify!(ascend_phdr),
29291            "::",
29292            stringify!(call_num)
29293        )
29294    );
29295    assert_eq!(
29296        unsafe { ::std::ptr::addr_of!((*ptr).chunk) as usize - ptr as usize },
29297        136usize,
29298        concat!(
29299            "Offset of field: ",
29300            stringify!(ascend_phdr),
29301            "::",
29302            stringify!(chunk)
29303        )
29304    );
29305    assert_eq!(
29306        unsafe { ::std::ptr::addr_of!((*ptr).task) as usize - ptr as usize },
29307        140usize,
29308        concat!(
29309            "Offset of field: ",
29310            stringify!(ascend_phdr),
29311            "::",
29312            stringify!(task)
29313        )
29314    );
29315}
29316#[repr(C)]
29317#[derive(Debug, Copy, Clone)]
29318pub struct p2p_phdr {
29319    pub sent: gboolean,
29320}
29321#[test]
29322fn bindgen_test_layout_p2p_phdr() {
29323    const UNINIT: ::std::mem::MaybeUninit<p2p_phdr> = ::std::mem::MaybeUninit::uninit();
29324    let ptr = UNINIT.as_ptr();
29325    assert_eq!(
29326        ::std::mem::size_of::<p2p_phdr>(),
29327        4usize,
29328        concat!("Size of: ", stringify!(p2p_phdr))
29329    );
29330    assert_eq!(
29331        ::std::mem::align_of::<p2p_phdr>(),
29332        4usize,
29333        concat!("Alignment of ", stringify!(p2p_phdr))
29334    );
29335    assert_eq!(
29336        unsafe { ::std::ptr::addr_of!((*ptr).sent) as usize - ptr as usize },
29337        0usize,
29338        concat!(
29339            "Offset of field: ",
29340            stringify!(p2p_phdr),
29341            "::",
29342            stringify!(sent)
29343        )
29344    );
29345}
29346#[repr(C)]
29347#[repr(align(4))]
29348#[derive(Debug, Copy, Clone)]
29349pub struct ieee_802_11_fhss {
29350    pub _bitfield_align_1: [u8; 0],
29351    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
29352    pub hop_set: guint8,
29353    pub hop_pattern: guint8,
29354    pub hop_index: guint8,
29355}
29356#[test]
29357fn bindgen_test_layout_ieee_802_11_fhss() {
29358    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11_fhss> = ::std::mem::MaybeUninit::uninit();
29359    let ptr = UNINIT.as_ptr();
29360    assert_eq!(
29361        ::std::mem::size_of::<ieee_802_11_fhss>(),
29362        4usize,
29363        concat!("Size of: ", stringify!(ieee_802_11_fhss))
29364    );
29365    assert_eq!(
29366        ::std::mem::align_of::<ieee_802_11_fhss>(),
29367        4usize,
29368        concat!("Alignment of ", stringify!(ieee_802_11_fhss))
29369    );
29370    assert_eq!(
29371        unsafe { ::std::ptr::addr_of!((*ptr).hop_set) as usize - ptr as usize },
29372        1usize,
29373        concat!(
29374            "Offset of field: ",
29375            stringify!(ieee_802_11_fhss),
29376            "::",
29377            stringify!(hop_set)
29378        )
29379    );
29380    assert_eq!(
29381        unsafe { ::std::ptr::addr_of!((*ptr).hop_pattern) as usize - ptr as usize },
29382        2usize,
29383        concat!(
29384            "Offset of field: ",
29385            stringify!(ieee_802_11_fhss),
29386            "::",
29387            stringify!(hop_pattern)
29388        )
29389    );
29390    assert_eq!(
29391        unsafe { ::std::ptr::addr_of!((*ptr).hop_index) as usize - ptr as usize },
29392        3usize,
29393        concat!(
29394            "Offset of field: ",
29395            stringify!(ieee_802_11_fhss),
29396            "::",
29397            stringify!(hop_index)
29398        )
29399    );
29400}
29401impl ieee_802_11_fhss {
29402    #[inline]
29403    pub fn has_hop_set(&self) -> guint {
29404        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29405    }
29406    #[inline]
29407    pub fn set_has_hop_set(&mut self, val: guint) {
29408        unsafe {
29409            let val: u32 = ::std::mem::transmute(val);
29410            self._bitfield_1.set(0usize, 1u8, val as u64)
29411        }
29412    }
29413    #[inline]
29414    pub fn has_hop_pattern(&self) -> guint {
29415        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
29416    }
29417    #[inline]
29418    pub fn set_has_hop_pattern(&mut self, val: guint) {
29419        unsafe {
29420            let val: u32 = ::std::mem::transmute(val);
29421            self._bitfield_1.set(1usize, 1u8, val as u64)
29422        }
29423    }
29424    #[inline]
29425    pub fn has_hop_index(&self) -> guint {
29426        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
29427    }
29428    #[inline]
29429    pub fn set_has_hop_index(&mut self, val: guint) {
29430        unsafe {
29431            let val: u32 = ::std::mem::transmute(val);
29432            self._bitfield_1.set(2usize, 1u8, val as u64)
29433        }
29434    }
29435    #[inline]
29436    pub fn new_bitfield_1(
29437        has_hop_set: guint,
29438        has_hop_pattern: guint,
29439        has_hop_index: guint,
29440    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29441        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29442        __bindgen_bitfield_unit.set(0usize, 1u8, {
29443            let has_hop_set: u32 = unsafe { ::std::mem::transmute(has_hop_set) };
29444            has_hop_set as u64
29445        });
29446        __bindgen_bitfield_unit.set(1usize, 1u8, {
29447            let has_hop_pattern: u32 = unsafe { ::std::mem::transmute(has_hop_pattern) };
29448            has_hop_pattern as u64
29449        });
29450        __bindgen_bitfield_unit.set(2usize, 1u8, {
29451            let has_hop_index: u32 = unsafe { ::std::mem::transmute(has_hop_index) };
29452            has_hop_index as u64
29453        });
29454        __bindgen_bitfield_unit
29455    }
29456}
29457#[repr(C)]
29458#[derive(Debug, Copy, Clone)]
29459pub struct ieee_802_11b {
29460    pub _bitfield_align_1: [u8; 0],
29461    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
29462    pub short_preamble: gboolean,
29463}
29464#[test]
29465fn bindgen_test_layout_ieee_802_11b() {
29466    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11b> = ::std::mem::MaybeUninit::uninit();
29467    let ptr = UNINIT.as_ptr();
29468    assert_eq!(
29469        ::std::mem::size_of::<ieee_802_11b>(),
29470        8usize,
29471        concat!("Size of: ", stringify!(ieee_802_11b))
29472    );
29473    assert_eq!(
29474        ::std::mem::align_of::<ieee_802_11b>(),
29475        4usize,
29476        concat!("Alignment of ", stringify!(ieee_802_11b))
29477    );
29478    assert_eq!(
29479        unsafe { ::std::ptr::addr_of!((*ptr).short_preamble) as usize - ptr as usize },
29480        4usize,
29481        concat!(
29482            "Offset of field: ",
29483            stringify!(ieee_802_11b),
29484            "::",
29485            stringify!(short_preamble)
29486        )
29487    );
29488}
29489impl ieee_802_11b {
29490    #[inline]
29491    pub fn has_short_preamble(&self) -> guint {
29492        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29493    }
29494    #[inline]
29495    pub fn set_has_short_preamble(&mut self, val: guint) {
29496        unsafe {
29497            let val: u32 = ::std::mem::transmute(val);
29498            self._bitfield_1.set(0usize, 1u8, val as u64)
29499        }
29500    }
29501    #[inline]
29502    pub fn new_bitfield_1(has_short_preamble: guint) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29503        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29504        __bindgen_bitfield_unit.set(0usize, 1u8, {
29505            let has_short_preamble: u32 = unsafe { ::std::mem::transmute(has_short_preamble) };
29506            has_short_preamble as u64
29507        });
29508        __bindgen_bitfield_unit
29509    }
29510}
29511#[repr(C)]
29512#[repr(align(4))]
29513#[derive(Debug, Copy, Clone)]
29514pub struct ieee_802_11a {
29515    pub _bitfield_align_1: [u8; 0],
29516    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
29517    pub __bindgen_padding_0: [u8; 3usize],
29518}
29519#[test]
29520fn bindgen_test_layout_ieee_802_11a() {
29521    assert_eq!(
29522        ::std::mem::size_of::<ieee_802_11a>(),
29523        4usize,
29524        concat!("Size of: ", stringify!(ieee_802_11a))
29525    );
29526    assert_eq!(
29527        ::std::mem::align_of::<ieee_802_11a>(),
29528        4usize,
29529        concat!("Alignment of ", stringify!(ieee_802_11a))
29530    );
29531}
29532impl ieee_802_11a {
29533    #[inline]
29534    pub fn has_channel_type(&self) -> guint {
29535        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29536    }
29537    #[inline]
29538    pub fn set_has_channel_type(&mut self, val: guint) {
29539        unsafe {
29540            let val: u32 = ::std::mem::transmute(val);
29541            self._bitfield_1.set(0usize, 1u8, val as u64)
29542        }
29543    }
29544    #[inline]
29545    pub fn has_turbo_type(&self) -> guint {
29546        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
29547    }
29548    #[inline]
29549    pub fn set_has_turbo_type(&mut self, val: guint) {
29550        unsafe {
29551            let val: u32 = ::std::mem::transmute(val);
29552            self._bitfield_1.set(1usize, 1u8, val as u64)
29553        }
29554    }
29555    #[inline]
29556    pub fn channel_type(&self) -> guint {
29557        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 2u8) as u32) }
29558    }
29559    #[inline]
29560    pub fn set_channel_type(&mut self, val: guint) {
29561        unsafe {
29562            let val: u32 = ::std::mem::transmute(val);
29563            self._bitfield_1.set(2usize, 2u8, val as u64)
29564        }
29565    }
29566    #[inline]
29567    pub fn turbo_type(&self) -> guint {
29568        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 2u8) as u32) }
29569    }
29570    #[inline]
29571    pub fn set_turbo_type(&mut self, val: guint) {
29572        unsafe {
29573            let val: u32 = ::std::mem::transmute(val);
29574            self._bitfield_1.set(4usize, 2u8, val as u64)
29575        }
29576    }
29577    #[inline]
29578    pub fn new_bitfield_1(
29579        has_channel_type: guint,
29580        has_turbo_type: guint,
29581        channel_type: guint,
29582        turbo_type: guint,
29583    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29584        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29585        __bindgen_bitfield_unit.set(0usize, 1u8, {
29586            let has_channel_type: u32 = unsafe { ::std::mem::transmute(has_channel_type) };
29587            has_channel_type as u64
29588        });
29589        __bindgen_bitfield_unit.set(1usize, 1u8, {
29590            let has_turbo_type: u32 = unsafe { ::std::mem::transmute(has_turbo_type) };
29591            has_turbo_type as u64
29592        });
29593        __bindgen_bitfield_unit.set(2usize, 2u8, {
29594            let channel_type: u32 = unsafe { ::std::mem::transmute(channel_type) };
29595            channel_type as u64
29596        });
29597        __bindgen_bitfield_unit.set(4usize, 2u8, {
29598            let turbo_type: u32 = unsafe { ::std::mem::transmute(turbo_type) };
29599            turbo_type as u64
29600        });
29601        __bindgen_bitfield_unit
29602    }
29603}
29604#[repr(C)]
29605#[derive(Debug, Copy, Clone)]
29606pub struct ieee_802_11g {
29607    pub _bitfield_align_1: [u8; 0],
29608    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
29609    pub mode: guint32,
29610}
29611#[test]
29612fn bindgen_test_layout_ieee_802_11g() {
29613    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11g> = ::std::mem::MaybeUninit::uninit();
29614    let ptr = UNINIT.as_ptr();
29615    assert_eq!(
29616        ::std::mem::size_of::<ieee_802_11g>(),
29617        8usize,
29618        concat!("Size of: ", stringify!(ieee_802_11g))
29619    );
29620    assert_eq!(
29621        ::std::mem::align_of::<ieee_802_11g>(),
29622        4usize,
29623        concat!("Alignment of ", stringify!(ieee_802_11g))
29624    );
29625    assert_eq!(
29626        unsafe { ::std::ptr::addr_of!((*ptr).mode) as usize - ptr as usize },
29627        4usize,
29628        concat!(
29629            "Offset of field: ",
29630            stringify!(ieee_802_11g),
29631            "::",
29632            stringify!(mode)
29633        )
29634    );
29635}
29636impl ieee_802_11g {
29637    #[inline]
29638    pub fn has_mode(&self) -> guint {
29639        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29640    }
29641    #[inline]
29642    pub fn set_has_mode(&mut self, val: guint) {
29643        unsafe {
29644            let val: u32 = ::std::mem::transmute(val);
29645            self._bitfield_1.set(0usize, 1u8, val as u64)
29646        }
29647    }
29648    #[inline]
29649    pub fn new_bitfield_1(has_mode: guint) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29650        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29651        __bindgen_bitfield_unit.set(0usize, 1u8, {
29652            let has_mode: u32 = unsafe { ::std::mem::transmute(has_mode) };
29653            has_mode as u64
29654        });
29655        __bindgen_bitfield_unit
29656    }
29657}
29658#[repr(C)]
29659#[derive(Debug, Copy, Clone)]
29660pub struct ieee_802_11n {
29661    pub _bitfield_align_1: [u8; 0],
29662    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
29663    pub mcs_index: guint16,
29664    pub bandwidth: guint,
29665    pub _bitfield_align_2: [u8; 0],
29666    pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
29667    pub ness: guint,
29668}
29669#[test]
29670fn bindgen_test_layout_ieee_802_11n() {
29671    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11n> = ::std::mem::MaybeUninit::uninit();
29672    let ptr = UNINIT.as_ptr();
29673    assert_eq!(
29674        ::std::mem::size_of::<ieee_802_11n>(),
29675        16usize,
29676        concat!("Size of: ", stringify!(ieee_802_11n))
29677    );
29678    assert_eq!(
29679        ::std::mem::align_of::<ieee_802_11n>(),
29680        4usize,
29681        concat!("Alignment of ", stringify!(ieee_802_11n))
29682    );
29683    assert_eq!(
29684        unsafe { ::std::ptr::addr_of!((*ptr).mcs_index) as usize - ptr as usize },
29685        2usize,
29686        concat!(
29687            "Offset of field: ",
29688            stringify!(ieee_802_11n),
29689            "::",
29690            stringify!(mcs_index)
29691        )
29692    );
29693    assert_eq!(
29694        unsafe { ::std::ptr::addr_of!((*ptr).bandwidth) as usize - ptr as usize },
29695        4usize,
29696        concat!(
29697            "Offset of field: ",
29698            stringify!(ieee_802_11n),
29699            "::",
29700            stringify!(bandwidth)
29701        )
29702    );
29703    assert_eq!(
29704        unsafe { ::std::ptr::addr_of!((*ptr).ness) as usize - ptr as usize },
29705        12usize,
29706        concat!(
29707            "Offset of field: ",
29708            stringify!(ieee_802_11n),
29709            "::",
29710            stringify!(ness)
29711        )
29712    );
29713}
29714impl ieee_802_11n {
29715    #[inline]
29716    pub fn has_mcs_index(&self) -> guint {
29717        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29718    }
29719    #[inline]
29720    pub fn set_has_mcs_index(&mut self, val: guint) {
29721        unsafe {
29722            let val: u32 = ::std::mem::transmute(val);
29723            self._bitfield_1.set(0usize, 1u8, val as u64)
29724        }
29725    }
29726    #[inline]
29727    pub fn has_bandwidth(&self) -> guint {
29728        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
29729    }
29730    #[inline]
29731    pub fn set_has_bandwidth(&mut self, val: guint) {
29732        unsafe {
29733            let val: u32 = ::std::mem::transmute(val);
29734            self._bitfield_1.set(1usize, 1u8, val as u64)
29735        }
29736    }
29737    #[inline]
29738    pub fn has_short_gi(&self) -> guint {
29739        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
29740    }
29741    #[inline]
29742    pub fn set_has_short_gi(&mut self, val: guint) {
29743        unsafe {
29744            let val: u32 = ::std::mem::transmute(val);
29745            self._bitfield_1.set(2usize, 1u8, val as u64)
29746        }
29747    }
29748    #[inline]
29749    pub fn has_greenfield(&self) -> guint {
29750        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
29751    }
29752    #[inline]
29753    pub fn set_has_greenfield(&mut self, val: guint) {
29754        unsafe {
29755            let val: u32 = ::std::mem::transmute(val);
29756            self._bitfield_1.set(3usize, 1u8, val as u64)
29757        }
29758    }
29759    #[inline]
29760    pub fn has_fec(&self) -> guint {
29761        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
29762    }
29763    #[inline]
29764    pub fn set_has_fec(&mut self, val: guint) {
29765        unsafe {
29766            let val: u32 = ::std::mem::transmute(val);
29767            self._bitfield_1.set(4usize, 1u8, val as u64)
29768        }
29769    }
29770    #[inline]
29771    pub fn has_stbc_streams(&self) -> guint {
29772        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
29773    }
29774    #[inline]
29775    pub fn set_has_stbc_streams(&mut self, val: guint) {
29776        unsafe {
29777            let val: u32 = ::std::mem::transmute(val);
29778            self._bitfield_1.set(5usize, 1u8, val as u64)
29779        }
29780    }
29781    #[inline]
29782    pub fn has_ness(&self) -> guint {
29783        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
29784    }
29785    #[inline]
29786    pub fn set_has_ness(&mut self, val: guint) {
29787        unsafe {
29788            let val: u32 = ::std::mem::transmute(val);
29789            self._bitfield_1.set(6usize, 1u8, val as u64)
29790        }
29791    }
29792    #[inline]
29793    pub fn new_bitfield_1(
29794        has_mcs_index: guint,
29795        has_bandwidth: guint,
29796        has_short_gi: guint,
29797        has_greenfield: guint,
29798        has_fec: guint,
29799        has_stbc_streams: guint,
29800        has_ness: guint,
29801    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29802        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29803        __bindgen_bitfield_unit.set(0usize, 1u8, {
29804            let has_mcs_index: u32 = unsafe { ::std::mem::transmute(has_mcs_index) };
29805            has_mcs_index as u64
29806        });
29807        __bindgen_bitfield_unit.set(1usize, 1u8, {
29808            let has_bandwidth: u32 = unsafe { ::std::mem::transmute(has_bandwidth) };
29809            has_bandwidth as u64
29810        });
29811        __bindgen_bitfield_unit.set(2usize, 1u8, {
29812            let has_short_gi: u32 = unsafe { ::std::mem::transmute(has_short_gi) };
29813            has_short_gi as u64
29814        });
29815        __bindgen_bitfield_unit.set(3usize, 1u8, {
29816            let has_greenfield: u32 = unsafe { ::std::mem::transmute(has_greenfield) };
29817            has_greenfield as u64
29818        });
29819        __bindgen_bitfield_unit.set(4usize, 1u8, {
29820            let has_fec: u32 = unsafe { ::std::mem::transmute(has_fec) };
29821            has_fec as u64
29822        });
29823        __bindgen_bitfield_unit.set(5usize, 1u8, {
29824            let has_stbc_streams: u32 = unsafe { ::std::mem::transmute(has_stbc_streams) };
29825            has_stbc_streams as u64
29826        });
29827        __bindgen_bitfield_unit.set(6usize, 1u8, {
29828            let has_ness: u32 = unsafe { ::std::mem::transmute(has_ness) };
29829            has_ness as u64
29830        });
29831        __bindgen_bitfield_unit
29832    }
29833    #[inline]
29834    pub fn short_gi(&self) -> guint {
29835        unsafe { ::std::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u32) }
29836    }
29837    #[inline]
29838    pub fn set_short_gi(&mut self, val: guint) {
29839        unsafe {
29840            let val: u32 = ::std::mem::transmute(val);
29841            self._bitfield_2.set(0usize, 1u8, val as u64)
29842        }
29843    }
29844    #[inline]
29845    pub fn greenfield(&self) -> guint {
29846        unsafe { ::std::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u32) }
29847    }
29848    #[inline]
29849    pub fn set_greenfield(&mut self, val: guint) {
29850        unsafe {
29851            let val: u32 = ::std::mem::transmute(val);
29852            self._bitfield_2.set(1usize, 1u8, val as u64)
29853        }
29854    }
29855    #[inline]
29856    pub fn fec(&self) -> guint {
29857        unsafe { ::std::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u32) }
29858    }
29859    #[inline]
29860    pub fn set_fec(&mut self, val: guint) {
29861        unsafe {
29862            let val: u32 = ::std::mem::transmute(val);
29863            self._bitfield_2.set(2usize, 1u8, val as u64)
29864        }
29865    }
29866    #[inline]
29867    pub fn stbc_streams(&self) -> guint {
29868        unsafe { ::std::mem::transmute(self._bitfield_2.get(3usize, 2u8) as u32) }
29869    }
29870    #[inline]
29871    pub fn set_stbc_streams(&mut self, val: guint) {
29872        unsafe {
29873            let val: u32 = ::std::mem::transmute(val);
29874            self._bitfield_2.set(3usize, 2u8, val as u64)
29875        }
29876    }
29877    #[inline]
29878    pub fn new_bitfield_2(
29879        short_gi: guint,
29880        greenfield: guint,
29881        fec: guint,
29882        stbc_streams: guint,
29883    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
29884        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
29885        __bindgen_bitfield_unit.set(0usize, 1u8, {
29886            let short_gi: u32 = unsafe { ::std::mem::transmute(short_gi) };
29887            short_gi as u64
29888        });
29889        __bindgen_bitfield_unit.set(1usize, 1u8, {
29890            let greenfield: u32 = unsafe { ::std::mem::transmute(greenfield) };
29891            greenfield as u64
29892        });
29893        __bindgen_bitfield_unit.set(2usize, 1u8, {
29894            let fec: u32 = unsafe { ::std::mem::transmute(fec) };
29895            fec as u64
29896        });
29897        __bindgen_bitfield_unit.set(3usize, 2u8, {
29898            let stbc_streams: u32 = unsafe { ::std::mem::transmute(stbc_streams) };
29899            stbc_streams as u64
29900        });
29901        __bindgen_bitfield_unit
29902    }
29903}
29904#[repr(C)]
29905#[repr(align(4))]
29906#[derive(Debug, Copy, Clone)]
29907pub struct ieee_802_11ac {
29908    pub _bitfield_align_1: [u8; 0],
29909    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
29910    pub bandwidth: guint8,
29911    pub mcs: [guint8; 4usize],
29912    pub nss: [guint8; 4usize],
29913    pub fec: guint8,
29914    pub group_id: guint8,
29915    pub partial_aid: guint16,
29916}
29917#[test]
29918fn bindgen_test_layout_ieee_802_11ac() {
29919    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11ac> = ::std::mem::MaybeUninit::uninit();
29920    let ptr = UNINIT.as_ptr();
29921    assert_eq!(
29922        ::std::mem::size_of::<ieee_802_11ac>(),
29923        16usize,
29924        concat!("Size of: ", stringify!(ieee_802_11ac))
29925    );
29926    assert_eq!(
29927        ::std::mem::align_of::<ieee_802_11ac>(),
29928        4usize,
29929        concat!("Alignment of ", stringify!(ieee_802_11ac))
29930    );
29931    assert_eq!(
29932        unsafe { ::std::ptr::addr_of!((*ptr).bandwidth) as usize - ptr as usize },
29933        2usize,
29934        concat!(
29935            "Offset of field: ",
29936            stringify!(ieee_802_11ac),
29937            "::",
29938            stringify!(bandwidth)
29939        )
29940    );
29941    assert_eq!(
29942        unsafe { ::std::ptr::addr_of!((*ptr).mcs) as usize - ptr as usize },
29943        3usize,
29944        concat!(
29945            "Offset of field: ",
29946            stringify!(ieee_802_11ac),
29947            "::",
29948            stringify!(mcs)
29949        )
29950    );
29951    assert_eq!(
29952        unsafe { ::std::ptr::addr_of!((*ptr).nss) as usize - ptr as usize },
29953        7usize,
29954        concat!(
29955            "Offset of field: ",
29956            stringify!(ieee_802_11ac),
29957            "::",
29958            stringify!(nss)
29959        )
29960    );
29961    assert_eq!(
29962        unsafe { ::std::ptr::addr_of!((*ptr).fec) as usize - ptr as usize },
29963        11usize,
29964        concat!(
29965            "Offset of field: ",
29966            stringify!(ieee_802_11ac),
29967            "::",
29968            stringify!(fec)
29969        )
29970    );
29971    assert_eq!(
29972        unsafe { ::std::ptr::addr_of!((*ptr).group_id) as usize - ptr as usize },
29973        12usize,
29974        concat!(
29975            "Offset of field: ",
29976            stringify!(ieee_802_11ac),
29977            "::",
29978            stringify!(group_id)
29979        )
29980    );
29981    assert_eq!(
29982        unsafe { ::std::ptr::addr_of!((*ptr).partial_aid) as usize - ptr as usize },
29983        14usize,
29984        concat!(
29985            "Offset of field: ",
29986            stringify!(ieee_802_11ac),
29987            "::",
29988            stringify!(partial_aid)
29989        )
29990    );
29991}
29992impl ieee_802_11ac {
29993    #[inline]
29994    pub fn has_stbc(&self) -> guint {
29995        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
29996    }
29997    #[inline]
29998    pub fn set_has_stbc(&mut self, val: guint) {
29999        unsafe {
30000            let val: u32 = ::std::mem::transmute(val);
30001            self._bitfield_1.set(0usize, 1u8, val as u64)
30002        }
30003    }
30004    #[inline]
30005    pub fn has_txop_ps_not_allowed(&self) -> guint {
30006        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
30007    }
30008    #[inline]
30009    pub fn set_has_txop_ps_not_allowed(&mut self, val: guint) {
30010        unsafe {
30011            let val: u32 = ::std::mem::transmute(val);
30012            self._bitfield_1.set(1usize, 1u8, val as u64)
30013        }
30014    }
30015    #[inline]
30016    pub fn has_short_gi(&self) -> guint {
30017        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
30018    }
30019    #[inline]
30020    pub fn set_has_short_gi(&mut self, val: guint) {
30021        unsafe {
30022            let val: u32 = ::std::mem::transmute(val);
30023            self._bitfield_1.set(2usize, 1u8, val as u64)
30024        }
30025    }
30026    #[inline]
30027    pub fn has_short_gi_nsym_disambig(&self) -> guint {
30028        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
30029    }
30030    #[inline]
30031    pub fn set_has_short_gi_nsym_disambig(&mut self, val: guint) {
30032        unsafe {
30033            let val: u32 = ::std::mem::transmute(val);
30034            self._bitfield_1.set(3usize, 1u8, val as u64)
30035        }
30036    }
30037    #[inline]
30038    pub fn has_ldpc_extra_ofdm_symbol(&self) -> guint {
30039        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
30040    }
30041    #[inline]
30042    pub fn set_has_ldpc_extra_ofdm_symbol(&mut self, val: guint) {
30043        unsafe {
30044            let val: u32 = ::std::mem::transmute(val);
30045            self._bitfield_1.set(4usize, 1u8, val as u64)
30046        }
30047    }
30048    #[inline]
30049    pub fn has_beamformed(&self) -> guint {
30050        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
30051    }
30052    #[inline]
30053    pub fn set_has_beamformed(&mut self, val: guint) {
30054        unsafe {
30055            let val: u32 = ::std::mem::transmute(val);
30056            self._bitfield_1.set(5usize, 1u8, val as u64)
30057        }
30058    }
30059    #[inline]
30060    pub fn has_bandwidth(&self) -> guint {
30061        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
30062    }
30063    #[inline]
30064    pub fn set_has_bandwidth(&mut self, val: guint) {
30065        unsafe {
30066            let val: u32 = ::std::mem::transmute(val);
30067            self._bitfield_1.set(6usize, 1u8, val as u64)
30068        }
30069    }
30070    #[inline]
30071    pub fn has_fec(&self) -> guint {
30072        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
30073    }
30074    #[inline]
30075    pub fn set_has_fec(&mut self, val: guint) {
30076        unsafe {
30077            let val: u32 = ::std::mem::transmute(val);
30078            self._bitfield_1.set(7usize, 1u8, val as u64)
30079        }
30080    }
30081    #[inline]
30082    pub fn has_group_id(&self) -> guint {
30083        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
30084    }
30085    #[inline]
30086    pub fn set_has_group_id(&mut self, val: guint) {
30087        unsafe {
30088            let val: u32 = ::std::mem::transmute(val);
30089            self._bitfield_1.set(8usize, 1u8, val as u64)
30090        }
30091    }
30092    #[inline]
30093    pub fn has_partial_aid(&self) -> guint {
30094        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
30095    }
30096    #[inline]
30097    pub fn set_has_partial_aid(&mut self, val: guint) {
30098        unsafe {
30099            let val: u32 = ::std::mem::transmute(val);
30100            self._bitfield_1.set(9usize, 1u8, val as u64)
30101        }
30102    }
30103    #[inline]
30104    pub fn stbc(&self) -> guint {
30105        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
30106    }
30107    #[inline]
30108    pub fn set_stbc(&mut self, val: guint) {
30109        unsafe {
30110            let val: u32 = ::std::mem::transmute(val);
30111            self._bitfield_1.set(10usize, 1u8, val as u64)
30112        }
30113    }
30114    #[inline]
30115    pub fn txop_ps_not_allowed(&self) -> guint {
30116        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
30117    }
30118    #[inline]
30119    pub fn set_txop_ps_not_allowed(&mut self, val: guint) {
30120        unsafe {
30121            let val: u32 = ::std::mem::transmute(val);
30122            self._bitfield_1.set(11usize, 1u8, val as u64)
30123        }
30124    }
30125    #[inline]
30126    pub fn short_gi(&self) -> guint {
30127        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
30128    }
30129    #[inline]
30130    pub fn set_short_gi(&mut self, val: guint) {
30131        unsafe {
30132            let val: u32 = ::std::mem::transmute(val);
30133            self._bitfield_1.set(12usize, 1u8, val as u64)
30134        }
30135    }
30136    #[inline]
30137    pub fn short_gi_nsym_disambig(&self) -> guint {
30138        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
30139    }
30140    #[inline]
30141    pub fn set_short_gi_nsym_disambig(&mut self, val: guint) {
30142        unsafe {
30143            let val: u32 = ::std::mem::transmute(val);
30144            self._bitfield_1.set(13usize, 1u8, val as u64)
30145        }
30146    }
30147    #[inline]
30148    pub fn ldpc_extra_ofdm_symbol(&self) -> guint {
30149        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
30150    }
30151    #[inline]
30152    pub fn set_ldpc_extra_ofdm_symbol(&mut self, val: guint) {
30153        unsafe {
30154            let val: u32 = ::std::mem::transmute(val);
30155            self._bitfield_1.set(14usize, 1u8, val as u64)
30156        }
30157    }
30158    #[inline]
30159    pub fn beamformed(&self) -> guint {
30160        unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
30161    }
30162    #[inline]
30163    pub fn set_beamformed(&mut self, val: guint) {
30164        unsafe {
30165            let val: u32 = ::std::mem::transmute(val);
30166            self._bitfield_1.set(15usize, 1u8, val as u64)
30167        }
30168    }
30169    #[inline]
30170    pub fn new_bitfield_1(
30171        has_stbc: guint,
30172        has_txop_ps_not_allowed: guint,
30173        has_short_gi: guint,
30174        has_short_gi_nsym_disambig: guint,
30175        has_ldpc_extra_ofdm_symbol: guint,
30176        has_beamformed: guint,
30177        has_bandwidth: guint,
30178        has_fec: guint,
30179        has_group_id: guint,
30180        has_partial_aid: guint,
30181        stbc: guint,
30182        txop_ps_not_allowed: guint,
30183        short_gi: guint,
30184        short_gi_nsym_disambig: guint,
30185        ldpc_extra_ofdm_symbol: guint,
30186        beamformed: guint,
30187    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
30188        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
30189        __bindgen_bitfield_unit.set(0usize, 1u8, {
30190            let has_stbc: u32 = unsafe { ::std::mem::transmute(has_stbc) };
30191            has_stbc as u64
30192        });
30193        __bindgen_bitfield_unit.set(1usize, 1u8, {
30194            let has_txop_ps_not_allowed: u32 =
30195                unsafe { ::std::mem::transmute(has_txop_ps_not_allowed) };
30196            has_txop_ps_not_allowed as u64
30197        });
30198        __bindgen_bitfield_unit.set(2usize, 1u8, {
30199            let has_short_gi: u32 = unsafe { ::std::mem::transmute(has_short_gi) };
30200            has_short_gi as u64
30201        });
30202        __bindgen_bitfield_unit.set(3usize, 1u8, {
30203            let has_short_gi_nsym_disambig: u32 =
30204                unsafe { ::std::mem::transmute(has_short_gi_nsym_disambig) };
30205            has_short_gi_nsym_disambig as u64
30206        });
30207        __bindgen_bitfield_unit.set(4usize, 1u8, {
30208            let has_ldpc_extra_ofdm_symbol: u32 =
30209                unsafe { ::std::mem::transmute(has_ldpc_extra_ofdm_symbol) };
30210            has_ldpc_extra_ofdm_symbol as u64
30211        });
30212        __bindgen_bitfield_unit.set(5usize, 1u8, {
30213            let has_beamformed: u32 = unsafe { ::std::mem::transmute(has_beamformed) };
30214            has_beamformed as u64
30215        });
30216        __bindgen_bitfield_unit.set(6usize, 1u8, {
30217            let has_bandwidth: u32 = unsafe { ::std::mem::transmute(has_bandwidth) };
30218            has_bandwidth as u64
30219        });
30220        __bindgen_bitfield_unit.set(7usize, 1u8, {
30221            let has_fec: u32 = unsafe { ::std::mem::transmute(has_fec) };
30222            has_fec as u64
30223        });
30224        __bindgen_bitfield_unit.set(8usize, 1u8, {
30225            let has_group_id: u32 = unsafe { ::std::mem::transmute(has_group_id) };
30226            has_group_id as u64
30227        });
30228        __bindgen_bitfield_unit.set(9usize, 1u8, {
30229            let has_partial_aid: u32 = unsafe { ::std::mem::transmute(has_partial_aid) };
30230            has_partial_aid as u64
30231        });
30232        __bindgen_bitfield_unit.set(10usize, 1u8, {
30233            let stbc: u32 = unsafe { ::std::mem::transmute(stbc) };
30234            stbc as u64
30235        });
30236        __bindgen_bitfield_unit.set(11usize, 1u8, {
30237            let txop_ps_not_allowed: u32 = unsafe { ::std::mem::transmute(txop_ps_not_allowed) };
30238            txop_ps_not_allowed as u64
30239        });
30240        __bindgen_bitfield_unit.set(12usize, 1u8, {
30241            let short_gi: u32 = unsafe { ::std::mem::transmute(short_gi) };
30242            short_gi as u64
30243        });
30244        __bindgen_bitfield_unit.set(13usize, 1u8, {
30245            let short_gi_nsym_disambig: u32 =
30246                unsafe { ::std::mem::transmute(short_gi_nsym_disambig) };
30247            short_gi_nsym_disambig as u64
30248        });
30249        __bindgen_bitfield_unit.set(14usize, 1u8, {
30250            let ldpc_extra_ofdm_symbol: u32 =
30251                unsafe { ::std::mem::transmute(ldpc_extra_ofdm_symbol) };
30252            ldpc_extra_ofdm_symbol as u64
30253        });
30254        __bindgen_bitfield_unit.set(15usize, 1u8, {
30255            let beamformed: u32 = unsafe { ::std::mem::transmute(beamformed) };
30256            beamformed as u64
30257        });
30258        __bindgen_bitfield_unit
30259    }
30260}
30261#[repr(C)]
30262#[repr(align(4))]
30263#[derive(Debug, Copy, Clone)]
30264pub struct ieee_802_11ad {
30265    pub _bitfield_align_1: [u8; 0],
30266    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
30267    pub mcs: guint8,
30268}
30269#[test]
30270fn bindgen_test_layout_ieee_802_11ad() {
30271    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11ad> = ::std::mem::MaybeUninit::uninit();
30272    let ptr = UNINIT.as_ptr();
30273    assert_eq!(
30274        ::std::mem::size_of::<ieee_802_11ad>(),
30275        4usize,
30276        concat!("Size of: ", stringify!(ieee_802_11ad))
30277    );
30278    assert_eq!(
30279        ::std::mem::align_of::<ieee_802_11ad>(),
30280        4usize,
30281        concat!("Alignment of ", stringify!(ieee_802_11ad))
30282    );
30283    assert_eq!(
30284        unsafe { ::std::ptr::addr_of!((*ptr).mcs) as usize - ptr as usize },
30285        1usize,
30286        concat!(
30287            "Offset of field: ",
30288            stringify!(ieee_802_11ad),
30289            "::",
30290            stringify!(mcs)
30291        )
30292    );
30293}
30294impl ieee_802_11ad {
30295    #[inline]
30296    pub fn has_mcs_index(&self) -> guint {
30297        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
30298    }
30299    #[inline]
30300    pub fn set_has_mcs_index(&mut self, val: guint) {
30301        unsafe {
30302            let val: u32 = ::std::mem::transmute(val);
30303            self._bitfield_1.set(0usize, 1u8, val as u64)
30304        }
30305    }
30306    #[inline]
30307    pub fn new_bitfield_1(has_mcs_index: guint) -> __BindgenBitfieldUnit<[u8; 1usize]> {
30308        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
30309        __bindgen_bitfield_unit.set(0usize, 1u8, {
30310            let has_mcs_index: u32 = unsafe { ::std::mem::transmute(has_mcs_index) };
30311            has_mcs_index as u64
30312        });
30313        __bindgen_bitfield_unit
30314    }
30315}
30316#[repr(C)]
30317#[repr(align(4))]
30318#[derive(Debug, Copy, Clone)]
30319pub struct ieee_802_11ax {
30320    pub _bitfield_align_1: [u8; 0],
30321    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
30322    pub __bindgen_padding_0: u8,
30323}
30324#[test]
30325fn bindgen_test_layout_ieee_802_11ax() {
30326    assert_eq!(
30327        ::std::mem::size_of::<ieee_802_11ax>(),
30328        4usize,
30329        concat!("Size of: ", stringify!(ieee_802_11ax))
30330    );
30331    assert_eq!(
30332        ::std::mem::align_of::<ieee_802_11ax>(),
30333        4usize,
30334        concat!("Alignment of ", stringify!(ieee_802_11ax))
30335    );
30336}
30337impl ieee_802_11ax {
30338    #[inline]
30339    pub fn has_mcs_index(&self) -> guint {
30340        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
30341    }
30342    #[inline]
30343    pub fn set_has_mcs_index(&mut self, val: guint) {
30344        unsafe {
30345            let val: u32 = ::std::mem::transmute(val);
30346            self._bitfield_1.set(0usize, 1u8, val as u64)
30347        }
30348    }
30349    #[inline]
30350    pub fn has_bwru(&self) -> guint {
30351        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
30352    }
30353    #[inline]
30354    pub fn set_has_bwru(&mut self, val: guint) {
30355        unsafe {
30356            let val: u32 = ::std::mem::transmute(val);
30357            self._bitfield_1.set(1usize, 1u8, val as u64)
30358        }
30359    }
30360    #[inline]
30361    pub fn has_gi(&self) -> guint {
30362        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
30363    }
30364    #[inline]
30365    pub fn set_has_gi(&mut self, val: guint) {
30366        unsafe {
30367            let val: u32 = ::std::mem::transmute(val);
30368            self._bitfield_1.set(2usize, 1u8, val as u64)
30369        }
30370    }
30371    #[inline]
30372    pub fn nsts(&self) -> guint8 {
30373        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u8) }
30374    }
30375    #[inline]
30376    pub fn set_nsts(&mut self, val: guint8) {
30377        unsafe {
30378            let val: u8 = ::std::mem::transmute(val);
30379            self._bitfield_1.set(3usize, 4u8, val as u64)
30380        }
30381    }
30382    #[inline]
30383    pub fn mcs(&self) -> guint8 {
30384        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u8) }
30385    }
30386    #[inline]
30387    pub fn set_mcs(&mut self, val: guint8) {
30388        unsafe {
30389            let val: u8 = ::std::mem::transmute(val);
30390            self._bitfield_1.set(8usize, 4u8, val as u64)
30391        }
30392    }
30393    #[inline]
30394    pub fn bwru(&self) -> guint8 {
30395        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 4u8) as u8) }
30396    }
30397    #[inline]
30398    pub fn set_bwru(&mut self, val: guint8) {
30399        unsafe {
30400            let val: u8 = ::std::mem::transmute(val);
30401            self._bitfield_1.set(12usize, 4u8, val as u64)
30402        }
30403    }
30404    #[inline]
30405    pub fn gi(&self) -> guint8 {
30406        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 2u8) as u8) }
30407    }
30408    #[inline]
30409    pub fn set_gi(&mut self, val: guint8) {
30410        unsafe {
30411            let val: u8 = ::std::mem::transmute(val);
30412            self._bitfield_1.set(16usize, 2u8, val as u64)
30413        }
30414    }
30415    #[inline]
30416    pub fn new_bitfield_1(
30417        has_mcs_index: guint,
30418        has_bwru: guint,
30419        has_gi: guint,
30420        nsts: guint8,
30421        mcs: guint8,
30422        bwru: guint8,
30423        gi: guint8,
30424    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
30425        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
30426        __bindgen_bitfield_unit.set(0usize, 1u8, {
30427            let has_mcs_index: u32 = unsafe { ::std::mem::transmute(has_mcs_index) };
30428            has_mcs_index as u64
30429        });
30430        __bindgen_bitfield_unit.set(1usize, 1u8, {
30431            let has_bwru: u32 = unsafe { ::std::mem::transmute(has_bwru) };
30432            has_bwru as u64
30433        });
30434        __bindgen_bitfield_unit.set(2usize, 1u8, {
30435            let has_gi: u32 = unsafe { ::std::mem::transmute(has_gi) };
30436            has_gi as u64
30437        });
30438        __bindgen_bitfield_unit.set(3usize, 4u8, {
30439            let nsts: u8 = unsafe { ::std::mem::transmute(nsts) };
30440            nsts as u64
30441        });
30442        __bindgen_bitfield_unit.set(8usize, 4u8, {
30443            let mcs: u8 = unsafe { ::std::mem::transmute(mcs) };
30444            mcs as u64
30445        });
30446        __bindgen_bitfield_unit.set(12usize, 4u8, {
30447            let bwru: u8 = unsafe { ::std::mem::transmute(bwru) };
30448            bwru as u64
30449        });
30450        __bindgen_bitfield_unit.set(16usize, 2u8, {
30451            let gi: u8 = unsafe { ::std::mem::transmute(gi) };
30452            gi as u64
30453        });
30454        __bindgen_bitfield_unit
30455    }
30456}
30457#[repr(C)]
30458#[derive(Copy, Clone)]
30459pub union ieee_802_11_phy_info {
30460    pub info_11_fhss: ieee_802_11_fhss,
30461    pub info_11b: ieee_802_11b,
30462    pub info_11a: ieee_802_11a,
30463    pub info_11g: ieee_802_11g,
30464    pub info_11n: ieee_802_11n,
30465    pub info_11ac: ieee_802_11ac,
30466    pub info_11ad: ieee_802_11ad,
30467    pub info_11ax: ieee_802_11ax,
30468}
30469#[test]
30470fn bindgen_test_layout_ieee_802_11_phy_info() {
30471    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11_phy_info> = ::std::mem::MaybeUninit::uninit();
30472    let ptr = UNINIT.as_ptr();
30473    assert_eq!(
30474        ::std::mem::size_of::<ieee_802_11_phy_info>(),
30475        16usize,
30476        concat!("Size of: ", stringify!(ieee_802_11_phy_info))
30477    );
30478    assert_eq!(
30479        ::std::mem::align_of::<ieee_802_11_phy_info>(),
30480        4usize,
30481        concat!("Alignment of ", stringify!(ieee_802_11_phy_info))
30482    );
30483    assert_eq!(
30484        unsafe { ::std::ptr::addr_of!((*ptr).info_11_fhss) as usize - ptr as usize },
30485        0usize,
30486        concat!(
30487            "Offset of field: ",
30488            stringify!(ieee_802_11_phy_info),
30489            "::",
30490            stringify!(info_11_fhss)
30491        )
30492    );
30493    assert_eq!(
30494        unsafe { ::std::ptr::addr_of!((*ptr).info_11b) as usize - ptr as usize },
30495        0usize,
30496        concat!(
30497            "Offset of field: ",
30498            stringify!(ieee_802_11_phy_info),
30499            "::",
30500            stringify!(info_11b)
30501        )
30502    );
30503    assert_eq!(
30504        unsafe { ::std::ptr::addr_of!((*ptr).info_11a) as usize - ptr as usize },
30505        0usize,
30506        concat!(
30507            "Offset of field: ",
30508            stringify!(ieee_802_11_phy_info),
30509            "::",
30510            stringify!(info_11a)
30511        )
30512    );
30513    assert_eq!(
30514        unsafe { ::std::ptr::addr_of!((*ptr).info_11g) as usize - ptr as usize },
30515        0usize,
30516        concat!(
30517            "Offset of field: ",
30518            stringify!(ieee_802_11_phy_info),
30519            "::",
30520            stringify!(info_11g)
30521        )
30522    );
30523    assert_eq!(
30524        unsafe { ::std::ptr::addr_of!((*ptr).info_11n) as usize - ptr as usize },
30525        0usize,
30526        concat!(
30527            "Offset of field: ",
30528            stringify!(ieee_802_11_phy_info),
30529            "::",
30530            stringify!(info_11n)
30531        )
30532    );
30533    assert_eq!(
30534        unsafe { ::std::ptr::addr_of!((*ptr).info_11ac) as usize - ptr as usize },
30535        0usize,
30536        concat!(
30537            "Offset of field: ",
30538            stringify!(ieee_802_11_phy_info),
30539            "::",
30540            stringify!(info_11ac)
30541        )
30542    );
30543    assert_eq!(
30544        unsafe { ::std::ptr::addr_of!((*ptr).info_11ad) as usize - ptr as usize },
30545        0usize,
30546        concat!(
30547            "Offset of field: ",
30548            stringify!(ieee_802_11_phy_info),
30549            "::",
30550            stringify!(info_11ad)
30551        )
30552    );
30553    assert_eq!(
30554        unsafe { ::std::ptr::addr_of!((*ptr).info_11ax) as usize - ptr as usize },
30555        0usize,
30556        concat!(
30557            "Offset of field: ",
30558            stringify!(ieee_802_11_phy_info),
30559            "::",
30560            stringify!(info_11ax)
30561        )
30562    );
30563}
30564#[repr(C)]
30565#[derive(Copy, Clone)]
30566pub struct ieee_802_11_phdr {
30567    pub fcs_len: gint,
30568    pub _bitfield_align_1: [u8; 0],
30569    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
30570    pub phy: guint,
30571    pub phy_info: ieee_802_11_phy_info,
30572    pub _bitfield_align_2: [u8; 0],
30573    pub _bitfield_2: __BindgenBitfieldUnit<[u8; 2usize]>,
30574    pub channel: guint16,
30575    pub frequency: guint32,
30576    pub data_rate: guint16,
30577    pub signal_percent: guint8,
30578    pub noise_percent: guint8,
30579    pub signal_dbm: gint8,
30580    pub noise_dbm: gint8,
30581    pub signal_db: guint8,
30582    pub noise_db: guint8,
30583    pub tsf_timestamp: guint64,
30584    pub aggregate_flags: guint32,
30585    pub aggregate_id: guint32,
30586    pub zero_length_psdu_type: guint8,
30587}
30588#[test]
30589fn bindgen_test_layout_ieee_802_11_phdr() {
30590    const UNINIT: ::std::mem::MaybeUninit<ieee_802_11_phdr> = ::std::mem::MaybeUninit::uninit();
30591    let ptr = UNINIT.as_ptr();
30592    assert_eq!(
30593        ::std::mem::size_of::<ieee_802_11_phdr>(),
30594        72usize,
30595        concat!("Size of: ", stringify!(ieee_802_11_phdr))
30596    );
30597    assert_eq!(
30598        ::std::mem::align_of::<ieee_802_11_phdr>(),
30599        8usize,
30600        concat!("Alignment of ", stringify!(ieee_802_11_phdr))
30601    );
30602    assert_eq!(
30603        unsafe { ::std::ptr::addr_of!((*ptr).fcs_len) as usize - ptr as usize },
30604        0usize,
30605        concat!(
30606            "Offset of field: ",
30607            stringify!(ieee_802_11_phdr),
30608            "::",
30609            stringify!(fcs_len)
30610        )
30611    );
30612    assert_eq!(
30613        unsafe { ::std::ptr::addr_of!((*ptr).phy) as usize - ptr as usize },
30614        8usize,
30615        concat!(
30616            "Offset of field: ",
30617            stringify!(ieee_802_11_phdr),
30618            "::",
30619            stringify!(phy)
30620        )
30621    );
30622    assert_eq!(
30623        unsafe { ::std::ptr::addr_of!((*ptr).phy_info) as usize - ptr as usize },
30624        12usize,
30625        concat!(
30626            "Offset of field: ",
30627            stringify!(ieee_802_11_phdr),
30628            "::",
30629            stringify!(phy_info)
30630        )
30631    );
30632    assert_eq!(
30633        unsafe { ::std::ptr::addr_of!((*ptr).channel) as usize - ptr as usize },
30634        30usize,
30635        concat!(
30636            "Offset of field: ",
30637            stringify!(ieee_802_11_phdr),
30638            "::",
30639            stringify!(channel)
30640        )
30641    );
30642    assert_eq!(
30643        unsafe { ::std::ptr::addr_of!((*ptr).frequency) as usize - ptr as usize },
30644        32usize,
30645        concat!(
30646            "Offset of field: ",
30647            stringify!(ieee_802_11_phdr),
30648            "::",
30649            stringify!(frequency)
30650        )
30651    );
30652    assert_eq!(
30653        unsafe { ::std::ptr::addr_of!((*ptr).data_rate) as usize - ptr as usize },
30654        36usize,
30655        concat!(
30656            "Offset of field: ",
30657            stringify!(ieee_802_11_phdr),
30658            "::",
30659            stringify!(data_rate)
30660        )
30661    );
30662    assert_eq!(
30663        unsafe { ::std::ptr::addr_of!((*ptr).signal_percent) as usize - ptr as usize },
30664        38usize,
30665        concat!(
30666            "Offset of field: ",
30667            stringify!(ieee_802_11_phdr),
30668            "::",
30669            stringify!(signal_percent)
30670        )
30671    );
30672    assert_eq!(
30673        unsafe { ::std::ptr::addr_of!((*ptr).noise_percent) as usize - ptr as usize },
30674        39usize,
30675        concat!(
30676            "Offset of field: ",
30677            stringify!(ieee_802_11_phdr),
30678            "::",
30679            stringify!(noise_percent)
30680        )
30681    );
30682    assert_eq!(
30683        unsafe { ::std::ptr::addr_of!((*ptr).signal_dbm) as usize - ptr as usize },
30684        40usize,
30685        concat!(
30686            "Offset of field: ",
30687            stringify!(ieee_802_11_phdr),
30688            "::",
30689            stringify!(signal_dbm)
30690        )
30691    );
30692    assert_eq!(
30693        unsafe { ::std::ptr::addr_of!((*ptr).noise_dbm) as usize - ptr as usize },
30694        41usize,
30695        concat!(
30696            "Offset of field: ",
30697            stringify!(ieee_802_11_phdr),
30698            "::",
30699            stringify!(noise_dbm)
30700        )
30701    );
30702    assert_eq!(
30703        unsafe { ::std::ptr::addr_of!((*ptr).signal_db) as usize - ptr as usize },
30704        42usize,
30705        concat!(
30706            "Offset of field: ",
30707            stringify!(ieee_802_11_phdr),
30708            "::",
30709            stringify!(signal_db)
30710        )
30711    );
30712    assert_eq!(
30713        unsafe { ::std::ptr::addr_of!((*ptr).noise_db) as usize - ptr as usize },
30714        43usize,
30715        concat!(
30716            "Offset of field: ",
30717            stringify!(ieee_802_11_phdr),
30718            "::",
30719            stringify!(noise_db)
30720        )
30721    );
30722    assert_eq!(
30723        unsafe { ::std::ptr::addr_of!((*ptr).tsf_timestamp) as usize - ptr as usize },
30724        48usize,
30725        concat!(
30726            "Offset of field: ",
30727            stringify!(ieee_802_11_phdr),
30728            "::",
30729            stringify!(tsf_timestamp)
30730        )
30731    );
30732    assert_eq!(
30733        unsafe { ::std::ptr::addr_of!((*ptr).aggregate_flags) as usize - ptr as usize },
30734        56usize,
30735        concat!(
30736            "Offset of field: ",
30737            stringify!(ieee_802_11_phdr),
30738            "::",
30739            stringify!(aggregate_flags)
30740        )
30741    );
30742    assert_eq!(
30743        unsafe { ::std::ptr::addr_of!((*ptr).aggregate_id) as usize - ptr as usize },
30744        60usize,
30745        concat!(
30746            "Offset of field: ",
30747            stringify!(ieee_802_11_phdr),
30748            "::",
30749            stringify!(aggregate_id)
30750        )
30751    );
30752    assert_eq!(
30753        unsafe { ::std::ptr::addr_of!((*ptr).zero_length_psdu_type) as usize - ptr as usize },
30754        64usize,
30755        concat!(
30756            "Offset of field: ",
30757            stringify!(ieee_802_11_phdr),
30758            "::",
30759            stringify!(zero_length_psdu_type)
30760        )
30761    );
30762}
30763impl ieee_802_11_phdr {
30764    #[inline]
30765    pub fn decrypted(&self) -> guint {
30766        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
30767    }
30768    #[inline]
30769    pub fn set_decrypted(&mut self, val: guint) {
30770        unsafe {
30771            let val: u32 = ::std::mem::transmute(val);
30772            self._bitfield_1.set(0usize, 1u8, val as u64)
30773        }
30774    }
30775    #[inline]
30776    pub fn datapad(&self) -> guint {
30777        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
30778    }
30779    #[inline]
30780    pub fn set_datapad(&mut self, val: guint) {
30781        unsafe {
30782            let val: u32 = ::std::mem::transmute(val);
30783            self._bitfield_1.set(1usize, 1u8, val as u64)
30784        }
30785    }
30786    #[inline]
30787    pub fn no_a_msdus(&self) -> guint {
30788        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
30789    }
30790    #[inline]
30791    pub fn set_no_a_msdus(&mut self, val: guint) {
30792        unsafe {
30793            let val: u32 = ::std::mem::transmute(val);
30794            self._bitfield_1.set(2usize, 1u8, val as u64)
30795        }
30796    }
30797    #[inline]
30798    pub fn new_bitfield_1(
30799        decrypted: guint,
30800        datapad: guint,
30801        no_a_msdus: guint,
30802    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
30803        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
30804        __bindgen_bitfield_unit.set(0usize, 1u8, {
30805            let decrypted: u32 = unsafe { ::std::mem::transmute(decrypted) };
30806            decrypted as u64
30807        });
30808        __bindgen_bitfield_unit.set(1usize, 1u8, {
30809            let datapad: u32 = unsafe { ::std::mem::transmute(datapad) };
30810            datapad as u64
30811        });
30812        __bindgen_bitfield_unit.set(2usize, 1u8, {
30813            let no_a_msdus: u32 = unsafe { ::std::mem::transmute(no_a_msdus) };
30814            no_a_msdus as u64
30815        });
30816        __bindgen_bitfield_unit
30817    }
30818    #[inline]
30819    pub fn has_channel(&self) -> guint {
30820        unsafe { ::std::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u32) }
30821    }
30822    #[inline]
30823    pub fn set_has_channel(&mut self, val: guint) {
30824        unsafe {
30825            let val: u32 = ::std::mem::transmute(val);
30826            self._bitfield_2.set(0usize, 1u8, val as u64)
30827        }
30828    }
30829    #[inline]
30830    pub fn has_frequency(&self) -> guint {
30831        unsafe { ::std::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u32) }
30832    }
30833    #[inline]
30834    pub fn set_has_frequency(&mut self, val: guint) {
30835        unsafe {
30836            let val: u32 = ::std::mem::transmute(val);
30837            self._bitfield_2.set(1usize, 1u8, val as u64)
30838        }
30839    }
30840    #[inline]
30841    pub fn has_data_rate(&self) -> guint {
30842        unsafe { ::std::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u32) }
30843    }
30844    #[inline]
30845    pub fn set_has_data_rate(&mut self, val: guint) {
30846        unsafe {
30847            let val: u32 = ::std::mem::transmute(val);
30848            self._bitfield_2.set(2usize, 1u8, val as u64)
30849        }
30850    }
30851    #[inline]
30852    pub fn has_signal_percent(&self) -> guint {
30853        unsafe { ::std::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u32) }
30854    }
30855    #[inline]
30856    pub fn set_has_signal_percent(&mut self, val: guint) {
30857        unsafe {
30858            let val: u32 = ::std::mem::transmute(val);
30859            self._bitfield_2.set(3usize, 1u8, val as u64)
30860        }
30861    }
30862    #[inline]
30863    pub fn has_noise_percent(&self) -> guint {
30864        unsafe { ::std::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u32) }
30865    }
30866    #[inline]
30867    pub fn set_has_noise_percent(&mut self, val: guint) {
30868        unsafe {
30869            let val: u32 = ::std::mem::transmute(val);
30870            self._bitfield_2.set(4usize, 1u8, val as u64)
30871        }
30872    }
30873    #[inline]
30874    pub fn has_signal_dbm(&self) -> guint {
30875        unsafe { ::std::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u32) }
30876    }
30877    #[inline]
30878    pub fn set_has_signal_dbm(&mut self, val: guint) {
30879        unsafe {
30880            let val: u32 = ::std::mem::transmute(val);
30881            self._bitfield_2.set(5usize, 1u8, val as u64)
30882        }
30883    }
30884    #[inline]
30885    pub fn has_noise_dbm(&self) -> guint {
30886        unsafe { ::std::mem::transmute(self._bitfield_2.get(6usize, 1u8) as u32) }
30887    }
30888    #[inline]
30889    pub fn set_has_noise_dbm(&mut self, val: guint) {
30890        unsafe {
30891            let val: u32 = ::std::mem::transmute(val);
30892            self._bitfield_2.set(6usize, 1u8, val as u64)
30893        }
30894    }
30895    #[inline]
30896    pub fn has_signal_db(&self) -> guint {
30897        unsafe { ::std::mem::transmute(self._bitfield_2.get(7usize, 1u8) as u32) }
30898    }
30899    #[inline]
30900    pub fn set_has_signal_db(&mut self, val: guint) {
30901        unsafe {
30902            let val: u32 = ::std::mem::transmute(val);
30903            self._bitfield_2.set(7usize, 1u8, val as u64)
30904        }
30905    }
30906    #[inline]
30907    pub fn has_noise_db(&self) -> guint {
30908        unsafe { ::std::mem::transmute(self._bitfield_2.get(8usize, 1u8) as u32) }
30909    }
30910    #[inline]
30911    pub fn set_has_noise_db(&mut self, val: guint) {
30912        unsafe {
30913            let val: u32 = ::std::mem::transmute(val);
30914            self._bitfield_2.set(8usize, 1u8, val as u64)
30915        }
30916    }
30917    #[inline]
30918    pub fn has_tsf_timestamp(&self) -> guint {
30919        unsafe { ::std::mem::transmute(self._bitfield_2.get(9usize, 1u8) as u32) }
30920    }
30921    #[inline]
30922    pub fn set_has_tsf_timestamp(&mut self, val: guint) {
30923        unsafe {
30924            let val: u32 = ::std::mem::transmute(val);
30925            self._bitfield_2.set(9usize, 1u8, val as u64)
30926        }
30927    }
30928    #[inline]
30929    pub fn has_aggregate_info(&self) -> guint {
30930        unsafe { ::std::mem::transmute(self._bitfield_2.get(10usize, 1u8) as u32) }
30931    }
30932    #[inline]
30933    pub fn set_has_aggregate_info(&mut self, val: guint) {
30934        unsafe {
30935            let val: u32 = ::std::mem::transmute(val);
30936            self._bitfield_2.set(10usize, 1u8, val as u64)
30937        }
30938    }
30939    #[inline]
30940    pub fn has_zero_length_psdu_type(&self) -> guint {
30941        unsafe { ::std::mem::transmute(self._bitfield_2.get(11usize, 1u8) as u32) }
30942    }
30943    #[inline]
30944    pub fn set_has_zero_length_psdu_type(&mut self, val: guint) {
30945        unsafe {
30946            let val: u32 = ::std::mem::transmute(val);
30947            self._bitfield_2.set(11usize, 1u8, val as u64)
30948        }
30949    }
30950    #[inline]
30951    pub fn new_bitfield_2(
30952        has_channel: guint,
30953        has_frequency: guint,
30954        has_data_rate: guint,
30955        has_signal_percent: guint,
30956        has_noise_percent: guint,
30957        has_signal_dbm: guint,
30958        has_noise_dbm: guint,
30959        has_signal_db: guint,
30960        has_noise_db: guint,
30961        has_tsf_timestamp: guint,
30962        has_aggregate_info: guint,
30963        has_zero_length_psdu_type: guint,
30964    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
30965        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
30966        __bindgen_bitfield_unit.set(0usize, 1u8, {
30967            let has_channel: u32 = unsafe { ::std::mem::transmute(has_channel) };
30968            has_channel as u64
30969        });
30970        __bindgen_bitfield_unit.set(1usize, 1u8, {
30971            let has_frequency: u32 = unsafe { ::std::mem::transmute(has_frequency) };
30972            has_frequency as u64
30973        });
30974        __bindgen_bitfield_unit.set(2usize, 1u8, {
30975            let has_data_rate: u32 = unsafe { ::std::mem::transmute(has_data_rate) };
30976            has_data_rate as u64
30977        });
30978        __bindgen_bitfield_unit.set(3usize, 1u8, {
30979            let has_signal_percent: u32 = unsafe { ::std::mem::transmute(has_signal_percent) };
30980            has_signal_percent as u64
30981        });
30982        __bindgen_bitfield_unit.set(4usize, 1u8, {
30983            let has_noise_percent: u32 = unsafe { ::std::mem::transmute(has_noise_percent) };
30984            has_noise_percent as u64
30985        });
30986        __bindgen_bitfield_unit.set(5usize, 1u8, {
30987            let has_signal_dbm: u32 = unsafe { ::std::mem::transmute(has_signal_dbm) };
30988            has_signal_dbm as u64
30989        });
30990        __bindgen_bitfield_unit.set(6usize, 1u8, {
30991            let has_noise_dbm: u32 = unsafe { ::std::mem::transmute(has_noise_dbm) };
30992            has_noise_dbm as u64
30993        });
30994        __bindgen_bitfield_unit.set(7usize, 1u8, {
30995            let has_signal_db: u32 = unsafe { ::std::mem::transmute(has_signal_db) };
30996            has_signal_db as u64
30997        });
30998        __bindgen_bitfield_unit.set(8usize, 1u8, {
30999            let has_noise_db: u32 = unsafe { ::std::mem::transmute(has_noise_db) };
31000            has_noise_db as u64
31001        });
31002        __bindgen_bitfield_unit.set(9usize, 1u8, {
31003            let has_tsf_timestamp: u32 = unsafe { ::std::mem::transmute(has_tsf_timestamp) };
31004            has_tsf_timestamp as u64
31005        });
31006        __bindgen_bitfield_unit.set(10usize, 1u8, {
31007            let has_aggregate_info: u32 = unsafe { ::std::mem::transmute(has_aggregate_info) };
31008            has_aggregate_info as u64
31009        });
31010        __bindgen_bitfield_unit.set(11usize, 1u8, {
31011            let has_zero_length_psdu_type: u32 =
31012                unsafe { ::std::mem::transmute(has_zero_length_psdu_type) };
31013            has_zero_length_psdu_type as u64
31014        });
31015        __bindgen_bitfield_unit
31016    }
31017}
31018#[repr(C)]
31019#[derive(Debug, Copy, Clone)]
31020pub struct cosine_phdr {
31021    pub encap: guint8,
31022    pub direction: guint8,
31023    pub if_name: [::std::os::raw::c_char; 128usize],
31024    pub pro: guint16,
31025    pub off: guint16,
31026    pub pri: guint16,
31027    pub rm: guint16,
31028    pub err: guint16,
31029}
31030#[test]
31031fn bindgen_test_layout_cosine_phdr() {
31032    const UNINIT: ::std::mem::MaybeUninit<cosine_phdr> = ::std::mem::MaybeUninit::uninit();
31033    let ptr = UNINIT.as_ptr();
31034    assert_eq!(
31035        ::std::mem::size_of::<cosine_phdr>(),
31036        140usize,
31037        concat!("Size of: ", stringify!(cosine_phdr))
31038    );
31039    assert_eq!(
31040        ::std::mem::align_of::<cosine_phdr>(),
31041        2usize,
31042        concat!("Alignment of ", stringify!(cosine_phdr))
31043    );
31044    assert_eq!(
31045        unsafe { ::std::ptr::addr_of!((*ptr).encap) as usize - ptr as usize },
31046        0usize,
31047        concat!(
31048            "Offset of field: ",
31049            stringify!(cosine_phdr),
31050            "::",
31051            stringify!(encap)
31052        )
31053    );
31054    assert_eq!(
31055        unsafe { ::std::ptr::addr_of!((*ptr).direction) as usize - ptr as usize },
31056        1usize,
31057        concat!(
31058            "Offset of field: ",
31059            stringify!(cosine_phdr),
31060            "::",
31061            stringify!(direction)
31062        )
31063    );
31064    assert_eq!(
31065        unsafe { ::std::ptr::addr_of!((*ptr).if_name) as usize - ptr as usize },
31066        2usize,
31067        concat!(
31068            "Offset of field: ",
31069            stringify!(cosine_phdr),
31070            "::",
31071            stringify!(if_name)
31072        )
31073    );
31074    assert_eq!(
31075        unsafe { ::std::ptr::addr_of!((*ptr).pro) as usize - ptr as usize },
31076        130usize,
31077        concat!(
31078            "Offset of field: ",
31079            stringify!(cosine_phdr),
31080            "::",
31081            stringify!(pro)
31082        )
31083    );
31084    assert_eq!(
31085        unsafe { ::std::ptr::addr_of!((*ptr).off) as usize - ptr as usize },
31086        132usize,
31087        concat!(
31088            "Offset of field: ",
31089            stringify!(cosine_phdr),
31090            "::",
31091            stringify!(off)
31092        )
31093    );
31094    assert_eq!(
31095        unsafe { ::std::ptr::addr_of!((*ptr).pri) as usize - ptr as usize },
31096        134usize,
31097        concat!(
31098            "Offset of field: ",
31099            stringify!(cosine_phdr),
31100            "::",
31101            stringify!(pri)
31102        )
31103    );
31104    assert_eq!(
31105        unsafe { ::std::ptr::addr_of!((*ptr).rm) as usize - ptr as usize },
31106        136usize,
31107        concat!(
31108            "Offset of field: ",
31109            stringify!(cosine_phdr),
31110            "::",
31111            stringify!(rm)
31112        )
31113    );
31114    assert_eq!(
31115        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
31116        138usize,
31117        concat!(
31118            "Offset of field: ",
31119            stringify!(cosine_phdr),
31120            "::",
31121            stringify!(err)
31122        )
31123    );
31124}
31125#[repr(C)]
31126#[derive(Debug, Copy, Clone)]
31127pub struct irda_phdr {
31128    pub pkttype: guint16,
31129}
31130#[test]
31131fn bindgen_test_layout_irda_phdr() {
31132    const UNINIT: ::std::mem::MaybeUninit<irda_phdr> = ::std::mem::MaybeUninit::uninit();
31133    let ptr = UNINIT.as_ptr();
31134    assert_eq!(
31135        ::std::mem::size_of::<irda_phdr>(),
31136        2usize,
31137        concat!("Size of: ", stringify!(irda_phdr))
31138    );
31139    assert_eq!(
31140        ::std::mem::align_of::<irda_phdr>(),
31141        2usize,
31142        concat!("Alignment of ", stringify!(irda_phdr))
31143    );
31144    assert_eq!(
31145        unsafe { ::std::ptr::addr_of!((*ptr).pkttype) as usize - ptr as usize },
31146        0usize,
31147        concat!(
31148            "Offset of field: ",
31149            stringify!(irda_phdr),
31150            "::",
31151            stringify!(pkttype)
31152        )
31153    );
31154}
31155#[repr(C)]
31156#[derive(Debug, Copy, Clone)]
31157pub struct nettl_phdr {
31158    pub subsys: guint16,
31159    pub devid: guint32,
31160    pub kind: guint32,
31161    pub pid: gint32,
31162    pub uid: guint32,
31163}
31164#[test]
31165fn bindgen_test_layout_nettl_phdr() {
31166    const UNINIT: ::std::mem::MaybeUninit<nettl_phdr> = ::std::mem::MaybeUninit::uninit();
31167    let ptr = UNINIT.as_ptr();
31168    assert_eq!(
31169        ::std::mem::size_of::<nettl_phdr>(),
31170        20usize,
31171        concat!("Size of: ", stringify!(nettl_phdr))
31172    );
31173    assert_eq!(
31174        ::std::mem::align_of::<nettl_phdr>(),
31175        4usize,
31176        concat!("Alignment of ", stringify!(nettl_phdr))
31177    );
31178    assert_eq!(
31179        unsafe { ::std::ptr::addr_of!((*ptr).subsys) as usize - ptr as usize },
31180        0usize,
31181        concat!(
31182            "Offset of field: ",
31183            stringify!(nettl_phdr),
31184            "::",
31185            stringify!(subsys)
31186        )
31187    );
31188    assert_eq!(
31189        unsafe { ::std::ptr::addr_of!((*ptr).devid) as usize - ptr as usize },
31190        4usize,
31191        concat!(
31192            "Offset of field: ",
31193            stringify!(nettl_phdr),
31194            "::",
31195            stringify!(devid)
31196        )
31197    );
31198    assert_eq!(
31199        unsafe { ::std::ptr::addr_of!((*ptr).kind) as usize - ptr as usize },
31200        8usize,
31201        concat!(
31202            "Offset of field: ",
31203            stringify!(nettl_phdr),
31204            "::",
31205            stringify!(kind)
31206        )
31207    );
31208    assert_eq!(
31209        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
31210        12usize,
31211        concat!(
31212            "Offset of field: ",
31213            stringify!(nettl_phdr),
31214            "::",
31215            stringify!(pid)
31216        )
31217    );
31218    assert_eq!(
31219        unsafe { ::std::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
31220        16usize,
31221        concat!(
31222            "Offset of field: ",
31223            stringify!(nettl_phdr),
31224            "::",
31225            stringify!(uid)
31226        )
31227    );
31228}
31229#[repr(C)]
31230#[derive(Debug, Copy, Clone)]
31231pub struct mtp2_phdr {
31232    pub sent: guint8,
31233    pub annex_a_used: guint8,
31234    pub link_number: guint16,
31235}
31236#[test]
31237fn bindgen_test_layout_mtp2_phdr() {
31238    const UNINIT: ::std::mem::MaybeUninit<mtp2_phdr> = ::std::mem::MaybeUninit::uninit();
31239    let ptr = UNINIT.as_ptr();
31240    assert_eq!(
31241        ::std::mem::size_of::<mtp2_phdr>(),
31242        4usize,
31243        concat!("Size of: ", stringify!(mtp2_phdr))
31244    );
31245    assert_eq!(
31246        ::std::mem::align_of::<mtp2_phdr>(),
31247        2usize,
31248        concat!("Alignment of ", stringify!(mtp2_phdr))
31249    );
31250    assert_eq!(
31251        unsafe { ::std::ptr::addr_of!((*ptr).sent) as usize - ptr as usize },
31252        0usize,
31253        concat!(
31254            "Offset of field: ",
31255            stringify!(mtp2_phdr),
31256            "::",
31257            stringify!(sent)
31258        )
31259    );
31260    assert_eq!(
31261        unsafe { ::std::ptr::addr_of!((*ptr).annex_a_used) as usize - ptr as usize },
31262        1usize,
31263        concat!(
31264            "Offset of field: ",
31265            stringify!(mtp2_phdr),
31266            "::",
31267            stringify!(annex_a_used)
31268        )
31269    );
31270    assert_eq!(
31271        unsafe { ::std::ptr::addr_of!((*ptr).link_number) as usize - ptr as usize },
31272        2usize,
31273        concat!(
31274            "Offset of field: ",
31275            stringify!(mtp2_phdr),
31276            "::",
31277            stringify!(link_number)
31278        )
31279    );
31280}
31281#[repr(C)]
31282#[derive(Copy, Clone)]
31283pub union k12_input_info_t {
31284    pub atm: k12_input_info_t__bindgen_ty_1,
31285    pub ds0mask: guint32,
31286}
31287#[repr(C)]
31288#[derive(Debug, Copy, Clone)]
31289pub struct k12_input_info_t__bindgen_ty_1 {
31290    pub vp: guint16,
31291    pub vc: guint16,
31292    pub cid: guint16,
31293}
31294#[test]
31295fn bindgen_test_layout_k12_input_info_t__bindgen_ty_1() {
31296    const UNINIT: ::std::mem::MaybeUninit<k12_input_info_t__bindgen_ty_1> =
31297        ::std::mem::MaybeUninit::uninit();
31298    let ptr = UNINIT.as_ptr();
31299    assert_eq!(
31300        ::std::mem::size_of::<k12_input_info_t__bindgen_ty_1>(),
31301        6usize,
31302        concat!("Size of: ", stringify!(k12_input_info_t__bindgen_ty_1))
31303    );
31304    assert_eq!(
31305        ::std::mem::align_of::<k12_input_info_t__bindgen_ty_1>(),
31306        2usize,
31307        concat!("Alignment of ", stringify!(k12_input_info_t__bindgen_ty_1))
31308    );
31309    assert_eq!(
31310        unsafe { ::std::ptr::addr_of!((*ptr).vp) as usize - ptr as usize },
31311        0usize,
31312        concat!(
31313            "Offset of field: ",
31314            stringify!(k12_input_info_t__bindgen_ty_1),
31315            "::",
31316            stringify!(vp)
31317        )
31318    );
31319    assert_eq!(
31320        unsafe { ::std::ptr::addr_of!((*ptr).vc) as usize - ptr as usize },
31321        2usize,
31322        concat!(
31323            "Offset of field: ",
31324            stringify!(k12_input_info_t__bindgen_ty_1),
31325            "::",
31326            stringify!(vc)
31327        )
31328    );
31329    assert_eq!(
31330        unsafe { ::std::ptr::addr_of!((*ptr).cid) as usize - ptr as usize },
31331        4usize,
31332        concat!(
31333            "Offset of field: ",
31334            stringify!(k12_input_info_t__bindgen_ty_1),
31335            "::",
31336            stringify!(cid)
31337        )
31338    );
31339}
31340#[test]
31341fn bindgen_test_layout_k12_input_info_t() {
31342    const UNINIT: ::std::mem::MaybeUninit<k12_input_info_t> = ::std::mem::MaybeUninit::uninit();
31343    let ptr = UNINIT.as_ptr();
31344    assert_eq!(
31345        ::std::mem::size_of::<k12_input_info_t>(),
31346        8usize,
31347        concat!("Size of: ", stringify!(k12_input_info_t))
31348    );
31349    assert_eq!(
31350        ::std::mem::align_of::<k12_input_info_t>(),
31351        4usize,
31352        concat!("Alignment of ", stringify!(k12_input_info_t))
31353    );
31354    assert_eq!(
31355        unsafe { ::std::ptr::addr_of!((*ptr).atm) as usize - ptr as usize },
31356        0usize,
31357        concat!(
31358            "Offset of field: ",
31359            stringify!(k12_input_info_t),
31360            "::",
31361            stringify!(atm)
31362        )
31363    );
31364    assert_eq!(
31365        unsafe { ::std::ptr::addr_of!((*ptr).ds0mask) as usize - ptr as usize },
31366        0usize,
31367        concat!(
31368            "Offset of field: ",
31369            stringify!(k12_input_info_t),
31370            "::",
31371            stringify!(ds0mask)
31372        )
31373    );
31374}
31375#[repr(C)]
31376#[derive(Copy, Clone)]
31377pub struct k12_phdr {
31378    pub input: guint32,
31379    pub input_name: *const gchar,
31380    pub stack_file: *const gchar,
31381    pub input_type: guint32,
31382    pub input_info: k12_input_info_t,
31383    pub extra_info: *mut guint8,
31384    pub extra_length: guint32,
31385    pub stuff: *mut ::std::os::raw::c_void,
31386}
31387#[test]
31388fn bindgen_test_layout_k12_phdr() {
31389    const UNINIT: ::std::mem::MaybeUninit<k12_phdr> = ::std::mem::MaybeUninit::uninit();
31390    let ptr = UNINIT.as_ptr();
31391    assert_eq!(
31392        ::std::mem::size_of::<k12_phdr>(),
31393        64usize,
31394        concat!("Size of: ", stringify!(k12_phdr))
31395    );
31396    assert_eq!(
31397        ::std::mem::align_of::<k12_phdr>(),
31398        8usize,
31399        concat!("Alignment of ", stringify!(k12_phdr))
31400    );
31401    assert_eq!(
31402        unsafe { ::std::ptr::addr_of!((*ptr).input) as usize - ptr as usize },
31403        0usize,
31404        concat!(
31405            "Offset of field: ",
31406            stringify!(k12_phdr),
31407            "::",
31408            stringify!(input)
31409        )
31410    );
31411    assert_eq!(
31412        unsafe { ::std::ptr::addr_of!((*ptr).input_name) as usize - ptr as usize },
31413        8usize,
31414        concat!(
31415            "Offset of field: ",
31416            stringify!(k12_phdr),
31417            "::",
31418            stringify!(input_name)
31419        )
31420    );
31421    assert_eq!(
31422        unsafe { ::std::ptr::addr_of!((*ptr).stack_file) as usize - ptr as usize },
31423        16usize,
31424        concat!(
31425            "Offset of field: ",
31426            stringify!(k12_phdr),
31427            "::",
31428            stringify!(stack_file)
31429        )
31430    );
31431    assert_eq!(
31432        unsafe { ::std::ptr::addr_of!((*ptr).input_type) as usize - ptr as usize },
31433        24usize,
31434        concat!(
31435            "Offset of field: ",
31436            stringify!(k12_phdr),
31437            "::",
31438            stringify!(input_type)
31439        )
31440    );
31441    assert_eq!(
31442        unsafe { ::std::ptr::addr_of!((*ptr).input_info) as usize - ptr as usize },
31443        28usize,
31444        concat!(
31445            "Offset of field: ",
31446            stringify!(k12_phdr),
31447            "::",
31448            stringify!(input_info)
31449        )
31450    );
31451    assert_eq!(
31452        unsafe { ::std::ptr::addr_of!((*ptr).extra_info) as usize - ptr as usize },
31453        40usize,
31454        concat!(
31455            "Offset of field: ",
31456            stringify!(k12_phdr),
31457            "::",
31458            stringify!(extra_info)
31459        )
31460    );
31461    assert_eq!(
31462        unsafe { ::std::ptr::addr_of!((*ptr).extra_length) as usize - ptr as usize },
31463        48usize,
31464        concat!(
31465            "Offset of field: ",
31466            stringify!(k12_phdr),
31467            "::",
31468            stringify!(extra_length)
31469        )
31470    );
31471    assert_eq!(
31472        unsafe { ::std::ptr::addr_of!((*ptr).stuff) as usize - ptr as usize },
31473        56usize,
31474        concat!(
31475            "Offset of field: ",
31476            stringify!(k12_phdr),
31477            "::",
31478            stringify!(stuff)
31479        )
31480    );
31481}
31482#[repr(C)]
31483#[derive(Debug, Copy, Clone)]
31484pub struct lapd_phdr {
31485    pub pkttype: guint16,
31486    pub we_network: guint8,
31487}
31488#[test]
31489fn bindgen_test_layout_lapd_phdr() {
31490    const UNINIT: ::std::mem::MaybeUninit<lapd_phdr> = ::std::mem::MaybeUninit::uninit();
31491    let ptr = UNINIT.as_ptr();
31492    assert_eq!(
31493        ::std::mem::size_of::<lapd_phdr>(),
31494        4usize,
31495        concat!("Size of: ", stringify!(lapd_phdr))
31496    );
31497    assert_eq!(
31498        ::std::mem::align_of::<lapd_phdr>(),
31499        2usize,
31500        concat!("Alignment of ", stringify!(lapd_phdr))
31501    );
31502    assert_eq!(
31503        unsafe { ::std::ptr::addr_of!((*ptr).pkttype) as usize - ptr as usize },
31504        0usize,
31505        concat!(
31506            "Offset of field: ",
31507            stringify!(lapd_phdr),
31508            "::",
31509            stringify!(pkttype)
31510        )
31511    );
31512    assert_eq!(
31513        unsafe { ::std::ptr::addr_of!((*ptr).we_network) as usize - ptr as usize },
31514        2usize,
31515        concat!(
31516            "Offset of field: ",
31517            stringify!(lapd_phdr),
31518            "::",
31519            stringify!(we_network)
31520        )
31521    );
31522}
31523#[repr(C)]
31524#[derive(Debug, Copy, Clone)]
31525pub struct wtap {
31526    _unused: [u8; 0],
31527}
31528#[repr(C)]
31529#[derive(Copy, Clone)]
31530pub struct catapult_dct2000_phdr {
31531    pub inner_pseudo_header: catapult_dct2000_phdr__bindgen_ty_1,
31532    pub seek_off: gint64,
31533    pub wth: *mut wtap,
31534}
31535#[repr(C)]
31536#[derive(Copy, Clone)]
31537pub union catapult_dct2000_phdr__bindgen_ty_1 {
31538    pub isdn: isdn_phdr,
31539    pub atm: atm_phdr,
31540    pub p2p: p2p_phdr,
31541}
31542#[test]
31543fn bindgen_test_layout_catapult_dct2000_phdr__bindgen_ty_1() {
31544    const UNINIT: ::std::mem::MaybeUninit<catapult_dct2000_phdr__bindgen_ty_1> =
31545        ::std::mem::MaybeUninit::uninit();
31546    let ptr = UNINIT.as_ptr();
31547    assert_eq!(
31548        ::std::mem::size_of::<catapult_dct2000_phdr__bindgen_ty_1>(),
31549        28usize,
31550        concat!("Size of: ", stringify!(catapult_dct2000_phdr__bindgen_ty_1))
31551    );
31552    assert_eq!(
31553        ::std::mem::align_of::<catapult_dct2000_phdr__bindgen_ty_1>(),
31554        4usize,
31555        concat!(
31556            "Alignment of ",
31557            stringify!(catapult_dct2000_phdr__bindgen_ty_1)
31558        )
31559    );
31560    assert_eq!(
31561        unsafe { ::std::ptr::addr_of!((*ptr).isdn) as usize - ptr as usize },
31562        0usize,
31563        concat!(
31564            "Offset of field: ",
31565            stringify!(catapult_dct2000_phdr__bindgen_ty_1),
31566            "::",
31567            stringify!(isdn)
31568        )
31569    );
31570    assert_eq!(
31571        unsafe { ::std::ptr::addr_of!((*ptr).atm) as usize - ptr as usize },
31572        0usize,
31573        concat!(
31574            "Offset of field: ",
31575            stringify!(catapult_dct2000_phdr__bindgen_ty_1),
31576            "::",
31577            stringify!(atm)
31578        )
31579    );
31580    assert_eq!(
31581        unsafe { ::std::ptr::addr_of!((*ptr).p2p) as usize - ptr as usize },
31582        0usize,
31583        concat!(
31584            "Offset of field: ",
31585            stringify!(catapult_dct2000_phdr__bindgen_ty_1),
31586            "::",
31587            stringify!(p2p)
31588        )
31589    );
31590}
31591#[test]
31592fn bindgen_test_layout_catapult_dct2000_phdr() {
31593    const UNINIT: ::std::mem::MaybeUninit<catapult_dct2000_phdr> =
31594        ::std::mem::MaybeUninit::uninit();
31595    let ptr = UNINIT.as_ptr();
31596    assert_eq!(
31597        ::std::mem::size_of::<catapult_dct2000_phdr>(),
31598        48usize,
31599        concat!("Size of: ", stringify!(catapult_dct2000_phdr))
31600    );
31601    assert_eq!(
31602        ::std::mem::align_of::<catapult_dct2000_phdr>(),
31603        8usize,
31604        concat!("Alignment of ", stringify!(catapult_dct2000_phdr))
31605    );
31606    assert_eq!(
31607        unsafe { ::std::ptr::addr_of!((*ptr).inner_pseudo_header) as usize - ptr as usize },
31608        0usize,
31609        concat!(
31610            "Offset of field: ",
31611            stringify!(catapult_dct2000_phdr),
31612            "::",
31613            stringify!(inner_pseudo_header)
31614        )
31615    );
31616    assert_eq!(
31617        unsafe { ::std::ptr::addr_of!((*ptr).seek_off) as usize - ptr as usize },
31618        32usize,
31619        concat!(
31620            "Offset of field: ",
31621            stringify!(catapult_dct2000_phdr),
31622            "::",
31623            stringify!(seek_off)
31624        )
31625    );
31626    assert_eq!(
31627        unsafe { ::std::ptr::addr_of!((*ptr).wth) as usize - ptr as usize },
31628        40usize,
31629        concat!(
31630            "Offset of field: ",
31631            stringify!(catapult_dct2000_phdr),
31632            "::",
31633            stringify!(wth)
31634        )
31635    );
31636}
31637#[repr(C)]
31638#[derive(Debug, Copy, Clone)]
31639pub struct erf_phdr {
31640    pub ts: guint64,
31641    pub type_: guint8,
31642    pub flags: guint8,
31643    pub rlen: guint16,
31644    pub lctr: guint16,
31645    pub wlen: guint16,
31646}
31647#[test]
31648fn bindgen_test_layout_erf_phdr() {
31649    const UNINIT: ::std::mem::MaybeUninit<erf_phdr> = ::std::mem::MaybeUninit::uninit();
31650    let ptr = UNINIT.as_ptr();
31651    assert_eq!(
31652        ::std::mem::size_of::<erf_phdr>(),
31653        16usize,
31654        concat!("Size of: ", stringify!(erf_phdr))
31655    );
31656    assert_eq!(
31657        ::std::mem::align_of::<erf_phdr>(),
31658        8usize,
31659        concat!("Alignment of ", stringify!(erf_phdr))
31660    );
31661    assert_eq!(
31662        unsafe { ::std::ptr::addr_of!((*ptr).ts) as usize - ptr as usize },
31663        0usize,
31664        concat!(
31665            "Offset of field: ",
31666            stringify!(erf_phdr),
31667            "::",
31668            stringify!(ts)
31669        )
31670    );
31671    assert_eq!(
31672        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
31673        8usize,
31674        concat!(
31675            "Offset of field: ",
31676            stringify!(erf_phdr),
31677            "::",
31678            stringify!(type_)
31679        )
31680    );
31681    assert_eq!(
31682        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
31683        9usize,
31684        concat!(
31685            "Offset of field: ",
31686            stringify!(erf_phdr),
31687            "::",
31688            stringify!(flags)
31689        )
31690    );
31691    assert_eq!(
31692        unsafe { ::std::ptr::addr_of!((*ptr).rlen) as usize - ptr as usize },
31693        10usize,
31694        concat!(
31695            "Offset of field: ",
31696            stringify!(erf_phdr),
31697            "::",
31698            stringify!(rlen)
31699        )
31700    );
31701    assert_eq!(
31702        unsafe { ::std::ptr::addr_of!((*ptr).lctr) as usize - ptr as usize },
31703        12usize,
31704        concat!(
31705            "Offset of field: ",
31706            stringify!(erf_phdr),
31707            "::",
31708            stringify!(lctr)
31709        )
31710    );
31711    assert_eq!(
31712        unsafe { ::std::ptr::addr_of!((*ptr).wlen) as usize - ptr as usize },
31713        14usize,
31714        concat!(
31715            "Offset of field: ",
31716            stringify!(erf_phdr),
31717            "::",
31718            stringify!(wlen)
31719        )
31720    );
31721}
31722#[repr(C)]
31723#[derive(Debug, Copy, Clone)]
31724pub struct erf_ehdr {
31725    pub ehdr: guint64,
31726}
31727#[test]
31728fn bindgen_test_layout_erf_ehdr() {
31729    const UNINIT: ::std::mem::MaybeUninit<erf_ehdr> = ::std::mem::MaybeUninit::uninit();
31730    let ptr = UNINIT.as_ptr();
31731    assert_eq!(
31732        ::std::mem::size_of::<erf_ehdr>(),
31733        8usize,
31734        concat!("Size of: ", stringify!(erf_ehdr))
31735    );
31736    assert_eq!(
31737        ::std::mem::align_of::<erf_ehdr>(),
31738        8usize,
31739        concat!("Alignment of ", stringify!(erf_ehdr))
31740    );
31741    assert_eq!(
31742        unsafe { ::std::ptr::addr_of!((*ptr).ehdr) as usize - ptr as usize },
31743        0usize,
31744        concat!(
31745            "Offset of field: ",
31746            stringify!(erf_ehdr),
31747            "::",
31748            stringify!(ehdr)
31749        )
31750    );
31751}
31752#[repr(C)]
31753#[derive(Debug, Copy, Clone)]
31754pub struct wtap_erf_eth_hdr {
31755    pub offset: guint8,
31756    pub pad: guint8,
31757}
31758#[test]
31759fn bindgen_test_layout_wtap_erf_eth_hdr() {
31760    const UNINIT: ::std::mem::MaybeUninit<wtap_erf_eth_hdr> = ::std::mem::MaybeUninit::uninit();
31761    let ptr = UNINIT.as_ptr();
31762    assert_eq!(
31763        ::std::mem::size_of::<wtap_erf_eth_hdr>(),
31764        2usize,
31765        concat!("Size of: ", stringify!(wtap_erf_eth_hdr))
31766    );
31767    assert_eq!(
31768        ::std::mem::align_of::<wtap_erf_eth_hdr>(),
31769        1usize,
31770        concat!("Alignment of ", stringify!(wtap_erf_eth_hdr))
31771    );
31772    assert_eq!(
31773        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
31774        0usize,
31775        concat!(
31776            "Offset of field: ",
31777            stringify!(wtap_erf_eth_hdr),
31778            "::",
31779            stringify!(offset)
31780        )
31781    );
31782    assert_eq!(
31783        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
31784        1usize,
31785        concat!(
31786            "Offset of field: ",
31787            stringify!(wtap_erf_eth_hdr),
31788            "::",
31789            stringify!(pad)
31790        )
31791    );
31792}
31793#[repr(C)]
31794#[derive(Copy, Clone)]
31795pub struct erf_mc_phdr {
31796    pub phdr: erf_phdr,
31797    pub ehdr_list: [erf_ehdr; 16usize],
31798    pub subhdr: erf_mc_phdr__bindgen_ty_1,
31799}
31800#[repr(C)]
31801#[derive(Copy, Clone)]
31802pub union erf_mc_phdr__bindgen_ty_1 {
31803    pub eth_hdr: wtap_erf_eth_hdr,
31804    pub mc_hdr: guint32,
31805    pub aal2_hdr: guint32,
31806}
31807#[test]
31808fn bindgen_test_layout_erf_mc_phdr__bindgen_ty_1() {
31809    const UNINIT: ::std::mem::MaybeUninit<erf_mc_phdr__bindgen_ty_1> =
31810        ::std::mem::MaybeUninit::uninit();
31811    let ptr = UNINIT.as_ptr();
31812    assert_eq!(
31813        ::std::mem::size_of::<erf_mc_phdr__bindgen_ty_1>(),
31814        4usize,
31815        concat!("Size of: ", stringify!(erf_mc_phdr__bindgen_ty_1))
31816    );
31817    assert_eq!(
31818        ::std::mem::align_of::<erf_mc_phdr__bindgen_ty_1>(),
31819        4usize,
31820        concat!("Alignment of ", stringify!(erf_mc_phdr__bindgen_ty_1))
31821    );
31822    assert_eq!(
31823        unsafe { ::std::ptr::addr_of!((*ptr).eth_hdr) as usize - ptr as usize },
31824        0usize,
31825        concat!(
31826            "Offset of field: ",
31827            stringify!(erf_mc_phdr__bindgen_ty_1),
31828            "::",
31829            stringify!(eth_hdr)
31830        )
31831    );
31832    assert_eq!(
31833        unsafe { ::std::ptr::addr_of!((*ptr).mc_hdr) as usize - ptr as usize },
31834        0usize,
31835        concat!(
31836            "Offset of field: ",
31837            stringify!(erf_mc_phdr__bindgen_ty_1),
31838            "::",
31839            stringify!(mc_hdr)
31840        )
31841    );
31842    assert_eq!(
31843        unsafe { ::std::ptr::addr_of!((*ptr).aal2_hdr) as usize - ptr as usize },
31844        0usize,
31845        concat!(
31846            "Offset of field: ",
31847            stringify!(erf_mc_phdr__bindgen_ty_1),
31848            "::",
31849            stringify!(aal2_hdr)
31850        )
31851    );
31852}
31853#[test]
31854fn bindgen_test_layout_erf_mc_phdr() {
31855    const UNINIT: ::std::mem::MaybeUninit<erf_mc_phdr> = ::std::mem::MaybeUninit::uninit();
31856    let ptr = UNINIT.as_ptr();
31857    assert_eq!(
31858        ::std::mem::size_of::<erf_mc_phdr>(),
31859        152usize,
31860        concat!("Size of: ", stringify!(erf_mc_phdr))
31861    );
31862    assert_eq!(
31863        ::std::mem::align_of::<erf_mc_phdr>(),
31864        8usize,
31865        concat!("Alignment of ", stringify!(erf_mc_phdr))
31866    );
31867    assert_eq!(
31868        unsafe { ::std::ptr::addr_of!((*ptr).phdr) as usize - ptr as usize },
31869        0usize,
31870        concat!(
31871            "Offset of field: ",
31872            stringify!(erf_mc_phdr),
31873            "::",
31874            stringify!(phdr)
31875        )
31876    );
31877    assert_eq!(
31878        unsafe { ::std::ptr::addr_of!((*ptr).ehdr_list) as usize - ptr as usize },
31879        16usize,
31880        concat!(
31881            "Offset of field: ",
31882            stringify!(erf_mc_phdr),
31883            "::",
31884            stringify!(ehdr_list)
31885        )
31886    );
31887    assert_eq!(
31888        unsafe { ::std::ptr::addr_of!((*ptr).subhdr) as usize - ptr as usize },
31889        144usize,
31890        concat!(
31891            "Offset of field: ",
31892            stringify!(erf_mc_phdr),
31893            "::",
31894            stringify!(subhdr)
31895        )
31896    );
31897}
31898#[repr(C)]
31899#[derive(Debug, Copy, Clone)]
31900pub struct sita_phdr {
31901    pub sita_flags: guint8,
31902    pub sita_signals: guint8,
31903    pub sita_errors1: guint8,
31904    pub sita_errors2: guint8,
31905    pub sita_proto: guint8,
31906}
31907#[test]
31908fn bindgen_test_layout_sita_phdr() {
31909    const UNINIT: ::std::mem::MaybeUninit<sita_phdr> = ::std::mem::MaybeUninit::uninit();
31910    let ptr = UNINIT.as_ptr();
31911    assert_eq!(
31912        ::std::mem::size_of::<sita_phdr>(),
31913        5usize,
31914        concat!("Size of: ", stringify!(sita_phdr))
31915    );
31916    assert_eq!(
31917        ::std::mem::align_of::<sita_phdr>(),
31918        1usize,
31919        concat!("Alignment of ", stringify!(sita_phdr))
31920    );
31921    assert_eq!(
31922        unsafe { ::std::ptr::addr_of!((*ptr).sita_flags) as usize - ptr as usize },
31923        0usize,
31924        concat!(
31925            "Offset of field: ",
31926            stringify!(sita_phdr),
31927            "::",
31928            stringify!(sita_flags)
31929        )
31930    );
31931    assert_eq!(
31932        unsafe { ::std::ptr::addr_of!((*ptr).sita_signals) as usize - ptr as usize },
31933        1usize,
31934        concat!(
31935            "Offset of field: ",
31936            stringify!(sita_phdr),
31937            "::",
31938            stringify!(sita_signals)
31939        )
31940    );
31941    assert_eq!(
31942        unsafe { ::std::ptr::addr_of!((*ptr).sita_errors1) as usize - ptr as usize },
31943        2usize,
31944        concat!(
31945            "Offset of field: ",
31946            stringify!(sita_phdr),
31947            "::",
31948            stringify!(sita_errors1)
31949        )
31950    );
31951    assert_eq!(
31952        unsafe { ::std::ptr::addr_of!((*ptr).sita_errors2) as usize - ptr as usize },
31953        3usize,
31954        concat!(
31955            "Offset of field: ",
31956            stringify!(sita_phdr),
31957            "::",
31958            stringify!(sita_errors2)
31959        )
31960    );
31961    assert_eq!(
31962        unsafe { ::std::ptr::addr_of!((*ptr).sita_proto) as usize - ptr as usize },
31963        4usize,
31964        concat!(
31965            "Offset of field: ",
31966            stringify!(sita_phdr),
31967            "::",
31968            stringify!(sita_proto)
31969        )
31970    );
31971}
31972#[repr(C)]
31973#[derive(Debug, Copy, Clone)]
31974pub struct bthci_phdr {
31975    pub sent: gboolean,
31976    pub channel: guint32,
31977}
31978#[test]
31979fn bindgen_test_layout_bthci_phdr() {
31980    const UNINIT: ::std::mem::MaybeUninit<bthci_phdr> = ::std::mem::MaybeUninit::uninit();
31981    let ptr = UNINIT.as_ptr();
31982    assert_eq!(
31983        ::std::mem::size_of::<bthci_phdr>(),
31984        8usize,
31985        concat!("Size of: ", stringify!(bthci_phdr))
31986    );
31987    assert_eq!(
31988        ::std::mem::align_of::<bthci_phdr>(),
31989        4usize,
31990        concat!("Alignment of ", stringify!(bthci_phdr))
31991    );
31992    assert_eq!(
31993        unsafe { ::std::ptr::addr_of!((*ptr).sent) as usize - ptr as usize },
31994        0usize,
31995        concat!(
31996            "Offset of field: ",
31997            stringify!(bthci_phdr),
31998            "::",
31999            stringify!(sent)
32000        )
32001    );
32002    assert_eq!(
32003        unsafe { ::std::ptr::addr_of!((*ptr).channel) as usize - ptr as usize },
32004        4usize,
32005        concat!(
32006            "Offset of field: ",
32007            stringify!(bthci_phdr),
32008            "::",
32009            stringify!(channel)
32010        )
32011    );
32012}
32013#[repr(C)]
32014#[derive(Debug, Copy, Clone)]
32015pub struct btmon_phdr {
32016    pub adapter_id: guint16,
32017    pub opcode: guint16,
32018}
32019#[test]
32020fn bindgen_test_layout_btmon_phdr() {
32021    const UNINIT: ::std::mem::MaybeUninit<btmon_phdr> = ::std::mem::MaybeUninit::uninit();
32022    let ptr = UNINIT.as_ptr();
32023    assert_eq!(
32024        ::std::mem::size_of::<btmon_phdr>(),
32025        4usize,
32026        concat!("Size of: ", stringify!(btmon_phdr))
32027    );
32028    assert_eq!(
32029        ::std::mem::align_of::<btmon_phdr>(),
32030        2usize,
32031        concat!("Alignment of ", stringify!(btmon_phdr))
32032    );
32033    assert_eq!(
32034        unsafe { ::std::ptr::addr_of!((*ptr).adapter_id) as usize - ptr as usize },
32035        0usize,
32036        concat!(
32037            "Offset of field: ",
32038            stringify!(btmon_phdr),
32039            "::",
32040            stringify!(adapter_id)
32041        )
32042    );
32043    assert_eq!(
32044        unsafe { ::std::ptr::addr_of!((*ptr).opcode) as usize - ptr as usize },
32045        2usize,
32046        concat!(
32047            "Offset of field: ",
32048            stringify!(btmon_phdr),
32049            "::",
32050            stringify!(opcode)
32051        )
32052    );
32053}
32054#[repr(C)]
32055#[derive(Debug, Copy, Clone)]
32056pub struct l1event_phdr {
32057    pub uton: gboolean,
32058}
32059#[test]
32060fn bindgen_test_layout_l1event_phdr() {
32061    const UNINIT: ::std::mem::MaybeUninit<l1event_phdr> = ::std::mem::MaybeUninit::uninit();
32062    let ptr = UNINIT.as_ptr();
32063    assert_eq!(
32064        ::std::mem::size_of::<l1event_phdr>(),
32065        4usize,
32066        concat!("Size of: ", stringify!(l1event_phdr))
32067    );
32068    assert_eq!(
32069        ::std::mem::align_of::<l1event_phdr>(),
32070        4usize,
32071        concat!("Alignment of ", stringify!(l1event_phdr))
32072    );
32073    assert_eq!(
32074        unsafe { ::std::ptr::addr_of!((*ptr).uton) as usize - ptr as usize },
32075        0usize,
32076        concat!(
32077            "Offset of field: ",
32078            stringify!(l1event_phdr),
32079            "::",
32080            stringify!(uton)
32081        )
32082    );
32083}
32084#[repr(C)]
32085#[derive(Debug, Copy, Clone)]
32086pub struct i2c_phdr {
32087    pub is_event: guint8,
32088    pub bus: guint8,
32089    pub flags: guint32,
32090}
32091#[test]
32092fn bindgen_test_layout_i2c_phdr() {
32093    const UNINIT: ::std::mem::MaybeUninit<i2c_phdr> = ::std::mem::MaybeUninit::uninit();
32094    let ptr = UNINIT.as_ptr();
32095    assert_eq!(
32096        ::std::mem::size_of::<i2c_phdr>(),
32097        8usize,
32098        concat!("Size of: ", stringify!(i2c_phdr))
32099    );
32100    assert_eq!(
32101        ::std::mem::align_of::<i2c_phdr>(),
32102        4usize,
32103        concat!("Alignment of ", stringify!(i2c_phdr))
32104    );
32105    assert_eq!(
32106        unsafe { ::std::ptr::addr_of!((*ptr).is_event) as usize - ptr as usize },
32107        0usize,
32108        concat!(
32109            "Offset of field: ",
32110            stringify!(i2c_phdr),
32111            "::",
32112            stringify!(is_event)
32113        )
32114    );
32115    assert_eq!(
32116        unsafe { ::std::ptr::addr_of!((*ptr).bus) as usize - ptr as usize },
32117        1usize,
32118        concat!(
32119            "Offset of field: ",
32120            stringify!(i2c_phdr),
32121            "::",
32122            stringify!(bus)
32123        )
32124    );
32125    assert_eq!(
32126        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32127        4usize,
32128        concat!(
32129            "Offset of field: ",
32130            stringify!(i2c_phdr),
32131            "::",
32132            stringify!(flags)
32133        )
32134    );
32135}
32136#[repr(C)]
32137#[derive(Debug, Copy, Clone)]
32138pub struct gsm_um_phdr {
32139    pub uplink: gboolean,
32140    pub channel: guint8,
32141    pub bsic: guint8,
32142    pub arfcn: guint16,
32143    pub tdma_frame: guint32,
32144    pub error: guint8,
32145    pub timeshift: guint16,
32146}
32147#[test]
32148fn bindgen_test_layout_gsm_um_phdr() {
32149    const UNINIT: ::std::mem::MaybeUninit<gsm_um_phdr> = ::std::mem::MaybeUninit::uninit();
32150    let ptr = UNINIT.as_ptr();
32151    assert_eq!(
32152        ::std::mem::size_of::<gsm_um_phdr>(),
32153        16usize,
32154        concat!("Size of: ", stringify!(gsm_um_phdr))
32155    );
32156    assert_eq!(
32157        ::std::mem::align_of::<gsm_um_phdr>(),
32158        4usize,
32159        concat!("Alignment of ", stringify!(gsm_um_phdr))
32160    );
32161    assert_eq!(
32162        unsafe { ::std::ptr::addr_of!((*ptr).uplink) as usize - ptr as usize },
32163        0usize,
32164        concat!(
32165            "Offset of field: ",
32166            stringify!(gsm_um_phdr),
32167            "::",
32168            stringify!(uplink)
32169        )
32170    );
32171    assert_eq!(
32172        unsafe { ::std::ptr::addr_of!((*ptr).channel) as usize - ptr as usize },
32173        4usize,
32174        concat!(
32175            "Offset of field: ",
32176            stringify!(gsm_um_phdr),
32177            "::",
32178            stringify!(channel)
32179        )
32180    );
32181    assert_eq!(
32182        unsafe { ::std::ptr::addr_of!((*ptr).bsic) as usize - ptr as usize },
32183        5usize,
32184        concat!(
32185            "Offset of field: ",
32186            stringify!(gsm_um_phdr),
32187            "::",
32188            stringify!(bsic)
32189        )
32190    );
32191    assert_eq!(
32192        unsafe { ::std::ptr::addr_of!((*ptr).arfcn) as usize - ptr as usize },
32193        6usize,
32194        concat!(
32195            "Offset of field: ",
32196            stringify!(gsm_um_phdr),
32197            "::",
32198            stringify!(arfcn)
32199        )
32200    );
32201    assert_eq!(
32202        unsafe { ::std::ptr::addr_of!((*ptr).tdma_frame) as usize - ptr as usize },
32203        8usize,
32204        concat!(
32205            "Offset of field: ",
32206            stringify!(gsm_um_phdr),
32207            "::",
32208            stringify!(tdma_frame)
32209        )
32210    );
32211    assert_eq!(
32212        unsafe { ::std::ptr::addr_of!((*ptr).error) as usize - ptr as usize },
32213        12usize,
32214        concat!(
32215            "Offset of field: ",
32216            stringify!(gsm_um_phdr),
32217            "::",
32218            stringify!(error)
32219        )
32220    );
32221    assert_eq!(
32222        unsafe { ::std::ptr::addr_of!((*ptr).timeshift) as usize - ptr as usize },
32223        14usize,
32224        concat!(
32225            "Offset of field: ",
32226            stringify!(gsm_um_phdr),
32227            "::",
32228            stringify!(timeshift)
32229        )
32230    );
32231}
32232#[repr(C)]
32233#[derive(Debug, Copy, Clone)]
32234pub struct nstr_phdr {
32235    pub rec_offset: gint64,
32236    pub rec_len: gint32,
32237    pub nicno_offset: guint8,
32238    pub nicno_len: guint8,
32239    pub dir_offset: guint8,
32240    pub dir_len: guint8,
32241    pub eth_offset: guint16,
32242    pub pcb_offset: guint8,
32243    pub l_pcb_offset: guint8,
32244    pub rec_type: guint8,
32245    pub vlantag_offset: guint8,
32246    pub coreid_offset: guint8,
32247    pub srcnodeid_offset: guint8,
32248    pub destnodeid_offset: guint8,
32249    pub clflags_offset: guint8,
32250    pub src_vmname_len_offset: guint8,
32251    pub dst_vmname_len_offset: guint8,
32252    pub ns_activity_offset: guint8,
32253    pub data_offset: guint8,
32254}
32255#[test]
32256fn bindgen_test_layout_nstr_phdr() {
32257    const UNINIT: ::std::mem::MaybeUninit<nstr_phdr> = ::std::mem::MaybeUninit::uninit();
32258    let ptr = UNINIT.as_ptr();
32259    assert_eq!(
32260        ::std::mem::size_of::<nstr_phdr>(),
32261        32usize,
32262        concat!("Size of: ", stringify!(nstr_phdr))
32263    );
32264    assert_eq!(
32265        ::std::mem::align_of::<nstr_phdr>(),
32266        8usize,
32267        concat!("Alignment of ", stringify!(nstr_phdr))
32268    );
32269    assert_eq!(
32270        unsafe { ::std::ptr::addr_of!((*ptr).rec_offset) as usize - ptr as usize },
32271        0usize,
32272        concat!(
32273            "Offset of field: ",
32274            stringify!(nstr_phdr),
32275            "::",
32276            stringify!(rec_offset)
32277        )
32278    );
32279    assert_eq!(
32280        unsafe { ::std::ptr::addr_of!((*ptr).rec_len) as usize - ptr as usize },
32281        8usize,
32282        concat!(
32283            "Offset of field: ",
32284            stringify!(nstr_phdr),
32285            "::",
32286            stringify!(rec_len)
32287        )
32288    );
32289    assert_eq!(
32290        unsafe { ::std::ptr::addr_of!((*ptr).nicno_offset) as usize - ptr as usize },
32291        12usize,
32292        concat!(
32293            "Offset of field: ",
32294            stringify!(nstr_phdr),
32295            "::",
32296            stringify!(nicno_offset)
32297        )
32298    );
32299    assert_eq!(
32300        unsafe { ::std::ptr::addr_of!((*ptr).nicno_len) as usize - ptr as usize },
32301        13usize,
32302        concat!(
32303            "Offset of field: ",
32304            stringify!(nstr_phdr),
32305            "::",
32306            stringify!(nicno_len)
32307        )
32308    );
32309    assert_eq!(
32310        unsafe { ::std::ptr::addr_of!((*ptr).dir_offset) as usize - ptr as usize },
32311        14usize,
32312        concat!(
32313            "Offset of field: ",
32314            stringify!(nstr_phdr),
32315            "::",
32316            stringify!(dir_offset)
32317        )
32318    );
32319    assert_eq!(
32320        unsafe { ::std::ptr::addr_of!((*ptr).dir_len) as usize - ptr as usize },
32321        15usize,
32322        concat!(
32323            "Offset of field: ",
32324            stringify!(nstr_phdr),
32325            "::",
32326            stringify!(dir_len)
32327        )
32328    );
32329    assert_eq!(
32330        unsafe { ::std::ptr::addr_of!((*ptr).eth_offset) as usize - ptr as usize },
32331        16usize,
32332        concat!(
32333            "Offset of field: ",
32334            stringify!(nstr_phdr),
32335            "::",
32336            stringify!(eth_offset)
32337        )
32338    );
32339    assert_eq!(
32340        unsafe { ::std::ptr::addr_of!((*ptr).pcb_offset) as usize - ptr as usize },
32341        18usize,
32342        concat!(
32343            "Offset of field: ",
32344            stringify!(nstr_phdr),
32345            "::",
32346            stringify!(pcb_offset)
32347        )
32348    );
32349    assert_eq!(
32350        unsafe { ::std::ptr::addr_of!((*ptr).l_pcb_offset) as usize - ptr as usize },
32351        19usize,
32352        concat!(
32353            "Offset of field: ",
32354            stringify!(nstr_phdr),
32355            "::",
32356            stringify!(l_pcb_offset)
32357        )
32358    );
32359    assert_eq!(
32360        unsafe { ::std::ptr::addr_of!((*ptr).rec_type) as usize - ptr as usize },
32361        20usize,
32362        concat!(
32363            "Offset of field: ",
32364            stringify!(nstr_phdr),
32365            "::",
32366            stringify!(rec_type)
32367        )
32368    );
32369    assert_eq!(
32370        unsafe { ::std::ptr::addr_of!((*ptr).vlantag_offset) as usize - ptr as usize },
32371        21usize,
32372        concat!(
32373            "Offset of field: ",
32374            stringify!(nstr_phdr),
32375            "::",
32376            stringify!(vlantag_offset)
32377        )
32378    );
32379    assert_eq!(
32380        unsafe { ::std::ptr::addr_of!((*ptr).coreid_offset) as usize - ptr as usize },
32381        22usize,
32382        concat!(
32383            "Offset of field: ",
32384            stringify!(nstr_phdr),
32385            "::",
32386            stringify!(coreid_offset)
32387        )
32388    );
32389    assert_eq!(
32390        unsafe { ::std::ptr::addr_of!((*ptr).srcnodeid_offset) as usize - ptr as usize },
32391        23usize,
32392        concat!(
32393            "Offset of field: ",
32394            stringify!(nstr_phdr),
32395            "::",
32396            stringify!(srcnodeid_offset)
32397        )
32398    );
32399    assert_eq!(
32400        unsafe { ::std::ptr::addr_of!((*ptr).destnodeid_offset) as usize - ptr as usize },
32401        24usize,
32402        concat!(
32403            "Offset of field: ",
32404            stringify!(nstr_phdr),
32405            "::",
32406            stringify!(destnodeid_offset)
32407        )
32408    );
32409    assert_eq!(
32410        unsafe { ::std::ptr::addr_of!((*ptr).clflags_offset) as usize - ptr as usize },
32411        25usize,
32412        concat!(
32413            "Offset of field: ",
32414            stringify!(nstr_phdr),
32415            "::",
32416            stringify!(clflags_offset)
32417        )
32418    );
32419    assert_eq!(
32420        unsafe { ::std::ptr::addr_of!((*ptr).src_vmname_len_offset) as usize - ptr as usize },
32421        26usize,
32422        concat!(
32423            "Offset of field: ",
32424            stringify!(nstr_phdr),
32425            "::",
32426            stringify!(src_vmname_len_offset)
32427        )
32428    );
32429    assert_eq!(
32430        unsafe { ::std::ptr::addr_of!((*ptr).dst_vmname_len_offset) as usize - ptr as usize },
32431        27usize,
32432        concat!(
32433            "Offset of field: ",
32434            stringify!(nstr_phdr),
32435            "::",
32436            stringify!(dst_vmname_len_offset)
32437        )
32438    );
32439    assert_eq!(
32440        unsafe { ::std::ptr::addr_of!((*ptr).ns_activity_offset) as usize - ptr as usize },
32441        28usize,
32442        concat!(
32443            "Offset of field: ",
32444            stringify!(nstr_phdr),
32445            "::",
32446            stringify!(ns_activity_offset)
32447        )
32448    );
32449    assert_eq!(
32450        unsafe { ::std::ptr::addr_of!((*ptr).data_offset) as usize - ptr as usize },
32451        29usize,
32452        concat!(
32453            "Offset of field: ",
32454            stringify!(nstr_phdr),
32455            "::",
32456            stringify!(data_offset)
32457        )
32458    );
32459}
32460#[repr(C)]
32461#[derive(Debug, Copy, Clone)]
32462pub struct nokia_phdr {
32463    pub eth: eth_phdr,
32464    pub stuff: [guint8; 4usize],
32465}
32466#[test]
32467fn bindgen_test_layout_nokia_phdr() {
32468    const UNINIT: ::std::mem::MaybeUninit<nokia_phdr> = ::std::mem::MaybeUninit::uninit();
32469    let ptr = UNINIT.as_ptr();
32470    assert_eq!(
32471        ::std::mem::size_of::<nokia_phdr>(),
32472        8usize,
32473        concat!("Size of: ", stringify!(nokia_phdr))
32474    );
32475    assert_eq!(
32476        ::std::mem::align_of::<nokia_phdr>(),
32477        4usize,
32478        concat!("Alignment of ", stringify!(nokia_phdr))
32479    );
32480    assert_eq!(
32481        unsafe { ::std::ptr::addr_of!((*ptr).eth) as usize - ptr as usize },
32482        0usize,
32483        concat!(
32484            "Offset of field: ",
32485            stringify!(nokia_phdr),
32486            "::",
32487            stringify!(eth)
32488        )
32489    );
32490    assert_eq!(
32491        unsafe { ::std::ptr::addr_of!((*ptr).stuff) as usize - ptr as usize },
32492        4usize,
32493        concat!(
32494            "Offset of field: ",
32495            stringify!(nokia_phdr),
32496            "::",
32497            stringify!(stuff)
32498        )
32499    );
32500}
32501#[repr(C)]
32502#[derive(Debug, Copy, Clone)]
32503pub struct llcp_phdr {
32504    pub adapter: guint8,
32505    pub flags: guint8,
32506}
32507#[test]
32508fn bindgen_test_layout_llcp_phdr() {
32509    const UNINIT: ::std::mem::MaybeUninit<llcp_phdr> = ::std::mem::MaybeUninit::uninit();
32510    let ptr = UNINIT.as_ptr();
32511    assert_eq!(
32512        ::std::mem::size_of::<llcp_phdr>(),
32513        2usize,
32514        concat!("Size of: ", stringify!(llcp_phdr))
32515    );
32516    assert_eq!(
32517        ::std::mem::align_of::<llcp_phdr>(),
32518        1usize,
32519        concat!("Alignment of ", stringify!(llcp_phdr))
32520    );
32521    assert_eq!(
32522        unsafe { ::std::ptr::addr_of!((*ptr).adapter) as usize - ptr as usize },
32523        0usize,
32524        concat!(
32525            "Offset of field: ",
32526            stringify!(llcp_phdr),
32527            "::",
32528            stringify!(adapter)
32529        )
32530    );
32531    assert_eq!(
32532        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
32533        1usize,
32534        concat!(
32535            "Offset of field: ",
32536            stringify!(llcp_phdr),
32537            "::",
32538            stringify!(flags)
32539        )
32540    );
32541}
32542#[repr(C)]
32543#[derive(Debug, Copy, Clone)]
32544pub struct logcat_phdr {
32545    pub version: gint,
32546}
32547#[test]
32548fn bindgen_test_layout_logcat_phdr() {
32549    const UNINIT: ::std::mem::MaybeUninit<logcat_phdr> = ::std::mem::MaybeUninit::uninit();
32550    let ptr = UNINIT.as_ptr();
32551    assert_eq!(
32552        ::std::mem::size_of::<logcat_phdr>(),
32553        4usize,
32554        concat!("Size of: ", stringify!(logcat_phdr))
32555    );
32556    assert_eq!(
32557        ::std::mem::align_of::<logcat_phdr>(),
32558        4usize,
32559        concat!("Alignment of ", stringify!(logcat_phdr))
32560    );
32561    assert_eq!(
32562        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
32563        0usize,
32564        concat!(
32565            "Offset of field: ",
32566            stringify!(logcat_phdr),
32567            "::",
32568            stringify!(version)
32569        )
32570    );
32571}
32572#[repr(C)]
32573#[derive(Copy, Clone)]
32574pub struct netmon_phdr {
32575    pub title: *mut guint8,
32576    pub descLength: guint32,
32577    pub description: *mut guint8,
32578    pub sub_encap: guint,
32579    pub subheader: netmon_phdr_sub_wtap_pseudo_header,
32580}
32581#[repr(C)]
32582#[derive(Copy, Clone)]
32583pub union netmon_phdr_sub_wtap_pseudo_header {
32584    pub eth: eth_phdr,
32585    pub atm: atm_phdr,
32586    pub ieee_802_11: ieee_802_11_phdr,
32587}
32588#[test]
32589fn bindgen_test_layout_netmon_phdr_sub_wtap_pseudo_header() {
32590    const UNINIT: ::std::mem::MaybeUninit<netmon_phdr_sub_wtap_pseudo_header> =
32591        ::std::mem::MaybeUninit::uninit();
32592    let ptr = UNINIT.as_ptr();
32593    assert_eq!(
32594        ::std::mem::size_of::<netmon_phdr_sub_wtap_pseudo_header>(),
32595        72usize,
32596        concat!("Size of: ", stringify!(netmon_phdr_sub_wtap_pseudo_header))
32597    );
32598    assert_eq!(
32599        ::std::mem::align_of::<netmon_phdr_sub_wtap_pseudo_header>(),
32600        8usize,
32601        concat!(
32602            "Alignment of ",
32603            stringify!(netmon_phdr_sub_wtap_pseudo_header)
32604        )
32605    );
32606    assert_eq!(
32607        unsafe { ::std::ptr::addr_of!((*ptr).eth) as usize - ptr as usize },
32608        0usize,
32609        concat!(
32610            "Offset of field: ",
32611            stringify!(netmon_phdr_sub_wtap_pseudo_header),
32612            "::",
32613            stringify!(eth)
32614        )
32615    );
32616    assert_eq!(
32617        unsafe { ::std::ptr::addr_of!((*ptr).atm) as usize - ptr as usize },
32618        0usize,
32619        concat!(
32620            "Offset of field: ",
32621            stringify!(netmon_phdr_sub_wtap_pseudo_header),
32622            "::",
32623            stringify!(atm)
32624        )
32625    );
32626    assert_eq!(
32627        unsafe { ::std::ptr::addr_of!((*ptr).ieee_802_11) as usize - ptr as usize },
32628        0usize,
32629        concat!(
32630            "Offset of field: ",
32631            stringify!(netmon_phdr_sub_wtap_pseudo_header),
32632            "::",
32633            stringify!(ieee_802_11)
32634        )
32635    );
32636}
32637#[test]
32638fn bindgen_test_layout_netmon_phdr() {
32639    const UNINIT: ::std::mem::MaybeUninit<netmon_phdr> = ::std::mem::MaybeUninit::uninit();
32640    let ptr = UNINIT.as_ptr();
32641    assert_eq!(
32642        ::std::mem::size_of::<netmon_phdr>(),
32643        104usize,
32644        concat!("Size of: ", stringify!(netmon_phdr))
32645    );
32646    assert_eq!(
32647        ::std::mem::align_of::<netmon_phdr>(),
32648        8usize,
32649        concat!("Alignment of ", stringify!(netmon_phdr))
32650    );
32651    assert_eq!(
32652        unsafe { ::std::ptr::addr_of!((*ptr).title) as usize - ptr as usize },
32653        0usize,
32654        concat!(
32655            "Offset of field: ",
32656            stringify!(netmon_phdr),
32657            "::",
32658            stringify!(title)
32659        )
32660    );
32661    assert_eq!(
32662        unsafe { ::std::ptr::addr_of!((*ptr).descLength) as usize - ptr as usize },
32663        8usize,
32664        concat!(
32665            "Offset of field: ",
32666            stringify!(netmon_phdr),
32667            "::",
32668            stringify!(descLength)
32669        )
32670    );
32671    assert_eq!(
32672        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
32673        16usize,
32674        concat!(
32675            "Offset of field: ",
32676            stringify!(netmon_phdr),
32677            "::",
32678            stringify!(description)
32679        )
32680    );
32681    assert_eq!(
32682        unsafe { ::std::ptr::addr_of!((*ptr).sub_encap) as usize - ptr as usize },
32683        24usize,
32684        concat!(
32685            "Offset of field: ",
32686            stringify!(netmon_phdr),
32687            "::",
32688            stringify!(sub_encap)
32689        )
32690    );
32691    assert_eq!(
32692        unsafe { ::std::ptr::addr_of!((*ptr).subheader) as usize - ptr as usize },
32693        32usize,
32694        concat!(
32695            "Offset of field: ",
32696            stringify!(netmon_phdr),
32697            "::",
32698            stringify!(subheader)
32699        )
32700    );
32701}
32702#[repr(C)]
32703#[derive(Debug, Copy, Clone)]
32704pub struct ber_phdr {
32705    pub pathname: *const ::std::os::raw::c_char,
32706}
32707#[test]
32708fn bindgen_test_layout_ber_phdr() {
32709    const UNINIT: ::std::mem::MaybeUninit<ber_phdr> = ::std::mem::MaybeUninit::uninit();
32710    let ptr = UNINIT.as_ptr();
32711    assert_eq!(
32712        ::std::mem::size_of::<ber_phdr>(),
32713        8usize,
32714        concat!("Size of: ", stringify!(ber_phdr))
32715    );
32716    assert_eq!(
32717        ::std::mem::align_of::<ber_phdr>(),
32718        8usize,
32719        concat!("Alignment of ", stringify!(ber_phdr))
32720    );
32721    assert_eq!(
32722        unsafe { ::std::ptr::addr_of!((*ptr).pathname) as usize - ptr as usize },
32723        0usize,
32724        concat!(
32725            "Offset of field: ",
32726            stringify!(ber_phdr),
32727            "::",
32728            stringify!(pathname)
32729        )
32730    );
32731}
32732#[repr(C)]
32733#[derive(Copy, Clone)]
32734pub union wtap_pseudo_header {
32735    pub eth: eth_phdr,
32736    pub dte_dce: dte_dce_phdr,
32737    pub isdn: isdn_phdr,
32738    pub atm: atm_phdr,
32739    pub ascend: ascend_phdr,
32740    pub p2p: p2p_phdr,
32741    pub ieee_802_11: ieee_802_11_phdr,
32742    pub cosine: cosine_phdr,
32743    pub irda: irda_phdr,
32744    pub nettl: nettl_phdr,
32745    pub mtp2: mtp2_phdr,
32746    pub k12: k12_phdr,
32747    pub lapd: lapd_phdr,
32748    pub dct2000: catapult_dct2000_phdr,
32749    pub erf: erf_mc_phdr,
32750    pub sita: sita_phdr,
32751    pub bthci: bthci_phdr,
32752    pub btmon: btmon_phdr,
32753    pub l1event: l1event_phdr,
32754    pub i2c: i2c_phdr,
32755    pub gsm_um: gsm_um_phdr,
32756    pub nstr: nstr_phdr,
32757    pub nokia: nokia_phdr,
32758    pub llcp: llcp_phdr,
32759    pub logcat: logcat_phdr,
32760    pub netmon: netmon_phdr,
32761    pub ber: ber_phdr,
32762}
32763#[test]
32764fn bindgen_test_layout_wtap_pseudo_header() {
32765    const UNINIT: ::std::mem::MaybeUninit<wtap_pseudo_header> = ::std::mem::MaybeUninit::uninit();
32766    let ptr = UNINIT.as_ptr();
32767    assert_eq!(
32768        ::std::mem::size_of::<wtap_pseudo_header>(),
32769        152usize,
32770        concat!("Size of: ", stringify!(wtap_pseudo_header))
32771    );
32772    assert_eq!(
32773        ::std::mem::align_of::<wtap_pseudo_header>(),
32774        8usize,
32775        concat!("Alignment of ", stringify!(wtap_pseudo_header))
32776    );
32777    assert_eq!(
32778        unsafe { ::std::ptr::addr_of!((*ptr).eth) as usize - ptr as usize },
32779        0usize,
32780        concat!(
32781            "Offset of field: ",
32782            stringify!(wtap_pseudo_header),
32783            "::",
32784            stringify!(eth)
32785        )
32786    );
32787    assert_eq!(
32788        unsafe { ::std::ptr::addr_of!((*ptr).dte_dce) as usize - ptr as usize },
32789        0usize,
32790        concat!(
32791            "Offset of field: ",
32792            stringify!(wtap_pseudo_header),
32793            "::",
32794            stringify!(dte_dce)
32795        )
32796    );
32797    assert_eq!(
32798        unsafe { ::std::ptr::addr_of!((*ptr).isdn) as usize - ptr as usize },
32799        0usize,
32800        concat!(
32801            "Offset of field: ",
32802            stringify!(wtap_pseudo_header),
32803            "::",
32804            stringify!(isdn)
32805        )
32806    );
32807    assert_eq!(
32808        unsafe { ::std::ptr::addr_of!((*ptr).atm) as usize - ptr as usize },
32809        0usize,
32810        concat!(
32811            "Offset of field: ",
32812            stringify!(wtap_pseudo_header),
32813            "::",
32814            stringify!(atm)
32815        )
32816    );
32817    assert_eq!(
32818        unsafe { ::std::ptr::addr_of!((*ptr).ascend) as usize - ptr as usize },
32819        0usize,
32820        concat!(
32821            "Offset of field: ",
32822            stringify!(wtap_pseudo_header),
32823            "::",
32824            stringify!(ascend)
32825        )
32826    );
32827    assert_eq!(
32828        unsafe { ::std::ptr::addr_of!((*ptr).p2p) as usize - ptr as usize },
32829        0usize,
32830        concat!(
32831            "Offset of field: ",
32832            stringify!(wtap_pseudo_header),
32833            "::",
32834            stringify!(p2p)
32835        )
32836    );
32837    assert_eq!(
32838        unsafe { ::std::ptr::addr_of!((*ptr).ieee_802_11) as usize - ptr as usize },
32839        0usize,
32840        concat!(
32841            "Offset of field: ",
32842            stringify!(wtap_pseudo_header),
32843            "::",
32844            stringify!(ieee_802_11)
32845        )
32846    );
32847    assert_eq!(
32848        unsafe { ::std::ptr::addr_of!((*ptr).cosine) as usize - ptr as usize },
32849        0usize,
32850        concat!(
32851            "Offset of field: ",
32852            stringify!(wtap_pseudo_header),
32853            "::",
32854            stringify!(cosine)
32855        )
32856    );
32857    assert_eq!(
32858        unsafe { ::std::ptr::addr_of!((*ptr).irda) as usize - ptr as usize },
32859        0usize,
32860        concat!(
32861            "Offset of field: ",
32862            stringify!(wtap_pseudo_header),
32863            "::",
32864            stringify!(irda)
32865        )
32866    );
32867    assert_eq!(
32868        unsafe { ::std::ptr::addr_of!((*ptr).nettl) as usize - ptr as usize },
32869        0usize,
32870        concat!(
32871            "Offset of field: ",
32872            stringify!(wtap_pseudo_header),
32873            "::",
32874            stringify!(nettl)
32875        )
32876    );
32877    assert_eq!(
32878        unsafe { ::std::ptr::addr_of!((*ptr).mtp2) as usize - ptr as usize },
32879        0usize,
32880        concat!(
32881            "Offset of field: ",
32882            stringify!(wtap_pseudo_header),
32883            "::",
32884            stringify!(mtp2)
32885        )
32886    );
32887    assert_eq!(
32888        unsafe { ::std::ptr::addr_of!((*ptr).k12) as usize - ptr as usize },
32889        0usize,
32890        concat!(
32891            "Offset of field: ",
32892            stringify!(wtap_pseudo_header),
32893            "::",
32894            stringify!(k12)
32895        )
32896    );
32897    assert_eq!(
32898        unsafe { ::std::ptr::addr_of!((*ptr).lapd) as usize - ptr as usize },
32899        0usize,
32900        concat!(
32901            "Offset of field: ",
32902            stringify!(wtap_pseudo_header),
32903            "::",
32904            stringify!(lapd)
32905        )
32906    );
32907    assert_eq!(
32908        unsafe { ::std::ptr::addr_of!((*ptr).dct2000) as usize - ptr as usize },
32909        0usize,
32910        concat!(
32911            "Offset of field: ",
32912            stringify!(wtap_pseudo_header),
32913            "::",
32914            stringify!(dct2000)
32915        )
32916    );
32917    assert_eq!(
32918        unsafe { ::std::ptr::addr_of!((*ptr).erf) as usize - ptr as usize },
32919        0usize,
32920        concat!(
32921            "Offset of field: ",
32922            stringify!(wtap_pseudo_header),
32923            "::",
32924            stringify!(erf)
32925        )
32926    );
32927    assert_eq!(
32928        unsafe { ::std::ptr::addr_of!((*ptr).sita) as usize - ptr as usize },
32929        0usize,
32930        concat!(
32931            "Offset of field: ",
32932            stringify!(wtap_pseudo_header),
32933            "::",
32934            stringify!(sita)
32935        )
32936    );
32937    assert_eq!(
32938        unsafe { ::std::ptr::addr_of!((*ptr).bthci) as usize - ptr as usize },
32939        0usize,
32940        concat!(
32941            "Offset of field: ",
32942            stringify!(wtap_pseudo_header),
32943            "::",
32944            stringify!(bthci)
32945        )
32946    );
32947    assert_eq!(
32948        unsafe { ::std::ptr::addr_of!((*ptr).btmon) as usize - ptr as usize },
32949        0usize,
32950        concat!(
32951            "Offset of field: ",
32952            stringify!(wtap_pseudo_header),
32953            "::",
32954            stringify!(btmon)
32955        )
32956    );
32957    assert_eq!(
32958        unsafe { ::std::ptr::addr_of!((*ptr).l1event) as usize - ptr as usize },
32959        0usize,
32960        concat!(
32961            "Offset of field: ",
32962            stringify!(wtap_pseudo_header),
32963            "::",
32964            stringify!(l1event)
32965        )
32966    );
32967    assert_eq!(
32968        unsafe { ::std::ptr::addr_of!((*ptr).i2c) as usize - ptr as usize },
32969        0usize,
32970        concat!(
32971            "Offset of field: ",
32972            stringify!(wtap_pseudo_header),
32973            "::",
32974            stringify!(i2c)
32975        )
32976    );
32977    assert_eq!(
32978        unsafe { ::std::ptr::addr_of!((*ptr).gsm_um) as usize - ptr as usize },
32979        0usize,
32980        concat!(
32981            "Offset of field: ",
32982            stringify!(wtap_pseudo_header),
32983            "::",
32984            stringify!(gsm_um)
32985        )
32986    );
32987    assert_eq!(
32988        unsafe { ::std::ptr::addr_of!((*ptr).nstr) as usize - ptr as usize },
32989        0usize,
32990        concat!(
32991            "Offset of field: ",
32992            stringify!(wtap_pseudo_header),
32993            "::",
32994            stringify!(nstr)
32995        )
32996    );
32997    assert_eq!(
32998        unsafe { ::std::ptr::addr_of!((*ptr).nokia) as usize - ptr as usize },
32999        0usize,
33000        concat!(
33001            "Offset of field: ",
33002            stringify!(wtap_pseudo_header),
33003            "::",
33004            stringify!(nokia)
33005        )
33006    );
33007    assert_eq!(
33008        unsafe { ::std::ptr::addr_of!((*ptr).llcp) as usize - ptr as usize },
33009        0usize,
33010        concat!(
33011            "Offset of field: ",
33012            stringify!(wtap_pseudo_header),
33013            "::",
33014            stringify!(llcp)
33015        )
33016    );
33017    assert_eq!(
33018        unsafe { ::std::ptr::addr_of!((*ptr).logcat) as usize - ptr as usize },
33019        0usize,
33020        concat!(
33021            "Offset of field: ",
33022            stringify!(wtap_pseudo_header),
33023            "::",
33024            stringify!(logcat)
33025        )
33026    );
33027    assert_eq!(
33028        unsafe { ::std::ptr::addr_of!((*ptr).netmon) as usize - ptr as usize },
33029        0usize,
33030        concat!(
33031            "Offset of field: ",
33032            stringify!(wtap_pseudo_header),
33033            "::",
33034            stringify!(netmon)
33035        )
33036    );
33037    assert_eq!(
33038        unsafe { ::std::ptr::addr_of!((*ptr).ber) as usize - ptr as usize },
33039        0usize,
33040        concat!(
33041            "Offset of field: ",
33042            stringify!(wtap_pseudo_header),
33043            "::",
33044            stringify!(ber)
33045        )
33046    );
33047}
33048#[repr(C)]
33049#[derive(Copy, Clone)]
33050pub struct wtap_packet_header {
33051    pub caplen: guint32,
33052    pub len: guint32,
33053    pub pkt_encap: ::std::os::raw::c_int,
33054    pub interface_id: guint32,
33055    pub pseudo_header: wtap_pseudo_header,
33056}
33057#[test]
33058fn bindgen_test_layout_wtap_packet_header() {
33059    const UNINIT: ::std::mem::MaybeUninit<wtap_packet_header> = ::std::mem::MaybeUninit::uninit();
33060    let ptr = UNINIT.as_ptr();
33061    assert_eq!(
33062        ::std::mem::size_of::<wtap_packet_header>(),
33063        168usize,
33064        concat!("Size of: ", stringify!(wtap_packet_header))
33065    );
33066    assert_eq!(
33067        ::std::mem::align_of::<wtap_packet_header>(),
33068        8usize,
33069        concat!("Alignment of ", stringify!(wtap_packet_header))
33070    );
33071    assert_eq!(
33072        unsafe { ::std::ptr::addr_of!((*ptr).caplen) as usize - ptr as usize },
33073        0usize,
33074        concat!(
33075            "Offset of field: ",
33076            stringify!(wtap_packet_header),
33077            "::",
33078            stringify!(caplen)
33079        )
33080    );
33081    assert_eq!(
33082        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
33083        4usize,
33084        concat!(
33085            "Offset of field: ",
33086            stringify!(wtap_packet_header),
33087            "::",
33088            stringify!(len)
33089        )
33090    );
33091    assert_eq!(
33092        unsafe { ::std::ptr::addr_of!((*ptr).pkt_encap) as usize - ptr as usize },
33093        8usize,
33094        concat!(
33095            "Offset of field: ",
33096            stringify!(wtap_packet_header),
33097            "::",
33098            stringify!(pkt_encap)
33099        )
33100    );
33101    assert_eq!(
33102        unsafe { ::std::ptr::addr_of!((*ptr).interface_id) as usize - ptr as usize },
33103        12usize,
33104        concat!(
33105            "Offset of field: ",
33106            stringify!(wtap_packet_header),
33107            "::",
33108            stringify!(interface_id)
33109        )
33110    );
33111    assert_eq!(
33112        unsafe { ::std::ptr::addr_of!((*ptr).pseudo_header) as usize - ptr as usize },
33113        16usize,
33114        concat!(
33115            "Offset of field: ",
33116            stringify!(wtap_packet_header),
33117            "::",
33118            stringify!(pseudo_header)
33119        )
33120    );
33121}
33122#[repr(C)]
33123#[derive(Debug, Copy, Clone)]
33124pub struct wtap_ft_specific_header {
33125    pub record_type: guint,
33126    pub record_len: guint32,
33127}
33128#[test]
33129fn bindgen_test_layout_wtap_ft_specific_header() {
33130    const UNINIT: ::std::mem::MaybeUninit<wtap_ft_specific_header> =
33131        ::std::mem::MaybeUninit::uninit();
33132    let ptr = UNINIT.as_ptr();
33133    assert_eq!(
33134        ::std::mem::size_of::<wtap_ft_specific_header>(),
33135        8usize,
33136        concat!("Size of: ", stringify!(wtap_ft_specific_header))
33137    );
33138    assert_eq!(
33139        ::std::mem::align_of::<wtap_ft_specific_header>(),
33140        4usize,
33141        concat!("Alignment of ", stringify!(wtap_ft_specific_header))
33142    );
33143    assert_eq!(
33144        unsafe { ::std::ptr::addr_of!((*ptr).record_type) as usize - ptr as usize },
33145        0usize,
33146        concat!(
33147            "Offset of field: ",
33148            stringify!(wtap_ft_specific_header),
33149            "::",
33150            stringify!(record_type)
33151        )
33152    );
33153    assert_eq!(
33154        unsafe { ::std::ptr::addr_of!((*ptr).record_len) as usize - ptr as usize },
33155        4usize,
33156        concat!(
33157            "Offset of field: ",
33158            stringify!(wtap_ft_specific_header),
33159            "::",
33160            stringify!(record_len)
33161        )
33162    );
33163}
33164#[repr(C)]
33165#[derive(Debug, Copy, Clone)]
33166pub struct wtap_syscall_header {
33167    pub record_type: guint,
33168    pub byte_order: ::std::os::raw::c_int,
33169    pub timestamp: guint64,
33170    pub thread_id: guint64,
33171    pub event_len: guint32,
33172    pub event_filelen: guint32,
33173    pub event_type: guint16,
33174    pub nparams: guint32,
33175    pub cpu_id: guint16,
33176}
33177#[test]
33178fn bindgen_test_layout_wtap_syscall_header() {
33179    const UNINIT: ::std::mem::MaybeUninit<wtap_syscall_header> = ::std::mem::MaybeUninit::uninit();
33180    let ptr = UNINIT.as_ptr();
33181    assert_eq!(
33182        ::std::mem::size_of::<wtap_syscall_header>(),
33183        48usize,
33184        concat!("Size of: ", stringify!(wtap_syscall_header))
33185    );
33186    assert_eq!(
33187        ::std::mem::align_of::<wtap_syscall_header>(),
33188        8usize,
33189        concat!("Alignment of ", stringify!(wtap_syscall_header))
33190    );
33191    assert_eq!(
33192        unsafe { ::std::ptr::addr_of!((*ptr).record_type) as usize - ptr as usize },
33193        0usize,
33194        concat!(
33195            "Offset of field: ",
33196            stringify!(wtap_syscall_header),
33197            "::",
33198            stringify!(record_type)
33199        )
33200    );
33201    assert_eq!(
33202        unsafe { ::std::ptr::addr_of!((*ptr).byte_order) as usize - ptr as usize },
33203        4usize,
33204        concat!(
33205            "Offset of field: ",
33206            stringify!(wtap_syscall_header),
33207            "::",
33208            stringify!(byte_order)
33209        )
33210    );
33211    assert_eq!(
33212        unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
33213        8usize,
33214        concat!(
33215            "Offset of field: ",
33216            stringify!(wtap_syscall_header),
33217            "::",
33218            stringify!(timestamp)
33219        )
33220    );
33221    assert_eq!(
33222        unsafe { ::std::ptr::addr_of!((*ptr).thread_id) as usize - ptr as usize },
33223        16usize,
33224        concat!(
33225            "Offset of field: ",
33226            stringify!(wtap_syscall_header),
33227            "::",
33228            stringify!(thread_id)
33229        )
33230    );
33231    assert_eq!(
33232        unsafe { ::std::ptr::addr_of!((*ptr).event_len) as usize - ptr as usize },
33233        24usize,
33234        concat!(
33235            "Offset of field: ",
33236            stringify!(wtap_syscall_header),
33237            "::",
33238            stringify!(event_len)
33239        )
33240    );
33241    assert_eq!(
33242        unsafe { ::std::ptr::addr_of!((*ptr).event_filelen) as usize - ptr as usize },
33243        28usize,
33244        concat!(
33245            "Offset of field: ",
33246            stringify!(wtap_syscall_header),
33247            "::",
33248            stringify!(event_filelen)
33249        )
33250    );
33251    assert_eq!(
33252        unsafe { ::std::ptr::addr_of!((*ptr).event_type) as usize - ptr as usize },
33253        32usize,
33254        concat!(
33255            "Offset of field: ",
33256            stringify!(wtap_syscall_header),
33257            "::",
33258            stringify!(event_type)
33259        )
33260    );
33261    assert_eq!(
33262        unsafe { ::std::ptr::addr_of!((*ptr).nparams) as usize - ptr as usize },
33263        36usize,
33264        concat!(
33265            "Offset of field: ",
33266            stringify!(wtap_syscall_header),
33267            "::",
33268            stringify!(nparams)
33269        )
33270    );
33271    assert_eq!(
33272        unsafe { ::std::ptr::addr_of!((*ptr).cpu_id) as usize - ptr as usize },
33273        40usize,
33274        concat!(
33275            "Offset of field: ",
33276            stringify!(wtap_syscall_header),
33277            "::",
33278            stringify!(cpu_id)
33279        )
33280    );
33281}
33282#[repr(C)]
33283#[derive(Debug, Copy, Clone)]
33284pub struct wtap_systemd_journal_export_header {
33285    pub record_len: guint32,
33286}
33287#[test]
33288fn bindgen_test_layout_wtap_systemd_journal_export_header() {
33289    const UNINIT: ::std::mem::MaybeUninit<wtap_systemd_journal_export_header> =
33290        ::std::mem::MaybeUninit::uninit();
33291    let ptr = UNINIT.as_ptr();
33292    assert_eq!(
33293        ::std::mem::size_of::<wtap_systemd_journal_export_header>(),
33294        4usize,
33295        concat!("Size of: ", stringify!(wtap_systemd_journal_export_header))
33296    );
33297    assert_eq!(
33298        ::std::mem::align_of::<wtap_systemd_journal_export_header>(),
33299        4usize,
33300        concat!(
33301            "Alignment of ",
33302            stringify!(wtap_systemd_journal_export_header)
33303        )
33304    );
33305    assert_eq!(
33306        unsafe { ::std::ptr::addr_of!((*ptr).record_len) as usize - ptr as usize },
33307        0usize,
33308        concat!(
33309            "Offset of field: ",
33310            stringify!(wtap_systemd_journal_export_header),
33311            "::",
33312            stringify!(record_len)
33313        )
33314    );
33315}
33316#[repr(C)]
33317#[derive(Copy, Clone)]
33318pub struct wtap_custom_block_header {
33319    pub length: guint32,
33320    pub pen: guint32,
33321    pub copy_allowed: gboolean,
33322    pub custom_data_header: wtap_custom_block_header__bindgen_ty_1,
33323}
33324#[repr(C)]
33325#[derive(Copy, Clone)]
33326pub union wtap_custom_block_header__bindgen_ty_1 {
33327    pub nflx_custom_data_header: wtap_custom_block_header__bindgen_ty_1_nflx,
33328}
33329#[repr(C)]
33330#[derive(Debug, Copy, Clone)]
33331pub struct wtap_custom_block_header__bindgen_ty_1_nflx {
33332    pub type_: guint32,
33333    pub skipped: guint32,
33334}
33335#[test]
33336fn bindgen_test_layout_wtap_custom_block_header__bindgen_ty_1_nflx() {
33337    const UNINIT: ::std::mem::MaybeUninit<wtap_custom_block_header__bindgen_ty_1_nflx> =
33338        ::std::mem::MaybeUninit::uninit();
33339    let ptr = UNINIT.as_ptr();
33340    assert_eq!(
33341        ::std::mem::size_of::<wtap_custom_block_header__bindgen_ty_1_nflx>(),
33342        8usize,
33343        concat!(
33344            "Size of: ",
33345            stringify!(wtap_custom_block_header__bindgen_ty_1_nflx)
33346        )
33347    );
33348    assert_eq!(
33349        ::std::mem::align_of::<wtap_custom_block_header__bindgen_ty_1_nflx>(),
33350        4usize,
33351        concat!(
33352            "Alignment of ",
33353            stringify!(wtap_custom_block_header__bindgen_ty_1_nflx)
33354        )
33355    );
33356    assert_eq!(
33357        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
33358        0usize,
33359        concat!(
33360            "Offset of field: ",
33361            stringify!(wtap_custom_block_header__bindgen_ty_1_nflx),
33362            "::",
33363            stringify!(type_)
33364        )
33365    );
33366    assert_eq!(
33367        unsafe { ::std::ptr::addr_of!((*ptr).skipped) as usize - ptr as usize },
33368        4usize,
33369        concat!(
33370            "Offset of field: ",
33371            stringify!(wtap_custom_block_header__bindgen_ty_1_nflx),
33372            "::",
33373            stringify!(skipped)
33374        )
33375    );
33376}
33377#[test]
33378fn bindgen_test_layout_wtap_custom_block_header__bindgen_ty_1() {
33379    const UNINIT: ::std::mem::MaybeUninit<wtap_custom_block_header__bindgen_ty_1> =
33380        ::std::mem::MaybeUninit::uninit();
33381    let ptr = UNINIT.as_ptr();
33382    assert_eq!(
33383        ::std::mem::size_of::<wtap_custom_block_header__bindgen_ty_1>(),
33384        8usize,
33385        concat!(
33386            "Size of: ",
33387            stringify!(wtap_custom_block_header__bindgen_ty_1)
33388        )
33389    );
33390    assert_eq!(
33391        ::std::mem::align_of::<wtap_custom_block_header__bindgen_ty_1>(),
33392        4usize,
33393        concat!(
33394            "Alignment of ",
33395            stringify!(wtap_custom_block_header__bindgen_ty_1)
33396        )
33397    );
33398    assert_eq!(
33399        unsafe { ::std::ptr::addr_of!((*ptr).nflx_custom_data_header) as usize - ptr as usize },
33400        0usize,
33401        concat!(
33402            "Offset of field: ",
33403            stringify!(wtap_custom_block_header__bindgen_ty_1),
33404            "::",
33405            stringify!(nflx_custom_data_header)
33406        )
33407    );
33408}
33409#[test]
33410fn bindgen_test_layout_wtap_custom_block_header() {
33411    const UNINIT: ::std::mem::MaybeUninit<wtap_custom_block_header> =
33412        ::std::mem::MaybeUninit::uninit();
33413    let ptr = UNINIT.as_ptr();
33414    assert_eq!(
33415        ::std::mem::size_of::<wtap_custom_block_header>(),
33416        20usize,
33417        concat!("Size of: ", stringify!(wtap_custom_block_header))
33418    );
33419    assert_eq!(
33420        ::std::mem::align_of::<wtap_custom_block_header>(),
33421        4usize,
33422        concat!("Alignment of ", stringify!(wtap_custom_block_header))
33423    );
33424    assert_eq!(
33425        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
33426        0usize,
33427        concat!(
33428            "Offset of field: ",
33429            stringify!(wtap_custom_block_header),
33430            "::",
33431            stringify!(length)
33432        )
33433    );
33434    assert_eq!(
33435        unsafe { ::std::ptr::addr_of!((*ptr).pen) as usize - ptr as usize },
33436        4usize,
33437        concat!(
33438            "Offset of field: ",
33439            stringify!(wtap_custom_block_header),
33440            "::",
33441            stringify!(pen)
33442        )
33443    );
33444    assert_eq!(
33445        unsafe { ::std::ptr::addr_of!((*ptr).copy_allowed) as usize - ptr as usize },
33446        8usize,
33447        concat!(
33448            "Offset of field: ",
33449            stringify!(wtap_custom_block_header),
33450            "::",
33451            stringify!(copy_allowed)
33452        )
33453    );
33454    assert_eq!(
33455        unsafe { ::std::ptr::addr_of!((*ptr).custom_data_header) as usize - ptr as usize },
33456        12usize,
33457        concat!(
33458            "Offset of field: ",
33459            stringify!(wtap_custom_block_header),
33460            "::",
33461            stringify!(custom_data_header)
33462        )
33463    );
33464}
33465#[repr(C)]
33466#[derive(Copy, Clone)]
33467pub struct wtap_rec {
33468    pub rec_type: guint,
33469    pub presence_flags: guint32,
33470    pub section_number: guint,
33471    pub ts: nstime_t,
33472    pub tsprec: ::std::os::raw::c_int,
33473    pub rec_header: wtap_rec__bindgen_ty_1,
33474    pub block: wtap_block_t,
33475    pub block_was_modified: gboolean,
33476    pub options_buf: Buffer,
33477}
33478#[repr(C)]
33479#[derive(Copy, Clone)]
33480pub union wtap_rec__bindgen_ty_1 {
33481    pub packet_header: wtap_packet_header,
33482    pub ft_specific_header: wtap_ft_specific_header,
33483    pub syscall_header: wtap_syscall_header,
33484    pub systemd_journal_export_header: wtap_systemd_journal_export_header,
33485    pub custom_block_header: wtap_custom_block_header,
33486}
33487#[test]
33488fn bindgen_test_layout_wtap_rec__bindgen_ty_1() {
33489    const UNINIT: ::std::mem::MaybeUninit<wtap_rec__bindgen_ty_1> =
33490        ::std::mem::MaybeUninit::uninit();
33491    let ptr = UNINIT.as_ptr();
33492    assert_eq!(
33493        ::std::mem::size_of::<wtap_rec__bindgen_ty_1>(),
33494        168usize,
33495        concat!("Size of: ", stringify!(wtap_rec__bindgen_ty_1))
33496    );
33497    assert_eq!(
33498        ::std::mem::align_of::<wtap_rec__bindgen_ty_1>(),
33499        8usize,
33500        concat!("Alignment of ", stringify!(wtap_rec__bindgen_ty_1))
33501    );
33502    assert_eq!(
33503        unsafe { ::std::ptr::addr_of!((*ptr).packet_header) as usize - ptr as usize },
33504        0usize,
33505        concat!(
33506            "Offset of field: ",
33507            stringify!(wtap_rec__bindgen_ty_1),
33508            "::",
33509            stringify!(packet_header)
33510        )
33511    );
33512    assert_eq!(
33513        unsafe { ::std::ptr::addr_of!((*ptr).ft_specific_header) as usize - ptr as usize },
33514        0usize,
33515        concat!(
33516            "Offset of field: ",
33517            stringify!(wtap_rec__bindgen_ty_1),
33518            "::",
33519            stringify!(ft_specific_header)
33520        )
33521    );
33522    assert_eq!(
33523        unsafe { ::std::ptr::addr_of!((*ptr).syscall_header) as usize - ptr as usize },
33524        0usize,
33525        concat!(
33526            "Offset of field: ",
33527            stringify!(wtap_rec__bindgen_ty_1),
33528            "::",
33529            stringify!(syscall_header)
33530        )
33531    );
33532    assert_eq!(
33533        unsafe {
33534            ::std::ptr::addr_of!((*ptr).systemd_journal_export_header) as usize - ptr as usize
33535        },
33536        0usize,
33537        concat!(
33538            "Offset of field: ",
33539            stringify!(wtap_rec__bindgen_ty_1),
33540            "::",
33541            stringify!(systemd_journal_export_header)
33542        )
33543    );
33544    assert_eq!(
33545        unsafe { ::std::ptr::addr_of!((*ptr).custom_block_header) as usize - ptr as usize },
33546        0usize,
33547        concat!(
33548            "Offset of field: ",
33549            stringify!(wtap_rec__bindgen_ty_1),
33550            "::",
33551            stringify!(custom_block_header)
33552        )
33553    );
33554}
33555#[test]
33556fn bindgen_test_layout_wtap_rec() {
33557    const UNINIT: ::std::mem::MaybeUninit<wtap_rec> = ::std::mem::MaybeUninit::uninit();
33558    let ptr = UNINIT.as_ptr();
33559    assert_eq!(
33560        ::std::mem::size_of::<wtap_rec>(),
33561        256usize,
33562        concat!("Size of: ", stringify!(wtap_rec))
33563    );
33564    assert_eq!(
33565        ::std::mem::align_of::<wtap_rec>(),
33566        8usize,
33567        concat!("Alignment of ", stringify!(wtap_rec))
33568    );
33569    assert_eq!(
33570        unsafe { ::std::ptr::addr_of!((*ptr).rec_type) as usize - ptr as usize },
33571        0usize,
33572        concat!(
33573            "Offset of field: ",
33574            stringify!(wtap_rec),
33575            "::",
33576            stringify!(rec_type)
33577        )
33578    );
33579    assert_eq!(
33580        unsafe { ::std::ptr::addr_of!((*ptr).presence_flags) as usize - ptr as usize },
33581        4usize,
33582        concat!(
33583            "Offset of field: ",
33584            stringify!(wtap_rec),
33585            "::",
33586            stringify!(presence_flags)
33587        )
33588    );
33589    assert_eq!(
33590        unsafe { ::std::ptr::addr_of!((*ptr).section_number) as usize - ptr as usize },
33591        8usize,
33592        concat!(
33593            "Offset of field: ",
33594            stringify!(wtap_rec),
33595            "::",
33596            stringify!(section_number)
33597        )
33598    );
33599    assert_eq!(
33600        unsafe { ::std::ptr::addr_of!((*ptr).ts) as usize - ptr as usize },
33601        16usize,
33602        concat!(
33603            "Offset of field: ",
33604            stringify!(wtap_rec),
33605            "::",
33606            stringify!(ts)
33607        )
33608    );
33609    assert_eq!(
33610        unsafe { ::std::ptr::addr_of!((*ptr).tsprec) as usize - ptr as usize },
33611        32usize,
33612        concat!(
33613            "Offset of field: ",
33614            stringify!(wtap_rec),
33615            "::",
33616            stringify!(tsprec)
33617        )
33618    );
33619    assert_eq!(
33620        unsafe { ::std::ptr::addr_of!((*ptr).rec_header) as usize - ptr as usize },
33621        40usize,
33622        concat!(
33623            "Offset of field: ",
33624            stringify!(wtap_rec),
33625            "::",
33626            stringify!(rec_header)
33627        )
33628    );
33629    assert_eq!(
33630        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
33631        208usize,
33632        concat!(
33633            "Offset of field: ",
33634            stringify!(wtap_rec),
33635            "::",
33636            stringify!(block)
33637        )
33638    );
33639    assert_eq!(
33640        unsafe { ::std::ptr::addr_of!((*ptr).block_was_modified) as usize - ptr as usize },
33641        216usize,
33642        concat!(
33643            "Offset of field: ",
33644            stringify!(wtap_rec),
33645            "::",
33646            stringify!(block_was_modified)
33647        )
33648    );
33649    assert_eq!(
33650        unsafe { ::std::ptr::addr_of!((*ptr).options_buf) as usize - ptr as usize },
33651        224usize,
33652        concat!(
33653            "Offset of field: ",
33654            stringify!(wtap_rec),
33655            "::",
33656            stringify!(options_buf)
33657        )
33658    );
33659}
33660#[repr(C)]
33661#[derive(Debug, Copy, Clone)]
33662pub struct hashipv4 {
33663    pub addr: guint,
33664    pub flags: guint8,
33665    pub ip: [gchar; 16usize],
33666    pub name: [gchar; 64usize],
33667}
33668#[test]
33669fn bindgen_test_layout_hashipv4() {
33670    const UNINIT: ::std::mem::MaybeUninit<hashipv4> = ::std::mem::MaybeUninit::uninit();
33671    let ptr = UNINIT.as_ptr();
33672    assert_eq!(
33673        ::std::mem::size_of::<hashipv4>(),
33674        88usize,
33675        concat!("Size of: ", stringify!(hashipv4))
33676    );
33677    assert_eq!(
33678        ::std::mem::align_of::<hashipv4>(),
33679        4usize,
33680        concat!("Alignment of ", stringify!(hashipv4))
33681    );
33682    assert_eq!(
33683        unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
33684        0usize,
33685        concat!(
33686            "Offset of field: ",
33687            stringify!(hashipv4),
33688            "::",
33689            stringify!(addr)
33690        )
33691    );
33692    assert_eq!(
33693        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
33694        4usize,
33695        concat!(
33696            "Offset of field: ",
33697            stringify!(hashipv4),
33698            "::",
33699            stringify!(flags)
33700        )
33701    );
33702    assert_eq!(
33703        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
33704        5usize,
33705        concat!(
33706            "Offset of field: ",
33707            stringify!(hashipv4),
33708            "::",
33709            stringify!(ip)
33710        )
33711    );
33712    assert_eq!(
33713        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
33714        21usize,
33715        concat!(
33716            "Offset of field: ",
33717            stringify!(hashipv4),
33718            "::",
33719            stringify!(name)
33720        )
33721    );
33722}
33723pub type hashipv4_t = hashipv4;
33724#[repr(C)]
33725#[derive(Debug, Copy, Clone)]
33726pub struct hashipv6 {
33727    pub addr: [guint8; 16usize],
33728    pub flags: guint8,
33729    pub ip6: [gchar; 46usize],
33730    pub name: [gchar; 64usize],
33731}
33732#[test]
33733fn bindgen_test_layout_hashipv6() {
33734    const UNINIT: ::std::mem::MaybeUninit<hashipv6> = ::std::mem::MaybeUninit::uninit();
33735    let ptr = UNINIT.as_ptr();
33736    assert_eq!(
33737        ::std::mem::size_of::<hashipv6>(),
33738        127usize,
33739        concat!("Size of: ", stringify!(hashipv6))
33740    );
33741    assert_eq!(
33742        ::std::mem::align_of::<hashipv6>(),
33743        1usize,
33744        concat!("Alignment of ", stringify!(hashipv6))
33745    );
33746    assert_eq!(
33747        unsafe { ::std::ptr::addr_of!((*ptr).addr) as usize - ptr as usize },
33748        0usize,
33749        concat!(
33750            "Offset of field: ",
33751            stringify!(hashipv6),
33752            "::",
33753            stringify!(addr)
33754        )
33755    );
33756    assert_eq!(
33757        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
33758        16usize,
33759        concat!(
33760            "Offset of field: ",
33761            stringify!(hashipv6),
33762            "::",
33763            stringify!(flags)
33764        )
33765    );
33766    assert_eq!(
33767        unsafe { ::std::ptr::addr_of!((*ptr).ip6) as usize - ptr as usize },
33768        17usize,
33769        concat!(
33770            "Offset of field: ",
33771            stringify!(hashipv6),
33772            "::",
33773            stringify!(ip6)
33774        )
33775    );
33776    assert_eq!(
33777        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
33778        63usize,
33779        concat!(
33780            "Offset of field: ",
33781            stringify!(hashipv6),
33782            "::",
33783            stringify!(name)
33784        )
33785    );
33786}
33787pub type hashipv6_t = hashipv6;
33788#[repr(C)]
33789#[derive(Debug, Copy, Clone)]
33790pub struct addrinfo_lists {
33791    pub ipv4_addr_list: *mut GList,
33792    pub ipv6_addr_list: *mut GList,
33793}
33794#[test]
33795fn bindgen_test_layout_addrinfo_lists() {
33796    const UNINIT: ::std::mem::MaybeUninit<addrinfo_lists> = ::std::mem::MaybeUninit::uninit();
33797    let ptr = UNINIT.as_ptr();
33798    assert_eq!(
33799        ::std::mem::size_of::<addrinfo_lists>(),
33800        16usize,
33801        concat!("Size of: ", stringify!(addrinfo_lists))
33802    );
33803    assert_eq!(
33804        ::std::mem::align_of::<addrinfo_lists>(),
33805        8usize,
33806        concat!("Alignment of ", stringify!(addrinfo_lists))
33807    );
33808    assert_eq!(
33809        unsafe { ::std::ptr::addr_of!((*ptr).ipv4_addr_list) as usize - ptr as usize },
33810        0usize,
33811        concat!(
33812            "Offset of field: ",
33813            stringify!(addrinfo_lists),
33814            "::",
33815            stringify!(ipv4_addr_list)
33816        )
33817    );
33818    assert_eq!(
33819        unsafe { ::std::ptr::addr_of!((*ptr).ipv6_addr_list) as usize - ptr as usize },
33820        8usize,
33821        concat!(
33822            "Offset of field: ",
33823            stringify!(addrinfo_lists),
33824            "::",
33825            stringify!(ipv6_addr_list)
33826        )
33827    );
33828}
33829pub type addrinfo_lists_t = addrinfo_lists;
33830#[repr(C)]
33831#[derive(Debug, Copy, Clone)]
33832pub struct wtap_dump_params {
33833    pub encap: ::std::os::raw::c_int,
33834    pub snaplen: ::std::os::raw::c_int,
33835    pub tsprec: ::std::os::raw::c_int,
33836    pub shb_hdrs: *mut GArray,
33837    pub idb_inf: *mut wtapng_iface_descriptions_t,
33838    pub nrb_hdrs: *mut GArray,
33839    pub dsbs_initial: *mut GArray,
33840    pub dsbs_growing: *const GArray,
33841    pub dont_copy_idbs: gboolean,
33842}
33843#[test]
33844fn bindgen_test_layout_wtap_dump_params() {
33845    const UNINIT: ::std::mem::MaybeUninit<wtap_dump_params> = ::std::mem::MaybeUninit::uninit();
33846    let ptr = UNINIT.as_ptr();
33847    assert_eq!(
33848        ::std::mem::size_of::<wtap_dump_params>(),
33849        64usize,
33850        concat!("Size of: ", stringify!(wtap_dump_params))
33851    );
33852    assert_eq!(
33853        ::std::mem::align_of::<wtap_dump_params>(),
33854        8usize,
33855        concat!("Alignment of ", stringify!(wtap_dump_params))
33856    );
33857    assert_eq!(
33858        unsafe { ::std::ptr::addr_of!((*ptr).encap) as usize - ptr as usize },
33859        0usize,
33860        concat!(
33861            "Offset of field: ",
33862            stringify!(wtap_dump_params),
33863            "::",
33864            stringify!(encap)
33865        )
33866    );
33867    assert_eq!(
33868        unsafe { ::std::ptr::addr_of!((*ptr).snaplen) as usize - ptr as usize },
33869        4usize,
33870        concat!(
33871            "Offset of field: ",
33872            stringify!(wtap_dump_params),
33873            "::",
33874            stringify!(snaplen)
33875        )
33876    );
33877    assert_eq!(
33878        unsafe { ::std::ptr::addr_of!((*ptr).tsprec) as usize - ptr as usize },
33879        8usize,
33880        concat!(
33881            "Offset of field: ",
33882            stringify!(wtap_dump_params),
33883            "::",
33884            stringify!(tsprec)
33885        )
33886    );
33887    assert_eq!(
33888        unsafe { ::std::ptr::addr_of!((*ptr).shb_hdrs) as usize - ptr as usize },
33889        16usize,
33890        concat!(
33891            "Offset of field: ",
33892            stringify!(wtap_dump_params),
33893            "::",
33894            stringify!(shb_hdrs)
33895        )
33896    );
33897    assert_eq!(
33898        unsafe { ::std::ptr::addr_of!((*ptr).idb_inf) as usize - ptr as usize },
33899        24usize,
33900        concat!(
33901            "Offset of field: ",
33902            stringify!(wtap_dump_params),
33903            "::",
33904            stringify!(idb_inf)
33905        )
33906    );
33907    assert_eq!(
33908        unsafe { ::std::ptr::addr_of!((*ptr).nrb_hdrs) as usize - ptr as usize },
33909        32usize,
33910        concat!(
33911            "Offset of field: ",
33912            stringify!(wtap_dump_params),
33913            "::",
33914            stringify!(nrb_hdrs)
33915        )
33916    );
33917    assert_eq!(
33918        unsafe { ::std::ptr::addr_of!((*ptr).dsbs_initial) as usize - ptr as usize },
33919        40usize,
33920        concat!(
33921            "Offset of field: ",
33922            stringify!(wtap_dump_params),
33923            "::",
33924            stringify!(dsbs_initial)
33925        )
33926    );
33927    assert_eq!(
33928        unsafe { ::std::ptr::addr_of!((*ptr).dsbs_growing) as usize - ptr as usize },
33929        48usize,
33930        concat!(
33931            "Offset of field: ",
33932            stringify!(wtap_dump_params),
33933            "::",
33934            stringify!(dsbs_growing)
33935        )
33936    );
33937    assert_eq!(
33938        unsafe { ::std::ptr::addr_of!((*ptr).dont_copy_idbs) as usize - ptr as usize },
33939        56usize,
33940        concat!(
33941            "Offset of field: ",
33942            stringify!(wtap_dump_params),
33943            "::",
33944            stringify!(dont_copy_idbs)
33945        )
33946    );
33947}
33948#[repr(C)]
33949#[derive(Debug, Copy, Clone)]
33950pub struct wtap_reader {
33951    _unused: [u8; 0],
33952}
33953pub type FILE_T = *mut wtap_reader;
33954#[repr(C)]
33955#[derive(Debug, Copy, Clone)]
33956pub struct wtap_wslua_file_info {
33957    pub wslua_can_write_encap: ::std::option::Option<
33958        unsafe extern "C" fn(
33959            arg1: ::std::os::raw::c_int,
33960            arg2: *mut ::std::os::raw::c_void,
33961        ) -> ::std::os::raw::c_int,
33962    >,
33963    pub wslua_data: *mut ::std::os::raw::c_void,
33964}
33965#[test]
33966fn bindgen_test_layout_wtap_wslua_file_info() {
33967    const UNINIT: ::std::mem::MaybeUninit<wtap_wslua_file_info> = ::std::mem::MaybeUninit::uninit();
33968    let ptr = UNINIT.as_ptr();
33969    assert_eq!(
33970        ::std::mem::size_of::<wtap_wslua_file_info>(),
33971        16usize,
33972        concat!("Size of: ", stringify!(wtap_wslua_file_info))
33973    );
33974    assert_eq!(
33975        ::std::mem::align_of::<wtap_wslua_file_info>(),
33976        8usize,
33977        concat!("Alignment of ", stringify!(wtap_wslua_file_info))
33978    );
33979    assert_eq!(
33980        unsafe { ::std::ptr::addr_of!((*ptr).wslua_can_write_encap) as usize - ptr as usize },
33981        0usize,
33982        concat!(
33983            "Offset of field: ",
33984            stringify!(wtap_wslua_file_info),
33985            "::",
33986            stringify!(wslua_can_write_encap)
33987        )
33988    );
33989    assert_eq!(
33990        unsafe { ::std::ptr::addr_of!((*ptr).wslua_data) as usize - ptr as usize },
33991        8usize,
33992        concat!(
33993            "Offset of field: ",
33994            stringify!(wtap_wslua_file_info),
33995            "::",
33996            stringify!(wslua_data)
33997        )
33998    );
33999}
34000pub type wtap_wslua_file_info_t = wtap_wslua_file_info;
34001#[repr(C)]
34002#[derive(Debug, Copy, Clone)]
34003pub struct file_extension_info {
34004    pub name: *const ::std::os::raw::c_char,
34005    pub is_capture_file: gboolean,
34006    pub extensions: *const ::std::os::raw::c_char,
34007}
34008#[test]
34009fn bindgen_test_layout_file_extension_info() {
34010    const UNINIT: ::std::mem::MaybeUninit<file_extension_info> = ::std::mem::MaybeUninit::uninit();
34011    let ptr = UNINIT.as_ptr();
34012    assert_eq!(
34013        ::std::mem::size_of::<file_extension_info>(),
34014        24usize,
34015        concat!("Size of: ", stringify!(file_extension_info))
34016    );
34017    assert_eq!(
34018        ::std::mem::align_of::<file_extension_info>(),
34019        8usize,
34020        concat!("Alignment of ", stringify!(file_extension_info))
34021    );
34022    assert_eq!(
34023        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
34024        0usize,
34025        concat!(
34026            "Offset of field: ",
34027            stringify!(file_extension_info),
34028            "::",
34029            stringify!(name)
34030        )
34031    );
34032    assert_eq!(
34033        unsafe { ::std::ptr::addr_of!((*ptr).is_capture_file) as usize - ptr as usize },
34034        8usize,
34035        concat!(
34036            "Offset of field: ",
34037            stringify!(file_extension_info),
34038            "::",
34039            stringify!(is_capture_file)
34040        )
34041    );
34042    assert_eq!(
34043        unsafe { ::std::ptr::addr_of!((*ptr).extensions) as usize - ptr as usize },
34044        16usize,
34045        concat!(
34046            "Offset of field: ",
34047            stringify!(file_extension_info),
34048            "::",
34049            stringify!(extensions)
34050        )
34051    );
34052}
34053pub const wtap_open_return_val_WTAP_OPEN_NOT_MINE: wtap_open_return_val = 0;
34054pub const wtap_open_return_val_WTAP_OPEN_MINE: wtap_open_return_val = 1;
34055pub const wtap_open_return_val_WTAP_OPEN_ERROR: wtap_open_return_val = -1;
34056pub type wtap_open_return_val = ::std::os::raw::c_int;
34057pub type wtap_open_routine_t = ::std::option::Option<
34058    unsafe extern "C" fn(
34059        arg1: *mut wtap,
34060        arg2: *mut ::std::os::raw::c_int,
34061        arg3: *mut *mut ::std::os::raw::c_char,
34062    ) -> wtap_open_return_val,
34063>;
34064pub const wtap_open_type_OPEN_INFO_MAGIC: wtap_open_type = 0;
34065pub const wtap_open_type_OPEN_INFO_HEURISTIC: wtap_open_type = 1;
34066pub type wtap_open_type = ::std::os::raw::c_uint;
34067extern "C" {
34068    pub fn init_open_routines();
34069}
34070extern "C" {
34071    pub fn cleanup_open_routines();
34072}
34073#[repr(C)]
34074#[derive(Debug, Copy, Clone)]
34075pub struct open_info {
34076    pub name: *const ::std::os::raw::c_char,
34077    pub type_: wtap_open_type,
34078    pub open_routine: wtap_open_routine_t,
34079    pub extensions: *const ::std::os::raw::c_char,
34080    pub extensions_set: *mut *mut gchar,
34081    pub wslua_data: *mut ::std::os::raw::c_void,
34082}
34083#[test]
34084fn bindgen_test_layout_open_info() {
34085    const UNINIT: ::std::mem::MaybeUninit<open_info> = ::std::mem::MaybeUninit::uninit();
34086    let ptr = UNINIT.as_ptr();
34087    assert_eq!(
34088        ::std::mem::size_of::<open_info>(),
34089        48usize,
34090        concat!("Size of: ", stringify!(open_info))
34091    );
34092    assert_eq!(
34093        ::std::mem::align_of::<open_info>(),
34094        8usize,
34095        concat!("Alignment of ", stringify!(open_info))
34096    );
34097    assert_eq!(
34098        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
34099        0usize,
34100        concat!(
34101            "Offset of field: ",
34102            stringify!(open_info),
34103            "::",
34104            stringify!(name)
34105        )
34106    );
34107    assert_eq!(
34108        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
34109        8usize,
34110        concat!(
34111            "Offset of field: ",
34112            stringify!(open_info),
34113            "::",
34114            stringify!(type_)
34115        )
34116    );
34117    assert_eq!(
34118        unsafe { ::std::ptr::addr_of!((*ptr).open_routine) as usize - ptr as usize },
34119        16usize,
34120        concat!(
34121            "Offset of field: ",
34122            stringify!(open_info),
34123            "::",
34124            stringify!(open_routine)
34125        )
34126    );
34127    assert_eq!(
34128        unsafe { ::std::ptr::addr_of!((*ptr).extensions) as usize - ptr as usize },
34129        24usize,
34130        concat!(
34131            "Offset of field: ",
34132            stringify!(open_info),
34133            "::",
34134            stringify!(extensions)
34135        )
34136    );
34137    assert_eq!(
34138        unsafe { ::std::ptr::addr_of!((*ptr).extensions_set) as usize - ptr as usize },
34139        32usize,
34140        concat!(
34141            "Offset of field: ",
34142            stringify!(open_info),
34143            "::",
34144            stringify!(extensions_set)
34145        )
34146    );
34147    assert_eq!(
34148        unsafe { ::std::ptr::addr_of!((*ptr).wslua_data) as usize - ptr as usize },
34149        40usize,
34150        concat!(
34151            "Offset of field: ",
34152            stringify!(open_info),
34153            "::",
34154            stringify!(wslua_data)
34155        )
34156    );
34157}
34158extern "C" {
34159    pub static mut open_routines: *mut open_info;
34160}
34161pub const option_support_t_OPTION_NOT_SUPPORTED: option_support_t = 0;
34162pub const option_support_t_ONE_OPTION_SUPPORTED: option_support_t = 1;
34163pub const option_support_t_MULTIPLE_OPTIONS_SUPPORTED: option_support_t = 2;
34164pub type option_support_t = ::std::os::raw::c_uint;
34165#[repr(C)]
34166#[derive(Debug, Copy, Clone)]
34167pub struct supported_option_type {
34168    pub opt: guint,
34169    pub support: option_support_t,
34170}
34171#[test]
34172fn bindgen_test_layout_supported_option_type() {
34173    const UNINIT: ::std::mem::MaybeUninit<supported_option_type> =
34174        ::std::mem::MaybeUninit::uninit();
34175    let ptr = UNINIT.as_ptr();
34176    assert_eq!(
34177        ::std::mem::size_of::<supported_option_type>(),
34178        8usize,
34179        concat!("Size of: ", stringify!(supported_option_type))
34180    );
34181    assert_eq!(
34182        ::std::mem::align_of::<supported_option_type>(),
34183        4usize,
34184        concat!("Alignment of ", stringify!(supported_option_type))
34185    );
34186    assert_eq!(
34187        unsafe { ::std::ptr::addr_of!((*ptr).opt) as usize - ptr as usize },
34188        0usize,
34189        concat!(
34190            "Offset of field: ",
34191            stringify!(supported_option_type),
34192            "::",
34193            stringify!(opt)
34194        )
34195    );
34196    assert_eq!(
34197        unsafe { ::std::ptr::addr_of!((*ptr).support) as usize - ptr as usize },
34198        4usize,
34199        concat!(
34200            "Offset of field: ",
34201            stringify!(supported_option_type),
34202            "::",
34203            stringify!(support)
34204        )
34205    );
34206}
34207pub const block_support_t_BLOCK_NOT_SUPPORTED: block_support_t = 0;
34208pub const block_support_t_ONE_BLOCK_SUPPORTED: block_support_t = 1;
34209pub const block_support_t_MULTIPLE_BLOCKS_SUPPORTED: block_support_t = 2;
34210pub type block_support_t = ::std::os::raw::c_uint;
34211#[repr(C)]
34212#[derive(Debug, Copy, Clone)]
34213pub struct supported_block_type {
34214    pub type_: wtap_block_type_t,
34215    pub support: block_support_t,
34216    pub num_supported_options: usize,
34217    pub supported_options: *const supported_option_type,
34218}
34219#[test]
34220fn bindgen_test_layout_supported_block_type() {
34221    const UNINIT: ::std::mem::MaybeUninit<supported_block_type> = ::std::mem::MaybeUninit::uninit();
34222    let ptr = UNINIT.as_ptr();
34223    assert_eq!(
34224        ::std::mem::size_of::<supported_block_type>(),
34225        24usize,
34226        concat!("Size of: ", stringify!(supported_block_type))
34227    );
34228    assert_eq!(
34229        ::std::mem::align_of::<supported_block_type>(),
34230        8usize,
34231        concat!("Alignment of ", stringify!(supported_block_type))
34232    );
34233    assert_eq!(
34234        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
34235        0usize,
34236        concat!(
34237            "Offset of field: ",
34238            stringify!(supported_block_type),
34239            "::",
34240            stringify!(type_)
34241        )
34242    );
34243    assert_eq!(
34244        unsafe { ::std::ptr::addr_of!((*ptr).support) as usize - ptr as usize },
34245        4usize,
34246        concat!(
34247            "Offset of field: ",
34248            stringify!(supported_block_type),
34249            "::",
34250            stringify!(support)
34251        )
34252    );
34253    assert_eq!(
34254        unsafe { ::std::ptr::addr_of!((*ptr).num_supported_options) as usize - ptr as usize },
34255        8usize,
34256        concat!(
34257            "Offset of field: ",
34258            stringify!(supported_block_type),
34259            "::",
34260            stringify!(num_supported_options)
34261        )
34262    );
34263    assert_eq!(
34264        unsafe { ::std::ptr::addr_of!((*ptr).supported_options) as usize - ptr as usize },
34265        16usize,
34266        concat!(
34267            "Offset of field: ",
34268            stringify!(supported_block_type),
34269            "::",
34270            stringify!(supported_options)
34271        )
34272    );
34273}
34274#[repr(C)]
34275#[derive(Debug, Copy, Clone)]
34276pub struct file_type_subtype_info {
34277    pub description: *const ::std::os::raw::c_char,
34278    pub name: *const ::std::os::raw::c_char,
34279    pub default_file_extension: *const ::std::os::raw::c_char,
34280    pub additional_file_extensions: *const ::std::os::raw::c_char,
34281    pub writing_must_seek: gboolean,
34282    pub num_supported_blocks: usize,
34283    pub supported_blocks: *const supported_block_type,
34284    pub can_write_encap: ::std::option::Option<
34285        unsafe extern "C" fn(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
34286    >,
34287    pub dump_open: ::std::option::Option<
34288        unsafe extern "C" fn(
34289            arg1: *mut wtap_dumper,
34290            arg2: *mut ::std::os::raw::c_int,
34291            arg3: *mut *mut gchar,
34292        ) -> ::std::os::raw::c_int,
34293    >,
34294    pub wslua_info: *mut wtap_wslua_file_info_t,
34295}
34296#[test]
34297fn bindgen_test_layout_file_type_subtype_info() {
34298    const UNINIT: ::std::mem::MaybeUninit<file_type_subtype_info> =
34299        ::std::mem::MaybeUninit::uninit();
34300    let ptr = UNINIT.as_ptr();
34301    assert_eq!(
34302        ::std::mem::size_of::<file_type_subtype_info>(),
34303        80usize,
34304        concat!("Size of: ", stringify!(file_type_subtype_info))
34305    );
34306    assert_eq!(
34307        ::std::mem::align_of::<file_type_subtype_info>(),
34308        8usize,
34309        concat!("Alignment of ", stringify!(file_type_subtype_info))
34310    );
34311    assert_eq!(
34312        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
34313        0usize,
34314        concat!(
34315            "Offset of field: ",
34316            stringify!(file_type_subtype_info),
34317            "::",
34318            stringify!(description)
34319        )
34320    );
34321    assert_eq!(
34322        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
34323        8usize,
34324        concat!(
34325            "Offset of field: ",
34326            stringify!(file_type_subtype_info),
34327            "::",
34328            stringify!(name)
34329        )
34330    );
34331    assert_eq!(
34332        unsafe { ::std::ptr::addr_of!((*ptr).default_file_extension) as usize - ptr as usize },
34333        16usize,
34334        concat!(
34335            "Offset of field: ",
34336            stringify!(file_type_subtype_info),
34337            "::",
34338            stringify!(default_file_extension)
34339        )
34340    );
34341    assert_eq!(
34342        unsafe { ::std::ptr::addr_of!((*ptr).additional_file_extensions) as usize - ptr as usize },
34343        24usize,
34344        concat!(
34345            "Offset of field: ",
34346            stringify!(file_type_subtype_info),
34347            "::",
34348            stringify!(additional_file_extensions)
34349        )
34350    );
34351    assert_eq!(
34352        unsafe { ::std::ptr::addr_of!((*ptr).writing_must_seek) as usize - ptr as usize },
34353        32usize,
34354        concat!(
34355            "Offset of field: ",
34356            stringify!(file_type_subtype_info),
34357            "::",
34358            stringify!(writing_must_seek)
34359        )
34360    );
34361    assert_eq!(
34362        unsafe { ::std::ptr::addr_of!((*ptr).num_supported_blocks) as usize - ptr as usize },
34363        40usize,
34364        concat!(
34365            "Offset of field: ",
34366            stringify!(file_type_subtype_info),
34367            "::",
34368            stringify!(num_supported_blocks)
34369        )
34370    );
34371    assert_eq!(
34372        unsafe { ::std::ptr::addr_of!((*ptr).supported_blocks) as usize - ptr as usize },
34373        48usize,
34374        concat!(
34375            "Offset of field: ",
34376            stringify!(file_type_subtype_info),
34377            "::",
34378            stringify!(supported_blocks)
34379        )
34380    );
34381    assert_eq!(
34382        unsafe { ::std::ptr::addr_of!((*ptr).can_write_encap) as usize - ptr as usize },
34383        56usize,
34384        concat!(
34385            "Offset of field: ",
34386            stringify!(file_type_subtype_info),
34387            "::",
34388            stringify!(can_write_encap)
34389        )
34390    );
34391    assert_eq!(
34392        unsafe { ::std::ptr::addr_of!((*ptr).dump_open) as usize - ptr as usize },
34393        64usize,
34394        concat!(
34395            "Offset of field: ",
34396            stringify!(file_type_subtype_info),
34397            "::",
34398            stringify!(dump_open)
34399        )
34400    );
34401    assert_eq!(
34402        unsafe { ::std::ptr::addr_of!((*ptr).wslua_info) as usize - ptr as usize },
34403        72usize,
34404        concat!(
34405            "Offset of field: ",
34406            stringify!(file_type_subtype_info),
34407            "::",
34408            stringify!(wslua_info)
34409        )
34410    );
34411}
34412extern "C" {
34413    pub fn wtap_init(load_wiretap_plugins: gboolean);
34414}
34415extern "C" {
34416    pub fn wtap_open_offline(
34417        filename: *const ::std::os::raw::c_char,
34418        type_: ::std::os::raw::c_uint,
34419        err: *mut ::std::os::raw::c_int,
34420        err_info: *mut *mut gchar,
34421        do_random: gboolean,
34422    ) -> *mut wtap;
34423}
34424extern "C" {
34425    pub fn wtap_cleareof(wth: *mut wtap);
34426}
34427pub type wtap_new_ipv4_callback_t =
34428    ::std::option::Option<unsafe extern "C" fn(addr: guint, name: *const gchar)>;
34429extern "C" {
34430    pub fn wtap_set_cb_new_ipv4(wth: *mut wtap, add_new_ipv4: wtap_new_ipv4_callback_t);
34431}
34432pub type wtap_new_ipv6_callback_t = ::std::option::Option<
34433    unsafe extern "C" fn(addrp: *const ::std::os::raw::c_void, name: *const gchar),
34434>;
34435extern "C" {
34436    pub fn wtap_set_cb_new_ipv6(wth: *mut wtap, add_new_ipv6: wtap_new_ipv6_callback_t);
34437}
34438pub type wtap_new_secrets_callback_t = ::std::option::Option<
34439    unsafe extern "C" fn(
34440        secrets_type: guint32,
34441        secrets: *const ::std::os::raw::c_void,
34442        size: guint,
34443    ),
34444>;
34445extern "C" {
34446    pub fn wtap_set_cb_new_secrets(wth: *mut wtap, add_new_secrets: wtap_new_secrets_callback_t);
34447}
34448extern "C" {
34449    pub fn wtap_read(
34450        wth: *mut wtap,
34451        rec: *mut wtap_rec,
34452        buf: *mut Buffer,
34453        err: *mut ::std::os::raw::c_int,
34454        err_info: *mut *mut gchar,
34455        offset: *mut gint64,
34456    ) -> gboolean;
34457}
34458extern "C" {
34459    pub fn wtap_seek_read(
34460        wth: *mut wtap,
34461        seek_off: gint64,
34462        rec: *mut wtap_rec,
34463        buf: *mut Buffer,
34464        err: *mut ::std::os::raw::c_int,
34465        err_info: *mut *mut gchar,
34466    ) -> gboolean;
34467}
34468extern "C" {
34469    pub fn wtap_rec_init(rec: *mut wtap_rec);
34470}
34471extern "C" {
34472    pub fn wtap_rec_reset(rec: *mut wtap_rec);
34473}
34474extern "C" {
34475    pub fn wtap_rec_cleanup(rec: *mut wtap_rec);
34476}
34477pub const wtap_compression_type_WTAP_UNCOMPRESSED: wtap_compression_type = 0;
34478pub const wtap_compression_type_WTAP_GZIP_COMPRESSED: wtap_compression_type = 1;
34479pub const wtap_compression_type_WTAP_ZSTD_COMPRESSED: wtap_compression_type = 2;
34480pub const wtap_compression_type_WTAP_LZ4_COMPRESSED: wtap_compression_type = 3;
34481pub type wtap_compression_type = ::std::os::raw::c_uint;
34482extern "C" {
34483    pub fn wtap_get_compression_type(wth: *mut wtap) -> wtap_compression_type;
34484}
34485extern "C" {
34486    pub fn wtap_compression_type_description(
34487        compression_type: wtap_compression_type,
34488    ) -> *const ::std::os::raw::c_char;
34489}
34490extern "C" {
34491    pub fn wtap_compression_type_extension(
34492        compression_type: wtap_compression_type,
34493    ) -> *const ::std::os::raw::c_char;
34494}
34495extern "C" {
34496    pub fn wtap_get_all_compression_type_extensions_list() -> *mut GSList;
34497}
34498extern "C" {
34499    pub fn wtap_read_so_far(wth: *mut wtap) -> gint64;
34500}
34501extern "C" {
34502    pub fn wtap_file_size(wth: *mut wtap, err: *mut ::std::os::raw::c_int) -> gint64;
34503}
34504extern "C" {
34505    pub fn wtap_snapshot_length(wth: *mut wtap) -> guint;
34506}
34507extern "C" {
34508    pub fn wtap_file_type_subtype(wth: *mut wtap) -> ::std::os::raw::c_int;
34509}
34510extern "C" {
34511    pub fn wtap_file_encap(wth: *mut wtap) -> ::std::os::raw::c_int;
34512}
34513extern "C" {
34514    pub fn wtap_file_tsprec(wth: *mut wtap) -> ::std::os::raw::c_int;
34515}
34516extern "C" {
34517    pub fn wtap_file_get_num_shbs(wth: *mut wtap) -> guint;
34518}
34519extern "C" {
34520    pub fn wtap_file_get_shb(wth: *mut wtap, shb_num: guint) -> wtap_block_t;
34521}
34522extern "C" {
34523    pub fn wtap_write_shb_comment(wth: *mut wtap, comment: *mut gchar);
34524}
34525extern "C" {
34526    pub fn wtap_file_get_idb_info(wth: *mut wtap) -> *mut wtapng_iface_descriptions_t;
34527}
34528extern "C" {
34529    pub fn wtap_get_next_interface_description(wth: *mut wtap) -> wtap_block_t;
34530}
34531extern "C" {
34532    pub fn wtap_free_idb_info(idb_info: *mut wtapng_iface_descriptions_t);
34533}
34534extern "C" {
34535    pub fn wtap_get_debug_if_descr(
34536        if_descr: wtap_block_t,
34537        indent: ::std::os::raw::c_int,
34538        line_end: *const ::std::os::raw::c_char,
34539    ) -> *mut gchar;
34540}
34541extern "C" {
34542    pub fn wtap_file_get_nrb(wth: *mut wtap) -> wtap_block_t;
34543}
34544extern "C" {
34545    pub fn wtap_fdclose(wth: *mut wtap);
34546}
34547extern "C" {
34548    pub fn wtap_fdreopen(
34549        wth: *mut wtap,
34550        filename: *const ::std::os::raw::c_char,
34551        err: *mut ::std::os::raw::c_int,
34552    ) -> gboolean;
34553}
34554extern "C" {
34555    pub fn wtap_sequential_close(wth: *mut wtap);
34556}
34557extern "C" {
34558    pub fn wtap_close(wth: *mut wtap);
34559}
34560extern "C" {
34561    pub fn wtap_dump_can_open(filetype: ::std::os::raw::c_int) -> gboolean;
34562}
34563extern "C" {
34564    pub fn wtap_dump_file_encap_type(file_encaps: *const GArray) -> ::std::os::raw::c_int;
34565}
34566extern "C" {
34567    pub fn wtap_dump_can_write_encap(
34568        file_type_subtype: ::std::os::raw::c_int,
34569        encap: ::std::os::raw::c_int,
34570    ) -> gboolean;
34571}
34572extern "C" {
34573    pub fn wtap_dump_can_compress(file_type_subtype: ::std::os::raw::c_int) -> gboolean;
34574}
34575extern "C" {
34576    pub fn wtap_dump_params_init(params: *mut wtap_dump_params, wth: *mut wtap);
34577}
34578extern "C" {
34579    pub fn wtap_dump_params_init_no_idbs(params: *mut wtap_dump_params, wth: *mut wtap);
34580}
34581extern "C" {
34582    pub fn wtap_dump_params_discard_decryption_secrets(params: *mut wtap_dump_params);
34583}
34584extern "C" {
34585    pub fn wtap_dump_params_cleanup(params: *mut wtap_dump_params);
34586}
34587extern "C" {
34588    pub fn wtap_dump_open(
34589        filename: *const ::std::os::raw::c_char,
34590        file_type_subtype: ::std::os::raw::c_int,
34591        compression_type: wtap_compression_type,
34592        params: *const wtap_dump_params,
34593        err: *mut ::std::os::raw::c_int,
34594        err_info: *mut *mut gchar,
34595    ) -> *mut wtap_dumper;
34596}
34597extern "C" {
34598    pub fn wtap_dump_open_tempfile(
34599        tmpdir: *const ::std::os::raw::c_char,
34600        filenamep: *mut *mut ::std::os::raw::c_char,
34601        pfx: *const ::std::os::raw::c_char,
34602        file_type_subtype: ::std::os::raw::c_int,
34603        compression_type: wtap_compression_type,
34604        params: *const wtap_dump_params,
34605        err: *mut ::std::os::raw::c_int,
34606        err_info: *mut *mut gchar,
34607    ) -> *mut wtap_dumper;
34608}
34609extern "C" {
34610    pub fn wtap_dump_fdopen(
34611        fd: ::std::os::raw::c_int,
34612        file_type_subtype: ::std::os::raw::c_int,
34613        compression_type: wtap_compression_type,
34614        params: *const wtap_dump_params,
34615        err: *mut ::std::os::raw::c_int,
34616        err_info: *mut *mut gchar,
34617    ) -> *mut wtap_dumper;
34618}
34619extern "C" {
34620    pub fn wtap_dump_open_stdout(
34621        file_type_subtype: ::std::os::raw::c_int,
34622        compression_type: wtap_compression_type,
34623        params: *const wtap_dump_params,
34624        err: *mut ::std::os::raw::c_int,
34625        err_info: *mut *mut gchar,
34626    ) -> *mut wtap_dumper;
34627}
34628extern "C" {
34629    pub fn wtap_dump_add_idb(
34630        wdh: *mut wtap_dumper,
34631        idb: wtap_block_t,
34632        err: *mut ::std::os::raw::c_int,
34633        err_info: *mut *mut gchar,
34634    ) -> gboolean;
34635}
34636extern "C" {
34637    pub fn wtap_dump(
34638        arg1: *mut wtap_dumper,
34639        arg2: *const wtap_rec,
34640        arg3: *const guint8,
34641        err: *mut ::std::os::raw::c_int,
34642        err_info: *mut *mut gchar,
34643    ) -> gboolean;
34644}
34645extern "C" {
34646    pub fn wtap_dump_flush(arg1: *mut wtap_dumper, arg2: *mut ::std::os::raw::c_int) -> gboolean;
34647}
34648extern "C" {
34649    pub fn wtap_dump_file_type_subtype(wdh: *mut wtap_dumper) -> ::std::os::raw::c_int;
34650}
34651extern "C" {
34652    pub fn wtap_get_bytes_dumped(arg1: *mut wtap_dumper) -> gint64;
34653}
34654extern "C" {
34655    pub fn wtap_set_bytes_dumped(wdh: *mut wtap_dumper, bytes_dumped: gint64);
34656}
34657#[repr(C)]
34658#[derive(Debug, Copy, Clone)]
34659pub struct addrinfo {
34660    _unused: [u8; 0],
34661}
34662extern "C" {
34663    pub fn wtap_addrinfo_list_empty(addrinfo_lists: *mut addrinfo_lists_t) -> gboolean;
34664}
34665extern "C" {
34666    pub fn wtap_dump_set_addrinfo_list(
34667        wdh: *mut wtap_dumper,
34668        addrinfo_lists: *mut addrinfo_lists_t,
34669    ) -> gboolean;
34670}
34671extern "C" {
34672    pub fn wtap_dump_discard_decryption_secrets(wdh: *mut wtap_dumper);
34673}
34674extern "C" {
34675    pub fn wtap_dump_close(
34676        wdh: *mut wtap_dumper,
34677        needs_reload: *mut gboolean,
34678        err: *mut ::std::os::raw::c_int,
34679        err_info: *mut *mut gchar,
34680    ) -> gboolean;
34681}
34682extern "C" {
34683    pub fn wtap_dump_can_write(
34684        file_encaps: *const GArray,
34685        required_comment_types: guint32,
34686    ) -> gboolean;
34687}
34688pub const ft_sort_order_FT_SORT_BY_NAME: ft_sort_order = 0;
34689pub const ft_sort_order_FT_SORT_BY_DESCRIPTION: ft_sort_order = 1;
34690pub type ft_sort_order = ::std::os::raw::c_uint;
34691extern "C" {
34692    pub fn wtap_get_savable_file_types_subtypes_for_file(
34693        file_type: ::std::os::raw::c_int,
34694        file_encaps: *const GArray,
34695        required_comment_types: guint32,
34696        sort_order: ft_sort_order,
34697    ) -> *mut GArray;
34698}
34699extern "C" {
34700    pub fn wtap_get_writable_file_types_subtypes(sort_order: ft_sort_order) -> *mut GArray;
34701}
34702extern "C" {
34703    pub fn wtap_file_type_subtype_description(
34704        file_type_subtype: ::std::os::raw::c_int,
34705    ) -> *const ::std::os::raw::c_char;
34706}
34707extern "C" {
34708    pub fn wtap_file_type_subtype_name(
34709        file_type_subtype: ::std::os::raw::c_int,
34710    ) -> *const ::std::os::raw::c_char;
34711}
34712extern "C" {
34713    pub fn wtap_name_to_file_type_subtype(
34714        name: *const ::std::os::raw::c_char,
34715    ) -> ::std::os::raw::c_int;
34716}
34717extern "C" {
34718    pub fn wtap_pcap_file_type_subtype() -> ::std::os::raw::c_int;
34719}
34720extern "C" {
34721    pub fn wtap_pcap_nsec_file_type_subtype() -> ::std::os::raw::c_int;
34722}
34723extern "C" {
34724    pub fn wtap_pcapng_file_type_subtype() -> ::std::os::raw::c_int;
34725}
34726extern "C" {
34727    pub fn wtap_file_type_subtype_supports_block(
34728        filetype: ::std::os::raw::c_int,
34729        type_: wtap_block_type_t,
34730    ) -> block_support_t;
34731}
34732extern "C" {
34733    pub fn wtap_file_type_subtype_supports_option(
34734        filetype: ::std::os::raw::c_int,
34735        type_: wtap_block_type_t,
34736        opttype: guint,
34737    ) -> option_support_t;
34738}
34739extern "C" {
34740    pub fn wtap_get_all_capture_file_extensions_list() -> *mut GSList;
34741}
34742extern "C" {
34743    pub fn wtap_default_file_extension(
34744        filetype: ::std::os::raw::c_int,
34745    ) -> *const ::std::os::raw::c_char;
34746}
34747extern "C" {
34748    pub fn wtap_get_file_extensions_list(
34749        filetype: ::std::os::raw::c_int,
34750        include_compressed: gboolean,
34751    ) -> *mut GSList;
34752}
34753extern "C" {
34754    pub fn wtap_get_all_file_extensions_list() -> *mut GSList;
34755}
34756extern "C" {
34757    pub fn wtap_free_extensions_list(extensions: *mut GSList);
34758}
34759extern "C" {
34760    pub fn wtap_encap_name(encap: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
34761}
34762extern "C" {
34763    pub fn wtap_encap_description(encap: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
34764}
34765extern "C" {
34766    pub fn wtap_name_to_encap(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
34767}
34768extern "C" {
34769    pub fn wtap_tsprec_string(tsprec: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
34770}
34771extern "C" {
34772    pub fn wtap_strerror(err: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
34773}
34774extern "C" {
34775    pub fn wtap_get_num_file_type_extensions() -> ::std::os::raw::c_int;
34776}
34777extern "C" {
34778    pub fn wtap_get_num_encap_types() -> ::std::os::raw::c_int;
34779}
34780extern "C" {
34781    pub fn wtap_get_file_extension_type_name(
34782        extension_type: ::std::os::raw::c_int,
34783    ) -> *const ::std::os::raw::c_char;
34784}
34785extern "C" {
34786    pub fn wtap_get_file_extension_type_extensions(extension_type: guint) -> *mut GSList;
34787}
34788extern "C" {
34789    pub fn wtap_register_file_type_extension(ei: *const file_extension_info);
34790}
34791#[repr(C)]
34792#[derive(Debug, Copy, Clone)]
34793pub struct wtap_plugin {
34794    pub register_wtap_module: ::std::option::Option<unsafe extern "C" fn()>,
34795}
34796#[test]
34797fn bindgen_test_layout_wtap_plugin() {
34798    const UNINIT: ::std::mem::MaybeUninit<wtap_plugin> = ::std::mem::MaybeUninit::uninit();
34799    let ptr = UNINIT.as_ptr();
34800    assert_eq!(
34801        ::std::mem::size_of::<wtap_plugin>(),
34802        8usize,
34803        concat!("Size of: ", stringify!(wtap_plugin))
34804    );
34805    assert_eq!(
34806        ::std::mem::align_of::<wtap_plugin>(),
34807        8usize,
34808        concat!("Alignment of ", stringify!(wtap_plugin))
34809    );
34810    assert_eq!(
34811        unsafe { ::std::ptr::addr_of!((*ptr).register_wtap_module) as usize - ptr as usize },
34812        0usize,
34813        concat!(
34814            "Offset of field: ",
34815            stringify!(wtap_plugin),
34816            "::",
34817            stringify!(register_wtap_module)
34818        )
34819    );
34820}
34821extern "C" {
34822    pub fn wtap_register_plugin(plug: *const wtap_plugin);
34823}
34824extern "C" {
34825    pub fn wtap_plugins_supported() -> ::std::os::raw::c_int;
34826}
34827extern "C" {
34828    pub fn wtap_register_open_info(oi: *mut open_info, first_routine: gboolean);
34829}
34830extern "C" {
34831    pub fn wtap_has_open_info(name: *const gchar) -> gboolean;
34832}
34833extern "C" {
34834    pub fn wtap_uses_lua_filehandler(wth: *const wtap) -> gboolean;
34835}
34836extern "C" {
34837    pub fn wtap_deregister_open_info(name: *const gchar);
34838}
34839extern "C" {
34840    pub fn open_info_name_to_type(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_uint;
34841}
34842extern "C" {
34843    pub fn wtap_register_file_type_subtype(
34844        fi: *const file_type_subtype_info,
34845    ) -> ::std::os::raw::c_int;
34846}
34847extern "C" {
34848    pub fn wtap_deregister_file_type_subtype(file_type_subtype: ::std::os::raw::c_int);
34849}
34850extern "C" {
34851    pub fn wtap_register_encap_type(
34852        description: *const ::std::os::raw::c_char,
34853        name: *const ::std::os::raw::c_char,
34854    ) -> ::std::os::raw::c_int;
34855}
34856extern "C" {
34857    pub fn wtap_cleanup();
34858}
34859#[repr(C)]
34860#[derive(Debug, Copy, Clone)]
34861pub struct epan_session {
34862    _unused: [u8; 0],
34863}
34864pub const packet_char_enc_PACKET_CHAR_ENC_CHAR_ASCII: packet_char_enc = 0;
34865pub const packet_char_enc_PACKET_CHAR_ENC_CHAR_EBCDIC: packet_char_enc = 1;
34866pub type packet_char_enc = ::std::os::raw::c_uint;
34867#[repr(C)]
34868#[derive(Debug, Copy, Clone)]
34869pub struct _color_filter {
34870    _unused: [u8; 0],
34871}
34872#[repr(C)]
34873#[derive(Debug, Copy, Clone)]
34874pub struct _frame_data {
34875    pub num: guint32,
34876    pub pkt_len: guint32,
34877    pub cap_len: guint32,
34878    pub cum_bytes: guint32,
34879    pub file_off: gint64,
34880    pub pfd: *mut GSList,
34881    pub color_filter: *const _color_filter,
34882    pub subnum: guint16,
34883    pub _bitfield_align_1: [u8; 0],
34884    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
34885    pub abs_ts: nstime_t,
34886    pub shift_offset: nstime_t,
34887    pub frame_ref_num: guint32,
34888    pub prev_dis_num: guint32,
34889}
34890#[test]
34891fn bindgen_test_layout__frame_data() {
34892    const UNINIT: ::std::mem::MaybeUninit<_frame_data> = ::std::mem::MaybeUninit::uninit();
34893    let ptr = UNINIT.as_ptr();
34894    assert_eq!(
34895        ::std::mem::size_of::<_frame_data>(),
34896        88usize,
34897        concat!("Size of: ", stringify!(_frame_data))
34898    );
34899    assert_eq!(
34900        ::std::mem::align_of::<_frame_data>(),
34901        8usize,
34902        concat!("Alignment of ", stringify!(_frame_data))
34903    );
34904    assert_eq!(
34905        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
34906        0usize,
34907        concat!(
34908            "Offset of field: ",
34909            stringify!(_frame_data),
34910            "::",
34911            stringify!(num)
34912        )
34913    );
34914    assert_eq!(
34915        unsafe { ::std::ptr::addr_of!((*ptr).pkt_len) as usize - ptr as usize },
34916        4usize,
34917        concat!(
34918            "Offset of field: ",
34919            stringify!(_frame_data),
34920            "::",
34921            stringify!(pkt_len)
34922        )
34923    );
34924    assert_eq!(
34925        unsafe { ::std::ptr::addr_of!((*ptr).cap_len) as usize - ptr as usize },
34926        8usize,
34927        concat!(
34928            "Offset of field: ",
34929            stringify!(_frame_data),
34930            "::",
34931            stringify!(cap_len)
34932        )
34933    );
34934    assert_eq!(
34935        unsafe { ::std::ptr::addr_of!((*ptr).cum_bytes) as usize - ptr as usize },
34936        12usize,
34937        concat!(
34938            "Offset of field: ",
34939            stringify!(_frame_data),
34940            "::",
34941            stringify!(cum_bytes)
34942        )
34943    );
34944    assert_eq!(
34945        unsafe { ::std::ptr::addr_of!((*ptr).file_off) as usize - ptr as usize },
34946        16usize,
34947        concat!(
34948            "Offset of field: ",
34949            stringify!(_frame_data),
34950            "::",
34951            stringify!(file_off)
34952        )
34953    );
34954    assert_eq!(
34955        unsafe { ::std::ptr::addr_of!((*ptr).pfd) as usize - ptr as usize },
34956        24usize,
34957        concat!(
34958            "Offset of field: ",
34959            stringify!(_frame_data),
34960            "::",
34961            stringify!(pfd)
34962        )
34963    );
34964    assert_eq!(
34965        unsafe { ::std::ptr::addr_of!((*ptr).color_filter) as usize - ptr as usize },
34966        32usize,
34967        concat!(
34968            "Offset of field: ",
34969            stringify!(_frame_data),
34970            "::",
34971            stringify!(color_filter)
34972        )
34973    );
34974    assert_eq!(
34975        unsafe { ::std::ptr::addr_of!((*ptr).subnum) as usize - ptr as usize },
34976        40usize,
34977        concat!(
34978            "Offset of field: ",
34979            stringify!(_frame_data),
34980            "::",
34981            stringify!(subnum)
34982        )
34983    );
34984    assert_eq!(
34985        unsafe { ::std::ptr::addr_of!((*ptr).abs_ts) as usize - ptr as usize },
34986        48usize,
34987        concat!(
34988            "Offset of field: ",
34989            stringify!(_frame_data),
34990            "::",
34991            stringify!(abs_ts)
34992        )
34993    );
34994    assert_eq!(
34995        unsafe { ::std::ptr::addr_of!((*ptr).shift_offset) as usize - ptr as usize },
34996        64usize,
34997        concat!(
34998            "Offset of field: ",
34999            stringify!(_frame_data),
35000            "::",
35001            stringify!(shift_offset)
35002        )
35003    );
35004    assert_eq!(
35005        unsafe { ::std::ptr::addr_of!((*ptr).frame_ref_num) as usize - ptr as usize },
35006        80usize,
35007        concat!(
35008            "Offset of field: ",
35009            stringify!(_frame_data),
35010            "::",
35011            stringify!(frame_ref_num)
35012        )
35013    );
35014    assert_eq!(
35015        unsafe { ::std::ptr::addr_of!((*ptr).prev_dis_num) as usize - ptr as usize },
35016        84usize,
35017        concat!(
35018            "Offset of field: ",
35019            stringify!(_frame_data),
35020            "::",
35021            stringify!(prev_dis_num)
35022        )
35023    );
35024}
35025impl _frame_data {
35026    #[inline]
35027    pub fn passed_dfilter(&self) -> ::std::os::raw::c_uint {
35028        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
35029    }
35030    #[inline]
35031    pub fn set_passed_dfilter(&mut self, val: ::std::os::raw::c_uint) {
35032        unsafe {
35033            let val: u32 = ::std::mem::transmute(val);
35034            self._bitfield_1.set(0usize, 1u8, val as u64)
35035        }
35036    }
35037    #[inline]
35038    pub fn dependent_of_displayed(&self) -> ::std::os::raw::c_uint {
35039        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
35040    }
35041    #[inline]
35042    pub fn set_dependent_of_displayed(&mut self, val: ::std::os::raw::c_uint) {
35043        unsafe {
35044            let val: u32 = ::std::mem::transmute(val);
35045            self._bitfield_1.set(1usize, 1u8, val as u64)
35046        }
35047    }
35048    #[inline]
35049    pub fn encoding(&self) -> ::std::os::raw::c_uint {
35050        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
35051    }
35052    #[inline]
35053    pub fn set_encoding(&mut self, val: ::std::os::raw::c_uint) {
35054        unsafe {
35055            let val: u32 = ::std::mem::transmute(val);
35056            self._bitfield_1.set(2usize, 1u8, val as u64)
35057        }
35058    }
35059    #[inline]
35060    pub fn visited(&self) -> ::std::os::raw::c_uint {
35061        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
35062    }
35063    #[inline]
35064    pub fn set_visited(&mut self, val: ::std::os::raw::c_uint) {
35065        unsafe {
35066            let val: u32 = ::std::mem::transmute(val);
35067            self._bitfield_1.set(3usize, 1u8, val as u64)
35068        }
35069    }
35070    #[inline]
35071    pub fn marked(&self) -> ::std::os::raw::c_uint {
35072        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
35073    }
35074    #[inline]
35075    pub fn set_marked(&mut self, val: ::std::os::raw::c_uint) {
35076        unsafe {
35077            let val: u32 = ::std::mem::transmute(val);
35078            self._bitfield_1.set(4usize, 1u8, val as u64)
35079        }
35080    }
35081    #[inline]
35082    pub fn ref_time(&self) -> ::std::os::raw::c_uint {
35083        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
35084    }
35085    #[inline]
35086    pub fn set_ref_time(&mut self, val: ::std::os::raw::c_uint) {
35087        unsafe {
35088            let val: u32 = ::std::mem::transmute(val);
35089            self._bitfield_1.set(5usize, 1u8, val as u64)
35090        }
35091    }
35092    #[inline]
35093    pub fn ignored(&self) -> ::std::os::raw::c_uint {
35094        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
35095    }
35096    #[inline]
35097    pub fn set_ignored(&mut self, val: ::std::os::raw::c_uint) {
35098        unsafe {
35099            let val: u32 = ::std::mem::transmute(val);
35100            self._bitfield_1.set(6usize, 1u8, val as u64)
35101        }
35102    }
35103    #[inline]
35104    pub fn has_ts(&self) -> ::std::os::raw::c_uint {
35105        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
35106    }
35107    #[inline]
35108    pub fn set_has_ts(&mut self, val: ::std::os::raw::c_uint) {
35109        unsafe {
35110            let val: u32 = ::std::mem::transmute(val);
35111            self._bitfield_1.set(7usize, 1u8, val as u64)
35112        }
35113    }
35114    #[inline]
35115    pub fn has_modified_block(&self) -> ::std::os::raw::c_uint {
35116        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
35117    }
35118    #[inline]
35119    pub fn set_has_modified_block(&mut self, val: ::std::os::raw::c_uint) {
35120        unsafe {
35121            let val: u32 = ::std::mem::transmute(val);
35122            self._bitfield_1.set(8usize, 1u8, val as u64)
35123        }
35124    }
35125    #[inline]
35126    pub fn need_colorize(&self) -> ::std::os::raw::c_uint {
35127        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
35128    }
35129    #[inline]
35130    pub fn set_need_colorize(&mut self, val: ::std::os::raw::c_uint) {
35131        unsafe {
35132            let val: u32 = ::std::mem::transmute(val);
35133            self._bitfield_1.set(9usize, 1u8, val as u64)
35134        }
35135    }
35136    #[inline]
35137    pub fn tsprec(&self) -> ::std::os::raw::c_uint {
35138        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 4u8) as u32) }
35139    }
35140    #[inline]
35141    pub fn set_tsprec(&mut self, val: ::std::os::raw::c_uint) {
35142        unsafe {
35143            let val: u32 = ::std::mem::transmute(val);
35144            self._bitfield_1.set(10usize, 4u8, val as u64)
35145        }
35146    }
35147    #[inline]
35148    pub fn new_bitfield_1(
35149        passed_dfilter: ::std::os::raw::c_uint,
35150        dependent_of_displayed: ::std::os::raw::c_uint,
35151        encoding: ::std::os::raw::c_uint,
35152        visited: ::std::os::raw::c_uint,
35153        marked: ::std::os::raw::c_uint,
35154        ref_time: ::std::os::raw::c_uint,
35155        ignored: ::std::os::raw::c_uint,
35156        has_ts: ::std::os::raw::c_uint,
35157        has_modified_block: ::std::os::raw::c_uint,
35158        need_colorize: ::std::os::raw::c_uint,
35159        tsprec: ::std::os::raw::c_uint,
35160    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
35161        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
35162        __bindgen_bitfield_unit.set(0usize, 1u8, {
35163            let passed_dfilter: u32 = unsafe { ::std::mem::transmute(passed_dfilter) };
35164            passed_dfilter as u64
35165        });
35166        __bindgen_bitfield_unit.set(1usize, 1u8, {
35167            let dependent_of_displayed: u32 =
35168                unsafe { ::std::mem::transmute(dependent_of_displayed) };
35169            dependent_of_displayed as u64
35170        });
35171        __bindgen_bitfield_unit.set(2usize, 1u8, {
35172            let encoding: u32 = unsafe { ::std::mem::transmute(encoding) };
35173            encoding as u64
35174        });
35175        __bindgen_bitfield_unit.set(3usize, 1u8, {
35176            let visited: u32 = unsafe { ::std::mem::transmute(visited) };
35177            visited as u64
35178        });
35179        __bindgen_bitfield_unit.set(4usize, 1u8, {
35180            let marked: u32 = unsafe { ::std::mem::transmute(marked) };
35181            marked as u64
35182        });
35183        __bindgen_bitfield_unit.set(5usize, 1u8, {
35184            let ref_time: u32 = unsafe { ::std::mem::transmute(ref_time) };
35185            ref_time as u64
35186        });
35187        __bindgen_bitfield_unit.set(6usize, 1u8, {
35188            let ignored: u32 = unsafe { ::std::mem::transmute(ignored) };
35189            ignored as u64
35190        });
35191        __bindgen_bitfield_unit.set(7usize, 1u8, {
35192            let has_ts: u32 = unsafe { ::std::mem::transmute(has_ts) };
35193            has_ts as u64
35194        });
35195        __bindgen_bitfield_unit.set(8usize, 1u8, {
35196            let has_modified_block: u32 = unsafe { ::std::mem::transmute(has_modified_block) };
35197            has_modified_block as u64
35198        });
35199        __bindgen_bitfield_unit.set(9usize, 1u8, {
35200            let need_colorize: u32 = unsafe { ::std::mem::transmute(need_colorize) };
35201            need_colorize as u64
35202        });
35203        __bindgen_bitfield_unit.set(10usize, 4u8, {
35204            let tsprec: u32 = unsafe { ::std::mem::transmute(tsprec) };
35205            tsprec as u64
35206        });
35207        __bindgen_bitfield_unit
35208    }
35209}
35210pub type frame_data = _frame_data;
35211extern "C" {
35212    pub fn frame_data_compare(
35213        epan: *const epan_session,
35214        fdata1: *const frame_data,
35215        fdata2: *const frame_data,
35216        field: ::std::os::raw::c_int,
35217    ) -> gint;
35218}
35219extern "C" {
35220    pub fn frame_data_reset(fdata: *mut frame_data);
35221}
35222extern "C" {
35223    pub fn frame_data_destroy(fdata: *mut frame_data);
35224}
35225extern "C" {
35226    pub fn frame_data_init(
35227        fdata: *mut frame_data,
35228        num: guint32,
35229        rec: *const wtap_rec,
35230        offset: gint64,
35231        cum_bytes: guint32,
35232    );
35233}
35234extern "C" {
35235    pub fn frame_delta_abs_time(
35236        epan: *const epan_session,
35237        fdata: *const frame_data,
35238        prev_num: guint32,
35239        delta: *mut nstime_t,
35240    );
35241}
35242extern "C" {
35243    pub fn frame_data_set_before_dissect(
35244        fdata: *mut frame_data,
35245        elapsed_time: *mut nstime_t,
35246        frame_ref: *mut *const frame_data,
35247        prev_dis: *const frame_data,
35248    );
35249}
35250extern "C" {
35251    pub fn frame_data_set_after_dissect(fdata: *mut frame_data, cum_bytes: *mut guint32);
35252}
35253pub const address_type_AT_NONE: address_type = 0;
35254pub const address_type_AT_ETHER: address_type = 1;
35255pub const address_type_AT_IPv4: address_type = 2;
35256pub const address_type_AT_IPv6: address_type = 3;
35257pub const address_type_AT_IPX: address_type = 4;
35258pub const address_type_AT_FC: address_type = 5;
35259pub const address_type_AT_FCWWN: address_type = 6;
35260pub const address_type_AT_STRINGZ: address_type = 7;
35261pub const address_type_AT_EUI64: address_type = 8;
35262pub const address_type_AT_IB: address_type = 9;
35263pub const address_type_AT_AX25: address_type = 10;
35264pub const address_type_AT_VINES: address_type = 11;
35265pub const address_type_AT_NUMERIC: address_type = 12;
35266pub const address_type_AT_END_OF_LIST: address_type = 13;
35267pub type address_type = ::std::os::raw::c_uint;
35268#[repr(C)]
35269#[derive(Debug, Copy, Clone)]
35270pub struct _address {
35271    pub type_: ::std::os::raw::c_int,
35272    pub len: ::std::os::raw::c_int,
35273    pub data: *const ::std::os::raw::c_void,
35274    pub priv_: *mut ::std::os::raw::c_void,
35275}
35276#[test]
35277fn bindgen_test_layout__address() {
35278    const UNINIT: ::std::mem::MaybeUninit<_address> = ::std::mem::MaybeUninit::uninit();
35279    let ptr = UNINIT.as_ptr();
35280    assert_eq!(
35281        ::std::mem::size_of::<_address>(),
35282        24usize,
35283        concat!("Size of: ", stringify!(_address))
35284    );
35285    assert_eq!(
35286        ::std::mem::align_of::<_address>(),
35287        8usize,
35288        concat!("Alignment of ", stringify!(_address))
35289    );
35290    assert_eq!(
35291        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
35292        0usize,
35293        concat!(
35294            "Offset of field: ",
35295            stringify!(_address),
35296            "::",
35297            stringify!(type_)
35298        )
35299    );
35300    assert_eq!(
35301        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
35302        4usize,
35303        concat!(
35304            "Offset of field: ",
35305            stringify!(_address),
35306            "::",
35307            stringify!(len)
35308        )
35309    );
35310    assert_eq!(
35311        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
35312        8usize,
35313        concat!(
35314            "Offset of field: ",
35315            stringify!(_address),
35316            "::",
35317            stringify!(data)
35318        )
35319    );
35320    assert_eq!(
35321        unsafe { ::std::ptr::addr_of!((*ptr).priv_) as usize - ptr as usize },
35322        16usize,
35323        concat!(
35324            "Offset of field: ",
35325            stringify!(_address),
35326            "::",
35327            stringify!(priv_)
35328        )
35329    );
35330}
35331pub type address = _address;
35332extern "C" {
35333    pub fn address_to_bytes(addr: *const address, buf: *mut guint8, buf_len: guint) -> guint;
35334}
35335pub const port_type_PT_NONE: port_type = 0;
35336pub const port_type_PT_SCTP: port_type = 1;
35337pub const port_type_PT_TCP: port_type = 2;
35338pub const port_type_PT_UDP: port_type = 3;
35339pub const port_type_PT_DCCP: port_type = 4;
35340pub const port_type_PT_IPX: port_type = 5;
35341pub const port_type_PT_DDP: port_type = 6;
35342pub const port_type_PT_IDP: port_type = 7;
35343pub const port_type_PT_USB: port_type = 8;
35344pub const port_type_PT_I2C: port_type = 9;
35345pub const port_type_PT_IBQP: port_type = 10;
35346pub const port_type_PT_BLUETOOTH: port_type = 11;
35347pub const port_type_PT_IWARP_MPA: port_type = 12;
35348pub type port_type = ::std::os::raw::c_uint;
35349#[repr(C)]
35350#[derive(Debug, Copy, Clone)]
35351pub struct conversation_element {
35352    _unused: [u8; 0],
35353}
35354#[repr(C)]
35355#[derive(Debug, Copy, Clone)]
35356pub struct _packet_info {
35357    pub current_proto: *const ::std::os::raw::c_char,
35358    pub cinfo: *mut epan_column_info,
35359    pub presence_flags: guint32,
35360    pub num: guint32,
35361    pub abs_ts: nstime_t,
35362    pub rel_ts: nstime_t,
35363    pub fd: *mut frame_data,
35364    pub pseudo_header: *mut wtap_pseudo_header,
35365    pub rec: *mut wtap_rec,
35366    pub data_src: *mut GSList,
35367    pub dl_src: address,
35368    pub dl_dst: address,
35369    pub net_src: address,
35370    pub net_dst: address,
35371    pub src: address,
35372    pub dst: address,
35373    pub vlan_id: guint32,
35374    pub noreassembly_reason: *const ::std::os::raw::c_char,
35375    pub fragmented: gboolean,
35376    pub flags: _packet_info__bindgen_ty_1,
35377    pub ptype: port_type,
35378    pub srcport: guint32,
35379    pub destport: guint32,
35380    pub match_uint: guint32,
35381    pub match_string: *const ::std::os::raw::c_char,
35382    pub use_conv_addr_port_endpoints: gboolean,
35383    pub conv_addr_port_endpoints: *mut conversation_addr_port_endpoints,
35384    pub conv_elements: *mut conversation_element,
35385    pub can_desegment: guint16,
35386    pub saved_can_desegment: guint16,
35387    pub desegment_offset: ::std::os::raw::c_int,
35388    pub desegment_len: guint32,
35389    pub want_pdu_tracking: guint16,
35390    pub bytes_until_next_pdu: guint32,
35391    pub p2p_dir: ::std::os::raw::c_int,
35392    pub private_table: *mut GHashTable,
35393    pub layers: *mut wmem_list_t,
35394    pub proto_layers: *mut wmem_map_t,
35395    pub curr_layer_num: guint8,
35396    pub curr_proto_layer_num: guint8,
35397    pub link_number: guint16,
35398    pub clnp_srcref: guint16,
35399    pub clnp_dstref: guint16,
35400    pub link_dir: ::std::os::raw::c_int,
35401    pub src_win_scale: gint16,
35402    pub dst_win_scale: gint16,
35403    pub proto_data: *mut GSList,
35404    pub dependent_frames: *mut GSList,
35405    pub frame_end_routines: *mut GSList,
35406    pub pool: *mut wmem_allocator_t,
35407    pub epan: *mut epan_session,
35408    pub heur_list_name: *const gchar,
35409}
35410#[repr(C)]
35411#[repr(align(4))]
35412#[derive(Debug, Copy, Clone)]
35413pub struct _packet_info__bindgen_ty_1 {
35414    pub _bitfield_align_1: [u8; 0],
35415    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
35416    pub __bindgen_padding_0: [u8; 3usize],
35417}
35418#[test]
35419fn bindgen_test_layout__packet_info__bindgen_ty_1() {
35420    assert_eq!(
35421        ::std::mem::size_of::<_packet_info__bindgen_ty_1>(),
35422        4usize,
35423        concat!("Size of: ", stringify!(_packet_info__bindgen_ty_1))
35424    );
35425    assert_eq!(
35426        ::std::mem::align_of::<_packet_info__bindgen_ty_1>(),
35427        4usize,
35428        concat!("Alignment of ", stringify!(_packet_info__bindgen_ty_1))
35429    );
35430}
35431impl _packet_info__bindgen_ty_1 {
35432    #[inline]
35433    pub fn in_error_pkt(&self) -> guint32 {
35434        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
35435    }
35436    #[inline]
35437    pub fn set_in_error_pkt(&mut self, val: guint32) {
35438        unsafe {
35439            let val: u32 = ::std::mem::transmute(val);
35440            self._bitfield_1.set(0usize, 1u8, val as u64)
35441        }
35442    }
35443    #[inline]
35444    pub fn in_gre_pkt(&self) -> guint32 {
35445        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
35446    }
35447    #[inline]
35448    pub fn set_in_gre_pkt(&mut self, val: guint32) {
35449        unsafe {
35450            let val: u32 = ::std::mem::transmute(val);
35451            self._bitfield_1.set(1usize, 1u8, val as u64)
35452        }
35453    }
35454    #[inline]
35455    pub fn new_bitfield_1(
35456        in_error_pkt: guint32,
35457        in_gre_pkt: guint32,
35458    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
35459        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
35460        __bindgen_bitfield_unit.set(0usize, 1u8, {
35461            let in_error_pkt: u32 = unsafe { ::std::mem::transmute(in_error_pkt) };
35462            in_error_pkt as u64
35463        });
35464        __bindgen_bitfield_unit.set(1usize, 1u8, {
35465            let in_gre_pkt: u32 = unsafe { ::std::mem::transmute(in_gre_pkt) };
35466            in_gre_pkt as u64
35467        });
35468        __bindgen_bitfield_unit
35469    }
35470}
35471#[test]
35472fn bindgen_test_layout__packet_info() {
35473    const UNINIT: ::std::mem::MaybeUninit<_packet_info> = ::std::mem::MaybeUninit::uninit();
35474    let ptr = UNINIT.as_ptr();
35475    assert_eq!(
35476        ::std::mem::size_of::<_packet_info>(),
35477        416usize,
35478        concat!("Size of: ", stringify!(_packet_info))
35479    );
35480    assert_eq!(
35481        ::std::mem::align_of::<_packet_info>(),
35482        8usize,
35483        concat!("Alignment of ", stringify!(_packet_info))
35484    );
35485    assert_eq!(
35486        unsafe { ::std::ptr::addr_of!((*ptr).current_proto) as usize - ptr as usize },
35487        0usize,
35488        concat!(
35489            "Offset of field: ",
35490            stringify!(_packet_info),
35491            "::",
35492            stringify!(current_proto)
35493        )
35494    );
35495    assert_eq!(
35496        unsafe { ::std::ptr::addr_of!((*ptr).cinfo) as usize - ptr as usize },
35497        8usize,
35498        concat!(
35499            "Offset of field: ",
35500            stringify!(_packet_info),
35501            "::",
35502            stringify!(cinfo)
35503        )
35504    );
35505    assert_eq!(
35506        unsafe { ::std::ptr::addr_of!((*ptr).presence_flags) as usize - ptr as usize },
35507        16usize,
35508        concat!(
35509            "Offset of field: ",
35510            stringify!(_packet_info),
35511            "::",
35512            stringify!(presence_flags)
35513        )
35514    );
35515    assert_eq!(
35516        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
35517        20usize,
35518        concat!(
35519            "Offset of field: ",
35520            stringify!(_packet_info),
35521            "::",
35522            stringify!(num)
35523        )
35524    );
35525    assert_eq!(
35526        unsafe { ::std::ptr::addr_of!((*ptr).abs_ts) as usize - ptr as usize },
35527        24usize,
35528        concat!(
35529            "Offset of field: ",
35530            stringify!(_packet_info),
35531            "::",
35532            stringify!(abs_ts)
35533        )
35534    );
35535    assert_eq!(
35536        unsafe { ::std::ptr::addr_of!((*ptr).rel_ts) as usize - ptr as usize },
35537        40usize,
35538        concat!(
35539            "Offset of field: ",
35540            stringify!(_packet_info),
35541            "::",
35542            stringify!(rel_ts)
35543        )
35544    );
35545    assert_eq!(
35546        unsafe { ::std::ptr::addr_of!((*ptr).fd) as usize - ptr as usize },
35547        56usize,
35548        concat!(
35549            "Offset of field: ",
35550            stringify!(_packet_info),
35551            "::",
35552            stringify!(fd)
35553        )
35554    );
35555    assert_eq!(
35556        unsafe { ::std::ptr::addr_of!((*ptr).pseudo_header) as usize - ptr as usize },
35557        64usize,
35558        concat!(
35559            "Offset of field: ",
35560            stringify!(_packet_info),
35561            "::",
35562            stringify!(pseudo_header)
35563        )
35564    );
35565    assert_eq!(
35566        unsafe { ::std::ptr::addr_of!((*ptr).rec) as usize - ptr as usize },
35567        72usize,
35568        concat!(
35569            "Offset of field: ",
35570            stringify!(_packet_info),
35571            "::",
35572            stringify!(rec)
35573        )
35574    );
35575    assert_eq!(
35576        unsafe { ::std::ptr::addr_of!((*ptr).data_src) as usize - ptr as usize },
35577        80usize,
35578        concat!(
35579            "Offset of field: ",
35580            stringify!(_packet_info),
35581            "::",
35582            stringify!(data_src)
35583        )
35584    );
35585    assert_eq!(
35586        unsafe { ::std::ptr::addr_of!((*ptr).dl_src) as usize - ptr as usize },
35587        88usize,
35588        concat!(
35589            "Offset of field: ",
35590            stringify!(_packet_info),
35591            "::",
35592            stringify!(dl_src)
35593        )
35594    );
35595    assert_eq!(
35596        unsafe { ::std::ptr::addr_of!((*ptr).dl_dst) as usize - ptr as usize },
35597        112usize,
35598        concat!(
35599            "Offset of field: ",
35600            stringify!(_packet_info),
35601            "::",
35602            stringify!(dl_dst)
35603        )
35604    );
35605    assert_eq!(
35606        unsafe { ::std::ptr::addr_of!((*ptr).net_src) as usize - ptr as usize },
35607        136usize,
35608        concat!(
35609            "Offset of field: ",
35610            stringify!(_packet_info),
35611            "::",
35612            stringify!(net_src)
35613        )
35614    );
35615    assert_eq!(
35616        unsafe { ::std::ptr::addr_of!((*ptr).net_dst) as usize - ptr as usize },
35617        160usize,
35618        concat!(
35619            "Offset of field: ",
35620            stringify!(_packet_info),
35621            "::",
35622            stringify!(net_dst)
35623        )
35624    );
35625    assert_eq!(
35626        unsafe { ::std::ptr::addr_of!((*ptr).src) as usize - ptr as usize },
35627        184usize,
35628        concat!(
35629            "Offset of field: ",
35630            stringify!(_packet_info),
35631            "::",
35632            stringify!(src)
35633        )
35634    );
35635    assert_eq!(
35636        unsafe { ::std::ptr::addr_of!((*ptr).dst) as usize - ptr as usize },
35637        208usize,
35638        concat!(
35639            "Offset of field: ",
35640            stringify!(_packet_info),
35641            "::",
35642            stringify!(dst)
35643        )
35644    );
35645    assert_eq!(
35646        unsafe { ::std::ptr::addr_of!((*ptr).vlan_id) as usize - ptr as usize },
35647        232usize,
35648        concat!(
35649            "Offset of field: ",
35650            stringify!(_packet_info),
35651            "::",
35652            stringify!(vlan_id)
35653        )
35654    );
35655    assert_eq!(
35656        unsafe { ::std::ptr::addr_of!((*ptr).noreassembly_reason) as usize - ptr as usize },
35657        240usize,
35658        concat!(
35659            "Offset of field: ",
35660            stringify!(_packet_info),
35661            "::",
35662            stringify!(noreassembly_reason)
35663        )
35664    );
35665    assert_eq!(
35666        unsafe { ::std::ptr::addr_of!((*ptr).fragmented) as usize - ptr as usize },
35667        248usize,
35668        concat!(
35669            "Offset of field: ",
35670            stringify!(_packet_info),
35671            "::",
35672            stringify!(fragmented)
35673        )
35674    );
35675    assert_eq!(
35676        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
35677        252usize,
35678        concat!(
35679            "Offset of field: ",
35680            stringify!(_packet_info),
35681            "::",
35682            stringify!(flags)
35683        )
35684    );
35685    assert_eq!(
35686        unsafe { ::std::ptr::addr_of!((*ptr).ptype) as usize - ptr as usize },
35687        256usize,
35688        concat!(
35689            "Offset of field: ",
35690            stringify!(_packet_info),
35691            "::",
35692            stringify!(ptype)
35693        )
35694    );
35695    assert_eq!(
35696        unsafe { ::std::ptr::addr_of!((*ptr).srcport) as usize - ptr as usize },
35697        260usize,
35698        concat!(
35699            "Offset of field: ",
35700            stringify!(_packet_info),
35701            "::",
35702            stringify!(srcport)
35703        )
35704    );
35705    assert_eq!(
35706        unsafe { ::std::ptr::addr_of!((*ptr).destport) as usize - ptr as usize },
35707        264usize,
35708        concat!(
35709            "Offset of field: ",
35710            stringify!(_packet_info),
35711            "::",
35712            stringify!(destport)
35713        )
35714    );
35715    assert_eq!(
35716        unsafe { ::std::ptr::addr_of!((*ptr).match_uint) as usize - ptr as usize },
35717        268usize,
35718        concat!(
35719            "Offset of field: ",
35720            stringify!(_packet_info),
35721            "::",
35722            stringify!(match_uint)
35723        )
35724    );
35725    assert_eq!(
35726        unsafe { ::std::ptr::addr_of!((*ptr).match_string) as usize - ptr as usize },
35727        272usize,
35728        concat!(
35729            "Offset of field: ",
35730            stringify!(_packet_info),
35731            "::",
35732            stringify!(match_string)
35733        )
35734    );
35735    assert_eq!(
35736        unsafe {
35737            ::std::ptr::addr_of!((*ptr).use_conv_addr_port_endpoints) as usize - ptr as usize
35738        },
35739        280usize,
35740        concat!(
35741            "Offset of field: ",
35742            stringify!(_packet_info),
35743            "::",
35744            stringify!(use_conv_addr_port_endpoints)
35745        )
35746    );
35747    assert_eq!(
35748        unsafe { ::std::ptr::addr_of!((*ptr).conv_addr_port_endpoints) as usize - ptr as usize },
35749        288usize,
35750        concat!(
35751            "Offset of field: ",
35752            stringify!(_packet_info),
35753            "::",
35754            stringify!(conv_addr_port_endpoints)
35755        )
35756    );
35757    assert_eq!(
35758        unsafe { ::std::ptr::addr_of!((*ptr).conv_elements) as usize - ptr as usize },
35759        296usize,
35760        concat!(
35761            "Offset of field: ",
35762            stringify!(_packet_info),
35763            "::",
35764            stringify!(conv_elements)
35765        )
35766    );
35767    assert_eq!(
35768        unsafe { ::std::ptr::addr_of!((*ptr).can_desegment) as usize - ptr as usize },
35769        304usize,
35770        concat!(
35771            "Offset of field: ",
35772            stringify!(_packet_info),
35773            "::",
35774            stringify!(can_desegment)
35775        )
35776    );
35777    assert_eq!(
35778        unsafe { ::std::ptr::addr_of!((*ptr).saved_can_desegment) as usize - ptr as usize },
35779        306usize,
35780        concat!(
35781            "Offset of field: ",
35782            stringify!(_packet_info),
35783            "::",
35784            stringify!(saved_can_desegment)
35785        )
35786    );
35787    assert_eq!(
35788        unsafe { ::std::ptr::addr_of!((*ptr).desegment_offset) as usize - ptr as usize },
35789        308usize,
35790        concat!(
35791            "Offset of field: ",
35792            stringify!(_packet_info),
35793            "::",
35794            stringify!(desegment_offset)
35795        )
35796    );
35797    assert_eq!(
35798        unsafe { ::std::ptr::addr_of!((*ptr).desegment_len) as usize - ptr as usize },
35799        312usize,
35800        concat!(
35801            "Offset of field: ",
35802            stringify!(_packet_info),
35803            "::",
35804            stringify!(desegment_len)
35805        )
35806    );
35807    assert_eq!(
35808        unsafe { ::std::ptr::addr_of!((*ptr).want_pdu_tracking) as usize - ptr as usize },
35809        316usize,
35810        concat!(
35811            "Offset of field: ",
35812            stringify!(_packet_info),
35813            "::",
35814            stringify!(want_pdu_tracking)
35815        )
35816    );
35817    assert_eq!(
35818        unsafe { ::std::ptr::addr_of!((*ptr).bytes_until_next_pdu) as usize - ptr as usize },
35819        320usize,
35820        concat!(
35821            "Offset of field: ",
35822            stringify!(_packet_info),
35823            "::",
35824            stringify!(bytes_until_next_pdu)
35825        )
35826    );
35827    assert_eq!(
35828        unsafe { ::std::ptr::addr_of!((*ptr).p2p_dir) as usize - ptr as usize },
35829        324usize,
35830        concat!(
35831            "Offset of field: ",
35832            stringify!(_packet_info),
35833            "::",
35834            stringify!(p2p_dir)
35835        )
35836    );
35837    assert_eq!(
35838        unsafe { ::std::ptr::addr_of!((*ptr).private_table) as usize - ptr as usize },
35839        328usize,
35840        concat!(
35841            "Offset of field: ",
35842            stringify!(_packet_info),
35843            "::",
35844            stringify!(private_table)
35845        )
35846    );
35847    assert_eq!(
35848        unsafe { ::std::ptr::addr_of!((*ptr).layers) as usize - ptr as usize },
35849        336usize,
35850        concat!(
35851            "Offset of field: ",
35852            stringify!(_packet_info),
35853            "::",
35854            stringify!(layers)
35855        )
35856    );
35857    assert_eq!(
35858        unsafe { ::std::ptr::addr_of!((*ptr).proto_layers) as usize - ptr as usize },
35859        344usize,
35860        concat!(
35861            "Offset of field: ",
35862            stringify!(_packet_info),
35863            "::",
35864            stringify!(proto_layers)
35865        )
35866    );
35867    assert_eq!(
35868        unsafe { ::std::ptr::addr_of!((*ptr).curr_layer_num) as usize - ptr as usize },
35869        352usize,
35870        concat!(
35871            "Offset of field: ",
35872            stringify!(_packet_info),
35873            "::",
35874            stringify!(curr_layer_num)
35875        )
35876    );
35877    assert_eq!(
35878        unsafe { ::std::ptr::addr_of!((*ptr).curr_proto_layer_num) as usize - ptr as usize },
35879        353usize,
35880        concat!(
35881            "Offset of field: ",
35882            stringify!(_packet_info),
35883            "::",
35884            stringify!(curr_proto_layer_num)
35885        )
35886    );
35887    assert_eq!(
35888        unsafe { ::std::ptr::addr_of!((*ptr).link_number) as usize - ptr as usize },
35889        354usize,
35890        concat!(
35891            "Offset of field: ",
35892            stringify!(_packet_info),
35893            "::",
35894            stringify!(link_number)
35895        )
35896    );
35897    assert_eq!(
35898        unsafe { ::std::ptr::addr_of!((*ptr).clnp_srcref) as usize - ptr as usize },
35899        356usize,
35900        concat!(
35901            "Offset of field: ",
35902            stringify!(_packet_info),
35903            "::",
35904            stringify!(clnp_srcref)
35905        )
35906    );
35907    assert_eq!(
35908        unsafe { ::std::ptr::addr_of!((*ptr).clnp_dstref) as usize - ptr as usize },
35909        358usize,
35910        concat!(
35911            "Offset of field: ",
35912            stringify!(_packet_info),
35913            "::",
35914            stringify!(clnp_dstref)
35915        )
35916    );
35917    assert_eq!(
35918        unsafe { ::std::ptr::addr_of!((*ptr).link_dir) as usize - ptr as usize },
35919        360usize,
35920        concat!(
35921            "Offset of field: ",
35922            stringify!(_packet_info),
35923            "::",
35924            stringify!(link_dir)
35925        )
35926    );
35927    assert_eq!(
35928        unsafe { ::std::ptr::addr_of!((*ptr).src_win_scale) as usize - ptr as usize },
35929        364usize,
35930        concat!(
35931            "Offset of field: ",
35932            stringify!(_packet_info),
35933            "::",
35934            stringify!(src_win_scale)
35935        )
35936    );
35937    assert_eq!(
35938        unsafe { ::std::ptr::addr_of!((*ptr).dst_win_scale) as usize - ptr as usize },
35939        366usize,
35940        concat!(
35941            "Offset of field: ",
35942            stringify!(_packet_info),
35943            "::",
35944            stringify!(dst_win_scale)
35945        )
35946    );
35947    assert_eq!(
35948        unsafe { ::std::ptr::addr_of!((*ptr).proto_data) as usize - ptr as usize },
35949        368usize,
35950        concat!(
35951            "Offset of field: ",
35952            stringify!(_packet_info),
35953            "::",
35954            stringify!(proto_data)
35955        )
35956    );
35957    assert_eq!(
35958        unsafe { ::std::ptr::addr_of!((*ptr).dependent_frames) as usize - ptr as usize },
35959        376usize,
35960        concat!(
35961            "Offset of field: ",
35962            stringify!(_packet_info),
35963            "::",
35964            stringify!(dependent_frames)
35965        )
35966    );
35967    assert_eq!(
35968        unsafe { ::std::ptr::addr_of!((*ptr).frame_end_routines) as usize - ptr as usize },
35969        384usize,
35970        concat!(
35971            "Offset of field: ",
35972            stringify!(_packet_info),
35973            "::",
35974            stringify!(frame_end_routines)
35975        )
35976    );
35977    assert_eq!(
35978        unsafe { ::std::ptr::addr_of!((*ptr).pool) as usize - ptr as usize },
35979        392usize,
35980        concat!(
35981            "Offset of field: ",
35982            stringify!(_packet_info),
35983            "::",
35984            stringify!(pool)
35985        )
35986    );
35987    assert_eq!(
35988        unsafe { ::std::ptr::addr_of!((*ptr).epan) as usize - ptr as usize },
35989        400usize,
35990        concat!(
35991            "Offset of field: ",
35992            stringify!(_packet_info),
35993            "::",
35994            stringify!(epan)
35995        )
35996    );
35997    assert_eq!(
35998        unsafe { ::std::ptr::addr_of!((*ptr).heur_list_name) as usize - ptr as usize },
35999        408usize,
36000        concat!(
36001            "Offset of field: ",
36002            stringify!(_packet_info),
36003            "::",
36004            stringify!(heur_list_name)
36005        )
36006    );
36007}
36008pub type packet_info = _packet_info;
36009#[repr(C)]
36010#[derive(Debug, Copy, Clone)]
36011pub struct _ws_regex {
36012    _unused: [u8; 0],
36013}
36014pub type ws_regex_t = _ws_regex;
36015extern "C" {
36016    pub fn ws_regex_compile(
36017        patt: *const ::std::os::raw::c_char,
36018        errmsg: *mut *mut ::std::os::raw::c_char,
36019    ) -> *mut ws_regex_t;
36020}
36021extern "C" {
36022    pub fn ws_regex_compile_ex(
36023        patt: *const ::std::os::raw::c_char,
36024        size: isize,
36025        errmsg: *mut *mut ::std::os::raw::c_char,
36026        flags: ::std::os::raw::c_uint,
36027    ) -> *mut ws_regex_t;
36028}
36029extern "C" {
36030    pub fn ws_regex_matches(re: *const ws_regex_t, subj: *const ::std::os::raw::c_char) -> bool;
36031}
36032extern "C" {
36033    pub fn ws_regex_matches_length(
36034        re: *const ws_regex_t,
36035        subj: *const ::std::os::raw::c_char,
36036        subj_length: isize,
36037    ) -> bool;
36038}
36039extern "C" {
36040    pub fn ws_regex_matches_pos(
36041        re: *const ws_regex_t,
36042        subj: *const ::std::os::raw::c_char,
36043        subj_length: isize,
36044        pos_vect: *mut usize,
36045    ) -> bool;
36046}
36047extern "C" {
36048    pub fn ws_regex_free(re: *mut ws_regex_t);
36049}
36050extern "C" {
36051    pub fn ws_regex_pattern(re: *const ws_regex_t) -> *const ::std::os::raw::c_char;
36052}
36053pub const ftenum_FT_NONE: ftenum = 0;
36054pub const ftenum_FT_PROTOCOL: ftenum = 1;
36055pub const ftenum_FT_BOOLEAN: ftenum = 2;
36056pub const ftenum_FT_CHAR: ftenum = 3;
36057pub const ftenum_FT_UINT8: ftenum = 4;
36058pub const ftenum_FT_UINT16: ftenum = 5;
36059pub const ftenum_FT_UINT24: ftenum = 6;
36060pub const ftenum_FT_UINT32: ftenum = 7;
36061pub const ftenum_FT_UINT40: ftenum = 8;
36062pub const ftenum_FT_UINT48: ftenum = 9;
36063pub const ftenum_FT_UINT56: ftenum = 10;
36064pub const ftenum_FT_UINT64: ftenum = 11;
36065pub const ftenum_FT_INT8: ftenum = 12;
36066pub const ftenum_FT_INT16: ftenum = 13;
36067pub const ftenum_FT_INT24: ftenum = 14;
36068pub const ftenum_FT_INT32: ftenum = 15;
36069pub const ftenum_FT_INT40: ftenum = 16;
36070pub const ftenum_FT_INT48: ftenum = 17;
36071pub const ftenum_FT_INT56: ftenum = 18;
36072pub const ftenum_FT_INT64: ftenum = 19;
36073pub const ftenum_FT_IEEE_11073_SFLOAT: ftenum = 20;
36074pub const ftenum_FT_IEEE_11073_FLOAT: ftenum = 21;
36075pub const ftenum_FT_FLOAT: ftenum = 22;
36076pub const ftenum_FT_DOUBLE: ftenum = 23;
36077pub const ftenum_FT_ABSOLUTE_TIME: ftenum = 24;
36078pub const ftenum_FT_RELATIVE_TIME: ftenum = 25;
36079pub const ftenum_FT_STRING: ftenum = 26;
36080pub const ftenum_FT_STRINGZ: ftenum = 27;
36081pub const ftenum_FT_UINT_STRING: ftenum = 28;
36082pub const ftenum_FT_ETHER: ftenum = 29;
36083pub const ftenum_FT_BYTES: ftenum = 30;
36084pub const ftenum_FT_UINT_BYTES: ftenum = 31;
36085pub const ftenum_FT_IPv4: ftenum = 32;
36086pub const ftenum_FT_IPv6: ftenum = 33;
36087pub const ftenum_FT_IPXNET: ftenum = 34;
36088pub const ftenum_FT_FRAMENUM: ftenum = 35;
36089pub const ftenum_FT_GUID: ftenum = 36;
36090pub const ftenum_FT_OID: ftenum = 37;
36091pub const ftenum_FT_EUI64: ftenum = 38;
36092pub const ftenum_FT_AX25: ftenum = 39;
36093pub const ftenum_FT_VINES: ftenum = 40;
36094pub const ftenum_FT_REL_OID: ftenum = 41;
36095pub const ftenum_FT_SYSTEM_ID: ftenum = 42;
36096pub const ftenum_FT_STRINGZPAD: ftenum = 43;
36097pub const ftenum_FT_FCWWN: ftenum = 44;
36098pub const ftenum_FT_STRINGZTRUNC: ftenum = 45;
36099pub const ftenum_FT_NUM_TYPES: ftenum = 46;
36100pub type ftenum = ::std::os::raw::c_uint;
36101pub use self::ftenum as ftenum_t;
36102pub const ft_framenum_type_FT_FRAMENUM_NONE: ft_framenum_type = 0;
36103pub const ft_framenum_type_FT_FRAMENUM_REQUEST: ft_framenum_type = 1;
36104pub const ft_framenum_type_FT_FRAMENUM_RESPONSE: ft_framenum_type = 2;
36105pub const ft_framenum_type_FT_FRAMENUM_ACK: ft_framenum_type = 3;
36106pub const ft_framenum_type_FT_FRAMENUM_DUP_ACK: ft_framenum_type = 4;
36107pub const ft_framenum_type_FT_FRAMENUM_RETRANS_PREV: ft_framenum_type = 5;
36108pub const ft_framenum_type_FT_FRAMENUM_RETRANS_NEXT: ft_framenum_type = 6;
36109pub const ft_framenum_type_FT_FRAMENUM_NUM_TYPES: ft_framenum_type = 7;
36110pub type ft_framenum_type = ::std::os::raw::c_uint;
36111pub use self::ft_framenum_type as ft_framenum_type_t;
36112#[repr(C)]
36113#[derive(Debug, Copy, Clone)]
36114pub struct _ftype_t {
36115    _unused: [u8; 0],
36116}
36117pub type ftype_t = _ftype_t;
36118pub const ft_result_FT_OK: ft_result = 0;
36119pub const ft_result_FT_OVERFLOW: ft_result = 1;
36120pub const ft_result_FT_BADARG: ft_result = 2;
36121pub const ft_result_FT_ERROR: ft_result = 3;
36122pub type ft_result = ::std::os::raw::c_uint;
36123pub type ft_bool_t = ::std::os::raw::c_int;
36124pub const ftrepr_FTREPR_DISPLAY: ftrepr = 0;
36125pub const ftrepr_FTREPR_DFILTER: ftrepr = 1;
36126pub type ftrepr = ::std::os::raw::c_uint;
36127pub use self::ftrepr as ftrepr_t;
36128extern "C" {
36129    pub fn ftypes_initialize();
36130}
36131extern "C" {
36132    pub fn ftypes_register_pseudofields();
36133}
36134extern "C" {
36135    pub fn ftype_similar_types(ftype_a: ftenum, ftype_b: ftenum) -> gboolean;
36136}
36137extern "C" {
36138    pub fn ftype_name(ftype: ftenum_t) -> *const ::std::os::raw::c_char;
36139}
36140extern "C" {
36141    pub fn ftype_pretty_name(ftype: ftenum_t) -> *const ::std::os::raw::c_char;
36142}
36143extern "C" {
36144    pub fn ftype_length(ftype: ftenum_t) -> ::std::os::raw::c_int;
36145}
36146extern "C" {
36147    pub fn ftype_can_slice(ftype: ftenum) -> gboolean;
36148}
36149extern "C" {
36150    pub fn ftype_can_eq(ftype: ftenum) -> gboolean;
36151}
36152extern "C" {
36153    pub fn ftype_can_cmp(ftype: ftenum) -> gboolean;
36154}
36155extern "C" {
36156    pub fn ftype_can_bitwise_and(ftype: ftenum) -> gboolean;
36157}
36158extern "C" {
36159    pub fn ftype_can_unary_minus(ftype: ftenum) -> gboolean;
36160}
36161extern "C" {
36162    pub fn ftype_can_add(ftype: ftenum) -> gboolean;
36163}
36164extern "C" {
36165    pub fn ftype_can_subtract(ftype: ftenum) -> gboolean;
36166}
36167extern "C" {
36168    pub fn ftype_can_multiply(ftype: ftenum) -> gboolean;
36169}
36170extern "C" {
36171    pub fn ftype_can_divide(ftype: ftenum) -> gboolean;
36172}
36173extern "C" {
36174    pub fn ftype_can_modulo(ftype: ftenum) -> gboolean;
36175}
36176extern "C" {
36177    pub fn ftype_can_contains(ftype: ftenum) -> gboolean;
36178}
36179extern "C" {
36180    pub fn ftype_can_matches(ftype: ftenum) -> gboolean;
36181}
36182extern "C" {
36183    pub fn ftype_can_is_zero(ftype: ftenum) -> gboolean;
36184}
36185extern "C" {
36186    pub fn ftype_can_is_negative(ftype: ftenum) -> gboolean;
36187}
36188extern "C" {
36189    pub fn ftype_can_val_to_sinteger(ftype: ftenum) -> gboolean;
36190}
36191extern "C" {
36192    pub fn ftype_can_val_to_uinteger(ftype: ftenum) -> gboolean;
36193}
36194extern "C" {
36195    pub fn ftype_can_val_to_sinteger64(ftype: ftenum) -> gboolean;
36196}
36197extern "C" {
36198    pub fn ftype_can_val_to_uinteger64(ftype: ftenum) -> gboolean;
36199}
36200pub const drange_node_end_t_DRANGE_NODE_END_T_UNINITIALIZED: drange_node_end_t = 0;
36201pub const drange_node_end_t_DRANGE_NODE_END_T_LENGTH: drange_node_end_t = 1;
36202pub const drange_node_end_t_DRANGE_NODE_END_T_OFFSET: drange_node_end_t = 2;
36203pub const drange_node_end_t_DRANGE_NODE_END_T_TO_THE_END: drange_node_end_t = 3;
36204pub type drange_node_end_t = ::std::os::raw::c_uint;
36205#[repr(C)]
36206#[derive(Debug, Copy, Clone)]
36207pub struct _drange_node {
36208    pub start_offset: gint,
36209    pub length: gint,
36210    pub end_offset: gint,
36211    pub ending: drange_node_end_t,
36212}
36213#[test]
36214fn bindgen_test_layout__drange_node() {
36215    const UNINIT: ::std::mem::MaybeUninit<_drange_node> = ::std::mem::MaybeUninit::uninit();
36216    let ptr = UNINIT.as_ptr();
36217    assert_eq!(
36218        ::std::mem::size_of::<_drange_node>(),
36219        16usize,
36220        concat!("Size of: ", stringify!(_drange_node))
36221    );
36222    assert_eq!(
36223        ::std::mem::align_of::<_drange_node>(),
36224        4usize,
36225        concat!("Alignment of ", stringify!(_drange_node))
36226    );
36227    assert_eq!(
36228        unsafe { ::std::ptr::addr_of!((*ptr).start_offset) as usize - ptr as usize },
36229        0usize,
36230        concat!(
36231            "Offset of field: ",
36232            stringify!(_drange_node),
36233            "::",
36234            stringify!(start_offset)
36235        )
36236    );
36237    assert_eq!(
36238        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
36239        4usize,
36240        concat!(
36241            "Offset of field: ",
36242            stringify!(_drange_node),
36243            "::",
36244            stringify!(length)
36245        )
36246    );
36247    assert_eq!(
36248        unsafe { ::std::ptr::addr_of!((*ptr).end_offset) as usize - ptr as usize },
36249        8usize,
36250        concat!(
36251            "Offset of field: ",
36252            stringify!(_drange_node),
36253            "::",
36254            stringify!(end_offset)
36255        )
36256    );
36257    assert_eq!(
36258        unsafe { ::std::ptr::addr_of!((*ptr).ending) as usize - ptr as usize },
36259        12usize,
36260        concat!(
36261            "Offset of field: ",
36262            stringify!(_drange_node),
36263            "::",
36264            stringify!(ending)
36265        )
36266    );
36267}
36268pub type drange_node = _drange_node;
36269#[repr(C)]
36270#[derive(Debug, Copy, Clone)]
36271pub struct _drange {
36272    pub range_list: *mut GSList,
36273    pub has_total_length: gboolean,
36274    pub total_length: gint,
36275    pub min_start_offset: gint,
36276    pub max_start_offset: gint,
36277}
36278#[test]
36279fn bindgen_test_layout__drange() {
36280    const UNINIT: ::std::mem::MaybeUninit<_drange> = ::std::mem::MaybeUninit::uninit();
36281    let ptr = UNINIT.as_ptr();
36282    assert_eq!(
36283        ::std::mem::size_of::<_drange>(),
36284        24usize,
36285        concat!("Size of: ", stringify!(_drange))
36286    );
36287    assert_eq!(
36288        ::std::mem::align_of::<_drange>(),
36289        8usize,
36290        concat!("Alignment of ", stringify!(_drange))
36291    );
36292    assert_eq!(
36293        unsafe { ::std::ptr::addr_of!((*ptr).range_list) as usize - ptr as usize },
36294        0usize,
36295        concat!(
36296            "Offset of field: ",
36297            stringify!(_drange),
36298            "::",
36299            stringify!(range_list)
36300        )
36301    );
36302    assert_eq!(
36303        unsafe { ::std::ptr::addr_of!((*ptr).has_total_length) as usize - ptr as usize },
36304        8usize,
36305        concat!(
36306            "Offset of field: ",
36307            stringify!(_drange),
36308            "::",
36309            stringify!(has_total_length)
36310        )
36311    );
36312    assert_eq!(
36313        unsafe { ::std::ptr::addr_of!((*ptr).total_length) as usize - ptr as usize },
36314        12usize,
36315        concat!(
36316            "Offset of field: ",
36317            stringify!(_drange),
36318            "::",
36319            stringify!(total_length)
36320        )
36321    );
36322    assert_eq!(
36323        unsafe { ::std::ptr::addr_of!((*ptr).min_start_offset) as usize - ptr as usize },
36324        16usize,
36325        concat!(
36326            "Offset of field: ",
36327            stringify!(_drange),
36328            "::",
36329            stringify!(min_start_offset)
36330        )
36331    );
36332    assert_eq!(
36333        unsafe { ::std::ptr::addr_of!((*ptr).max_start_offset) as usize - ptr as usize },
36334        20usize,
36335        concat!(
36336            "Offset of field: ",
36337            stringify!(_drange),
36338            "::",
36339            stringify!(max_start_offset)
36340        )
36341    );
36342}
36343pub type drange_t = _drange;
36344extern "C" {
36345    pub fn drange_node_new() -> *mut drange_node;
36346}
36347extern "C" {
36348    pub fn drange_node_from_str(
36349        range_str: *const ::std::os::raw::c_char,
36350        err_ptr: *mut *mut ::std::os::raw::c_char,
36351    ) -> *mut drange_node;
36352}
36353extern "C" {
36354    pub fn drange_node_free(drnode: *mut drange_node);
36355}
36356extern "C" {
36357    pub fn drange_node_free_list(list: *mut GSList);
36358}
36359extern "C" {
36360    pub fn drange_node_get_start_offset(drnode: *mut drange_node) -> gint;
36361}
36362extern "C" {
36363    pub fn drange_node_get_length(drnode: *mut drange_node) -> gint;
36364}
36365extern "C" {
36366    pub fn drange_node_get_end_offset(drnode: *mut drange_node) -> gint;
36367}
36368extern "C" {
36369    pub fn drange_node_get_ending(drnode: *mut drange_node) -> drange_node_end_t;
36370}
36371extern "C" {
36372    pub fn drange_node_set_start_offset(drnode: *mut drange_node, offset: gint);
36373}
36374extern "C" {
36375    pub fn drange_node_set_length(drnode: *mut drange_node, length: gint);
36376}
36377extern "C" {
36378    pub fn drange_node_set_end_offset(drnode: *mut drange_node, offset: gint);
36379}
36380extern "C" {
36381    pub fn drange_node_set_to_the_end(drnode: *mut drange_node);
36382}
36383extern "C" {
36384    pub fn drange_new(drnode: *mut drange_node) -> *mut drange_t;
36385}
36386extern "C" {
36387    pub fn drange_new_from_list(list: *mut GSList) -> *mut drange_t;
36388}
36389extern "C" {
36390    pub fn drange_dup(org: *mut drange_t) -> *mut drange_t;
36391}
36392extern "C" {
36393    pub fn drange_free(dr: *mut drange_t);
36394}
36395extern "C" {
36396    pub fn drange_has_total_length(dr: *mut drange_t) -> gboolean;
36397}
36398extern "C" {
36399    pub fn drange_get_total_length(dr: *mut drange_t) -> gint;
36400}
36401extern "C" {
36402    pub fn drange_get_min_start_offset(dr: *mut drange_t) -> gint;
36403}
36404extern "C" {
36405    pub fn drange_get_max_start_offset(dr: *mut drange_t) -> gint;
36406}
36407extern "C" {
36408    pub fn drange_append_drange_node(dr: *mut drange_t, drnode: *mut drange_node);
36409}
36410extern "C" {
36411    pub fn drange_prepend_drange_node(dr: *mut drange_t, drnode: *mut drange_node);
36412}
36413extern "C" {
36414    pub fn drange_foreach_drange_node(dr: *mut drange_t, func: GFunc, funcdata: gpointer);
36415}
36416extern "C" {
36417    pub fn drange_node_tostr(rn: *const drange_node) -> *mut ::std::os::raw::c_char;
36418}
36419extern "C" {
36420    pub fn drange_tostr(dr: *const drange_t) -> *mut ::std::os::raw::c_char;
36421}
36422#[repr(C)]
36423#[derive(Debug, Copy, Clone)]
36424pub struct _protocol_value_t {
36425    pub tvb: *mut tvbuff_t,
36426    pub length: ::std::os::raw::c_int,
36427    pub proto_string: *mut gchar,
36428    pub tvb_is_private: gboolean,
36429}
36430#[test]
36431fn bindgen_test_layout__protocol_value_t() {
36432    const UNINIT: ::std::mem::MaybeUninit<_protocol_value_t> = ::std::mem::MaybeUninit::uninit();
36433    let ptr = UNINIT.as_ptr();
36434    assert_eq!(
36435        ::std::mem::size_of::<_protocol_value_t>(),
36436        32usize,
36437        concat!("Size of: ", stringify!(_protocol_value_t))
36438    );
36439    assert_eq!(
36440        ::std::mem::align_of::<_protocol_value_t>(),
36441        8usize,
36442        concat!("Alignment of ", stringify!(_protocol_value_t))
36443    );
36444    assert_eq!(
36445        unsafe { ::std::ptr::addr_of!((*ptr).tvb) as usize - ptr as usize },
36446        0usize,
36447        concat!(
36448            "Offset of field: ",
36449            stringify!(_protocol_value_t),
36450            "::",
36451            stringify!(tvb)
36452        )
36453    );
36454    assert_eq!(
36455        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
36456        8usize,
36457        concat!(
36458            "Offset of field: ",
36459            stringify!(_protocol_value_t),
36460            "::",
36461            stringify!(length)
36462        )
36463    );
36464    assert_eq!(
36465        unsafe { ::std::ptr::addr_of!((*ptr).proto_string) as usize - ptr as usize },
36466        16usize,
36467        concat!(
36468            "Offset of field: ",
36469            stringify!(_protocol_value_t),
36470            "::",
36471            stringify!(proto_string)
36472        )
36473    );
36474    assert_eq!(
36475        unsafe { ::std::ptr::addr_of!((*ptr).tvb_is_private) as usize - ptr as usize },
36476        24usize,
36477        concat!(
36478            "Offset of field: ",
36479            stringify!(_protocol_value_t),
36480            "::",
36481            stringify!(tvb_is_private)
36482        )
36483    );
36484}
36485pub type protocol_value_t = _protocol_value_t;
36486#[repr(C)]
36487#[derive(Copy, Clone)]
36488pub struct _fvalue_t {
36489    pub ftype: *mut ftype_t,
36490    pub value: _fvalue_t__bindgen_ty_1,
36491}
36492#[repr(C)]
36493#[derive(Copy, Clone)]
36494pub union _fvalue_t__bindgen_ty_1 {
36495    pub uinteger: guint32,
36496    pub sinteger: gint32,
36497    pub uinteger64: guint64,
36498    pub sinteger64: gint64,
36499    pub floating: gdouble,
36500    pub strbuf: *mut wmem_strbuf_t,
36501    pub bytes: *mut GByteArray,
36502    pub ipv4: ipv4_addr_and_mask,
36503    pub ipv6: ipv6_addr_and_prefix,
36504    pub guid: e_guid_t,
36505    pub time: nstime_t,
36506    pub protocol: protocol_value_t,
36507    pub sfloat_ieee_11073: guint16,
36508    pub float_ieee_11073: guint32,
36509}
36510#[test]
36511fn bindgen_test_layout__fvalue_t__bindgen_ty_1() {
36512    const UNINIT: ::std::mem::MaybeUninit<_fvalue_t__bindgen_ty_1> =
36513        ::std::mem::MaybeUninit::uninit();
36514    let ptr = UNINIT.as_ptr();
36515    assert_eq!(
36516        ::std::mem::size_of::<_fvalue_t__bindgen_ty_1>(),
36517        32usize,
36518        concat!("Size of: ", stringify!(_fvalue_t__bindgen_ty_1))
36519    );
36520    assert_eq!(
36521        ::std::mem::align_of::<_fvalue_t__bindgen_ty_1>(),
36522        8usize,
36523        concat!("Alignment of ", stringify!(_fvalue_t__bindgen_ty_1))
36524    );
36525    assert_eq!(
36526        unsafe { ::std::ptr::addr_of!((*ptr).uinteger) as usize - ptr as usize },
36527        0usize,
36528        concat!(
36529            "Offset of field: ",
36530            stringify!(_fvalue_t__bindgen_ty_1),
36531            "::",
36532            stringify!(uinteger)
36533        )
36534    );
36535    assert_eq!(
36536        unsafe { ::std::ptr::addr_of!((*ptr).sinteger) as usize - ptr as usize },
36537        0usize,
36538        concat!(
36539            "Offset of field: ",
36540            stringify!(_fvalue_t__bindgen_ty_1),
36541            "::",
36542            stringify!(sinteger)
36543        )
36544    );
36545    assert_eq!(
36546        unsafe { ::std::ptr::addr_of!((*ptr).uinteger64) as usize - ptr as usize },
36547        0usize,
36548        concat!(
36549            "Offset of field: ",
36550            stringify!(_fvalue_t__bindgen_ty_1),
36551            "::",
36552            stringify!(uinteger64)
36553        )
36554    );
36555    assert_eq!(
36556        unsafe { ::std::ptr::addr_of!((*ptr).sinteger64) as usize - ptr as usize },
36557        0usize,
36558        concat!(
36559            "Offset of field: ",
36560            stringify!(_fvalue_t__bindgen_ty_1),
36561            "::",
36562            stringify!(sinteger64)
36563        )
36564    );
36565    assert_eq!(
36566        unsafe { ::std::ptr::addr_of!((*ptr).floating) as usize - ptr as usize },
36567        0usize,
36568        concat!(
36569            "Offset of field: ",
36570            stringify!(_fvalue_t__bindgen_ty_1),
36571            "::",
36572            stringify!(floating)
36573        )
36574    );
36575    assert_eq!(
36576        unsafe { ::std::ptr::addr_of!((*ptr).strbuf) as usize - ptr as usize },
36577        0usize,
36578        concat!(
36579            "Offset of field: ",
36580            stringify!(_fvalue_t__bindgen_ty_1),
36581            "::",
36582            stringify!(strbuf)
36583        )
36584    );
36585    assert_eq!(
36586        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
36587        0usize,
36588        concat!(
36589            "Offset of field: ",
36590            stringify!(_fvalue_t__bindgen_ty_1),
36591            "::",
36592            stringify!(bytes)
36593        )
36594    );
36595    assert_eq!(
36596        unsafe { ::std::ptr::addr_of!((*ptr).ipv4) as usize - ptr as usize },
36597        0usize,
36598        concat!(
36599            "Offset of field: ",
36600            stringify!(_fvalue_t__bindgen_ty_1),
36601            "::",
36602            stringify!(ipv4)
36603        )
36604    );
36605    assert_eq!(
36606        unsafe { ::std::ptr::addr_of!((*ptr).ipv6) as usize - ptr as usize },
36607        0usize,
36608        concat!(
36609            "Offset of field: ",
36610            stringify!(_fvalue_t__bindgen_ty_1),
36611            "::",
36612            stringify!(ipv6)
36613        )
36614    );
36615    assert_eq!(
36616        unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize },
36617        0usize,
36618        concat!(
36619            "Offset of field: ",
36620            stringify!(_fvalue_t__bindgen_ty_1),
36621            "::",
36622            stringify!(guid)
36623        )
36624    );
36625    assert_eq!(
36626        unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
36627        0usize,
36628        concat!(
36629            "Offset of field: ",
36630            stringify!(_fvalue_t__bindgen_ty_1),
36631            "::",
36632            stringify!(time)
36633        )
36634    );
36635    assert_eq!(
36636        unsafe { ::std::ptr::addr_of!((*ptr).protocol) as usize - ptr as usize },
36637        0usize,
36638        concat!(
36639            "Offset of field: ",
36640            stringify!(_fvalue_t__bindgen_ty_1),
36641            "::",
36642            stringify!(protocol)
36643        )
36644    );
36645    assert_eq!(
36646        unsafe { ::std::ptr::addr_of!((*ptr).sfloat_ieee_11073) as usize - ptr as usize },
36647        0usize,
36648        concat!(
36649            "Offset of field: ",
36650            stringify!(_fvalue_t__bindgen_ty_1),
36651            "::",
36652            stringify!(sfloat_ieee_11073)
36653        )
36654    );
36655    assert_eq!(
36656        unsafe { ::std::ptr::addr_of!((*ptr).float_ieee_11073) as usize - ptr as usize },
36657        0usize,
36658        concat!(
36659            "Offset of field: ",
36660            stringify!(_fvalue_t__bindgen_ty_1),
36661            "::",
36662            stringify!(float_ieee_11073)
36663        )
36664    );
36665}
36666#[test]
36667fn bindgen_test_layout__fvalue_t() {
36668    const UNINIT: ::std::mem::MaybeUninit<_fvalue_t> = ::std::mem::MaybeUninit::uninit();
36669    let ptr = UNINIT.as_ptr();
36670    assert_eq!(
36671        ::std::mem::size_of::<_fvalue_t>(),
36672        40usize,
36673        concat!("Size of: ", stringify!(_fvalue_t))
36674    );
36675    assert_eq!(
36676        ::std::mem::align_of::<_fvalue_t>(),
36677        8usize,
36678        concat!("Alignment of ", stringify!(_fvalue_t))
36679    );
36680    assert_eq!(
36681        unsafe { ::std::ptr::addr_of!((*ptr).ftype) as usize - ptr as usize },
36682        0usize,
36683        concat!(
36684            "Offset of field: ",
36685            stringify!(_fvalue_t),
36686            "::",
36687            stringify!(ftype)
36688        )
36689    );
36690    assert_eq!(
36691        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
36692        8usize,
36693        concat!(
36694            "Offset of field: ",
36695            stringify!(_fvalue_t),
36696            "::",
36697            stringify!(value)
36698        )
36699    );
36700}
36701pub type fvalue_t = _fvalue_t;
36702extern "C" {
36703    pub fn fvalue_new(ftype: ftenum_t) -> *mut fvalue_t;
36704}
36705extern "C" {
36706    pub fn fvalue_dup(fv: *const fvalue_t) -> *mut fvalue_t;
36707}
36708extern "C" {
36709    pub fn fvalue_init(fv: *mut fvalue_t, ftype: ftenum_t);
36710}
36711extern "C" {
36712    pub fn fvalue_cleanup(fv: *mut fvalue_t);
36713}
36714extern "C" {
36715    pub fn fvalue_free(fv: *mut fvalue_t);
36716}
36717extern "C" {
36718    pub fn fvalue_from_literal(
36719        ftype: ftenum_t,
36720        s: *const ::std::os::raw::c_char,
36721        allow_partial_value: gboolean,
36722        err_msg: *mut *mut gchar,
36723    ) -> *mut fvalue_t;
36724}
36725extern "C" {
36726    pub fn fvalue_from_string(
36727        ftype: ftenum_t,
36728        s: *const ::std::os::raw::c_char,
36729        len: usize,
36730        err_msg: *mut *mut gchar,
36731    ) -> *mut fvalue_t;
36732}
36733extern "C" {
36734    pub fn fvalue_from_charconst(
36735        ftype: ftenum_t,
36736        number: ::std::os::raw::c_ulong,
36737        err_msg: *mut *mut gchar,
36738    ) -> *mut fvalue_t;
36739}
36740extern "C" {
36741    pub fn fvalue_to_string_repr(
36742        scope: *mut wmem_allocator_t,
36743        fv: *const fvalue_t,
36744        rtype: ftrepr_t,
36745        field_display: ::std::os::raw::c_int,
36746    ) -> *mut ::std::os::raw::c_char;
36747}
36748extern "C" {
36749    pub fn fvalue_to_uinteger(fv: *const fvalue_t, repr: *mut guint32) -> ft_result;
36750}
36751extern "C" {
36752    pub fn fvalue_to_sinteger(fv: *const fvalue_t, repr: *mut gint32) -> ft_result;
36753}
36754extern "C" {
36755    pub fn fvalue_to_uinteger64(fv: *const fvalue_t, repr: *mut guint64) -> ft_result;
36756}
36757extern "C" {
36758    pub fn fvalue_to_sinteger64(fv: *const fvalue_t, repr: *mut gint64) -> ft_result;
36759}
36760extern "C" {
36761    pub fn fvalue_type_ftenum(fv: *mut fvalue_t) -> ftenum_t;
36762}
36763extern "C" {
36764    pub fn fvalue_type_name(fv: *const fvalue_t) -> *const ::std::os::raw::c_char;
36765}
36766extern "C" {
36767    pub fn fvalue_set_byte_array(fv: *mut fvalue_t, value: *mut GByteArray);
36768}
36769extern "C" {
36770    pub fn fvalue_set_bytes(fv: *mut fvalue_t, value: *const guint8);
36771}
36772extern "C" {
36773    pub fn fvalue_set_guid(fv: *mut fvalue_t, value: *const e_guid_t);
36774}
36775extern "C" {
36776    pub fn fvalue_set_time(fv: *mut fvalue_t, value: *const nstime_t);
36777}
36778extern "C" {
36779    pub fn fvalue_set_string(fv: *mut fvalue_t, value: *const gchar);
36780}
36781extern "C" {
36782    pub fn fvalue_set_strbuf(fv: *mut fvalue_t, value: *mut wmem_strbuf_t);
36783}
36784extern "C" {
36785    pub fn fvalue_set_protocol(
36786        fv: *mut fvalue_t,
36787        value: *mut tvbuff_t,
36788        name: *const gchar,
36789        length: ::std::os::raw::c_int,
36790    );
36791}
36792extern "C" {
36793    pub fn fvalue_set_uinteger(fv: *mut fvalue_t, value: guint32);
36794}
36795extern "C" {
36796    pub fn fvalue_set_sinteger(fv: *mut fvalue_t, value: gint32);
36797}
36798extern "C" {
36799    pub fn fvalue_set_uinteger64(fv: *mut fvalue_t, value: guint64);
36800}
36801extern "C" {
36802    pub fn fvalue_set_sinteger64(fv: *mut fvalue_t, value: gint64);
36803}
36804extern "C" {
36805    pub fn fvalue_set_floating(fv: *mut fvalue_t, value: gdouble);
36806}
36807extern "C" {
36808    pub fn fvalue_get_bytes(fv: *mut fvalue_t) -> *const guint8;
36809}
36810extern "C" {
36811    pub fn fvalue_get_guid(fv: *mut fvalue_t) -> *const e_guid_t;
36812}
36813extern "C" {
36814    pub fn fvalue_get_time(fv: *mut fvalue_t) -> *const nstime_t;
36815}
36816extern "C" {
36817    pub fn fvalue_get_string(fv: *mut fvalue_t) -> *const ::std::os::raw::c_char;
36818}
36819extern "C" {
36820    pub fn fvalue_get_strbuf(fv: *mut fvalue_t) -> *const wmem_strbuf_t;
36821}
36822extern "C" {
36823    pub fn fvalue_get_protocol(fv: *mut fvalue_t) -> *mut tvbuff_t;
36824}
36825extern "C" {
36826    pub fn fvalue_get_uinteger(fv: *mut fvalue_t) -> guint32;
36827}
36828extern "C" {
36829    pub fn fvalue_get_sinteger(fv: *mut fvalue_t) -> gint32;
36830}
36831extern "C" {
36832    pub fn fvalue_get_uinteger64(fv: *mut fvalue_t) -> guint64;
36833}
36834extern "C" {
36835    pub fn fvalue_get_sinteger64(fv: *mut fvalue_t) -> gint64;
36836}
36837extern "C" {
36838    pub fn fvalue_get_floating(fv: *mut fvalue_t) -> f64;
36839}
36840extern "C" {
36841    pub fn fvalue_eq(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36842}
36843extern "C" {
36844    pub fn fvalue_ne(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36845}
36846extern "C" {
36847    pub fn fvalue_gt(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36848}
36849extern "C" {
36850    pub fn fvalue_ge(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36851}
36852extern "C" {
36853    pub fn fvalue_lt(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36854}
36855extern "C" {
36856    pub fn fvalue_le(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36857}
36858extern "C" {
36859    pub fn fvalue_contains(a: *const fvalue_t, b: *const fvalue_t) -> ft_bool_t;
36860}
36861extern "C" {
36862    pub fn fvalue_matches(a: *const fvalue_t, re: *const ws_regex_t) -> ft_bool_t;
36863}
36864extern "C" {
36865    pub fn fvalue_is_zero(a: *const fvalue_t) -> gboolean;
36866}
36867extern "C" {
36868    pub fn fvalue_is_negative(a: *const fvalue_t) -> gboolean;
36869}
36870extern "C" {
36871    pub fn fvalue_length(fv: *mut fvalue_t) -> guint;
36872}
36873extern "C" {
36874    pub fn fvalue_slice(fv: *mut fvalue_t, dr: *mut drange_t) -> *mut fvalue_t;
36875}
36876extern "C" {
36877    pub fn fvalue_bitwise_and(
36878        a: *const fvalue_t,
36879        b: *const fvalue_t,
36880        err_msg: *mut *mut ::std::os::raw::c_char,
36881    ) -> *mut fvalue_t;
36882}
36883extern "C" {
36884    pub fn fvalue_unary_minus(
36885        fv: *const fvalue_t,
36886        err_msg: *mut *mut ::std::os::raw::c_char,
36887    ) -> *mut fvalue_t;
36888}
36889extern "C" {
36890    pub fn fvalue_add(
36891        a: *const fvalue_t,
36892        b: *const fvalue_t,
36893        err_msg: *mut *mut gchar,
36894    ) -> *mut fvalue_t;
36895}
36896extern "C" {
36897    pub fn fvalue_subtract(
36898        a: *const fvalue_t,
36899        b: *const fvalue_t,
36900        err_msg: *mut *mut gchar,
36901    ) -> *mut fvalue_t;
36902}
36903extern "C" {
36904    pub fn fvalue_multiply(
36905        a: *const fvalue_t,
36906        b: *const fvalue_t,
36907        err_msg: *mut *mut gchar,
36908    ) -> *mut fvalue_t;
36909}
36910extern "C" {
36911    pub fn fvalue_divide(
36912        a: *const fvalue_t,
36913        b: *const fvalue_t,
36914        err_msg: *mut *mut gchar,
36915    ) -> *mut fvalue_t;
36916}
36917extern "C" {
36918    pub fn fvalue_modulo(
36919        a: *const fvalue_t,
36920        b: *const fvalue_t,
36921        err_msg: *mut *mut gchar,
36922    ) -> *mut fvalue_t;
36923}
36924pub const register_action_e_RA_NONE: register_action_e = 0;
36925pub const register_action_e_RA_DISSECTORS: register_action_e = 1;
36926pub const register_action_e_RA_LISTENERS: register_action_e = 2;
36927pub const register_action_e_RA_EXTCAP: register_action_e = 3;
36928pub const register_action_e_RA_REGISTER: register_action_e = 4;
36929pub const register_action_e_RA_PLUGIN_REGISTER: register_action_e = 5;
36930pub const register_action_e_RA_HANDOFF: register_action_e = 6;
36931pub const register_action_e_RA_PLUGIN_HANDOFF: register_action_e = 7;
36932pub const register_action_e_RA_LUA_PLUGINS: register_action_e = 8;
36933pub const register_action_e_RA_LUA_DEREGISTER: register_action_e = 9;
36934pub const register_action_e_RA_PREFERENCES: register_action_e = 10;
36935pub const register_action_e_RA_INTERFACES: register_action_e = 11;
36936pub type register_action_e = ::std::os::raw::c_uint;
36937pub type register_cb = ::std::option::Option<
36938    unsafe extern "C" fn(
36939        action: register_action_e,
36940        message: *const ::std::os::raw::c_char,
36941        client_data: gpointer,
36942    ),
36943>;
36944extern "C" {
36945    pub static mut hf_text_only: ::std::os::raw::c_int;
36946}
36947#[repr(C)]
36948#[derive(Debug, Copy, Clone)]
36949pub struct expert_field {
36950    _unused: [u8; 0],
36951}
36952pub type custom_fmt_func_t =
36953    ::std::option::Option<unsafe extern "C" fn(arg1: *mut gchar, arg2: guint32)>;
36954pub type custom_fmt_func_64_t =
36955    ::std::option::Option<unsafe extern "C" fn(arg1: *mut gchar, arg2: guint64)>;
36956pub type custom_fmt_func_double_t =
36957    ::std::option::Option<unsafe extern "C" fn(arg1: *mut gchar, arg2: f64)>;
36958#[repr(C)]
36959#[derive(Debug, Copy, Clone)]
36960pub struct _protocol {
36961    _unused: [u8; 0],
36962}
36963pub type protocol_t = _protocol;
36964extern "C" {
36965    pub fn proto_report_dissector_bug(format: *const ::std::os::raw::c_char, ...);
36966}
36967pub const field_display_e_BASE_NONE: field_display_e = 0;
36968pub const field_display_e_BASE_DEC: field_display_e = 1;
36969pub const field_display_e_BASE_HEX: field_display_e = 2;
36970pub const field_display_e_BASE_OCT: field_display_e = 3;
36971pub const field_display_e_BASE_DEC_HEX: field_display_e = 4;
36972pub const field_display_e_BASE_HEX_DEC: field_display_e = 5;
36973pub const field_display_e_BASE_CUSTOM: field_display_e = 6;
36974pub const field_display_e_BASE_EXP: field_display_e = 7;
36975pub const field_display_e_SEP_DOT: field_display_e = 8;
36976pub const field_display_e_SEP_DASH: field_display_e = 9;
36977pub const field_display_e_SEP_COLON: field_display_e = 10;
36978pub const field_display_e_SEP_SPACE: field_display_e = 11;
36979pub const field_display_e_BASE_NETMASK: field_display_e = 12;
36980pub const field_display_e_BASE_PT_UDP: field_display_e = 13;
36981pub const field_display_e_BASE_PT_TCP: field_display_e = 14;
36982pub const field_display_e_BASE_PT_DCCP: field_display_e = 15;
36983pub const field_display_e_BASE_PT_SCTP: field_display_e = 16;
36984pub const field_display_e_BASE_OUI: field_display_e = 17;
36985pub const field_display_e_ABSOLUTE_TIME_LOCAL: field_display_e = 18;
36986pub const field_display_e_ABSOLUTE_TIME_UTC: field_display_e = 19;
36987pub const field_display_e_ABSOLUTE_TIME_DOY_UTC: field_display_e = 20;
36988pub const field_display_e_ABSOLUTE_TIME_NTP_UTC: field_display_e = 21;
36989pub type field_display_e = ::std::os::raw::c_uint;
36990pub const hf_ref_type_HF_REF_TYPE_NONE: hf_ref_type = 0;
36991pub const hf_ref_type_HF_REF_TYPE_INDIRECT: hf_ref_type = 1;
36992pub const hf_ref_type_HF_REF_TYPE_DIRECT: hf_ref_type = 2;
36993pub type hf_ref_type = ::std::os::raw::c_uint;
36994pub type header_field_info = _header_field_info;
36995#[repr(C)]
36996#[derive(Debug, Copy, Clone)]
36997pub struct _header_field_info {
36998    pub name: *const ::std::os::raw::c_char,
36999    pub abbrev: *const ::std::os::raw::c_char,
37000    pub type_: ftenum,
37001    pub display: ::std::os::raw::c_int,
37002    pub strings: *const ::std::os::raw::c_void,
37003    pub bitmask: guint64,
37004    pub blurb: *const ::std::os::raw::c_char,
37005    pub id: ::std::os::raw::c_int,
37006    pub parent: ::std::os::raw::c_int,
37007    pub ref_type: hf_ref_type,
37008    pub same_name_prev_id: ::std::os::raw::c_int,
37009    pub same_name_next: *mut header_field_info,
37010}
37011#[test]
37012fn bindgen_test_layout__header_field_info() {
37013    const UNINIT: ::std::mem::MaybeUninit<_header_field_info> = ::std::mem::MaybeUninit::uninit();
37014    let ptr = UNINIT.as_ptr();
37015    assert_eq!(
37016        ::std::mem::size_of::<_header_field_info>(),
37017        72usize,
37018        concat!("Size of: ", stringify!(_header_field_info))
37019    );
37020    assert_eq!(
37021        ::std::mem::align_of::<_header_field_info>(),
37022        8usize,
37023        concat!("Alignment of ", stringify!(_header_field_info))
37024    );
37025    assert_eq!(
37026        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
37027        0usize,
37028        concat!(
37029            "Offset of field: ",
37030            stringify!(_header_field_info),
37031            "::",
37032            stringify!(name)
37033        )
37034    );
37035    assert_eq!(
37036        unsafe { ::std::ptr::addr_of!((*ptr).abbrev) as usize - ptr as usize },
37037        8usize,
37038        concat!(
37039            "Offset of field: ",
37040            stringify!(_header_field_info),
37041            "::",
37042            stringify!(abbrev)
37043        )
37044    );
37045    assert_eq!(
37046        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
37047        16usize,
37048        concat!(
37049            "Offset of field: ",
37050            stringify!(_header_field_info),
37051            "::",
37052            stringify!(type_)
37053        )
37054    );
37055    assert_eq!(
37056        unsafe { ::std::ptr::addr_of!((*ptr).display) as usize - ptr as usize },
37057        20usize,
37058        concat!(
37059            "Offset of field: ",
37060            stringify!(_header_field_info),
37061            "::",
37062            stringify!(display)
37063        )
37064    );
37065    assert_eq!(
37066        unsafe { ::std::ptr::addr_of!((*ptr).strings) as usize - ptr as usize },
37067        24usize,
37068        concat!(
37069            "Offset of field: ",
37070            stringify!(_header_field_info),
37071            "::",
37072            stringify!(strings)
37073        )
37074    );
37075    assert_eq!(
37076        unsafe { ::std::ptr::addr_of!((*ptr).bitmask) as usize - ptr as usize },
37077        32usize,
37078        concat!(
37079            "Offset of field: ",
37080            stringify!(_header_field_info),
37081            "::",
37082            stringify!(bitmask)
37083        )
37084    );
37085    assert_eq!(
37086        unsafe { ::std::ptr::addr_of!((*ptr).blurb) as usize - ptr as usize },
37087        40usize,
37088        concat!(
37089            "Offset of field: ",
37090            stringify!(_header_field_info),
37091            "::",
37092            stringify!(blurb)
37093        )
37094    );
37095    assert_eq!(
37096        unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
37097        48usize,
37098        concat!(
37099            "Offset of field: ",
37100            stringify!(_header_field_info),
37101            "::",
37102            stringify!(id)
37103        )
37104    );
37105    assert_eq!(
37106        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
37107        52usize,
37108        concat!(
37109            "Offset of field: ",
37110            stringify!(_header_field_info),
37111            "::",
37112            stringify!(parent)
37113        )
37114    );
37115    assert_eq!(
37116        unsafe { ::std::ptr::addr_of!((*ptr).ref_type) as usize - ptr as usize },
37117        56usize,
37118        concat!(
37119            "Offset of field: ",
37120            stringify!(_header_field_info),
37121            "::",
37122            stringify!(ref_type)
37123        )
37124    );
37125    assert_eq!(
37126        unsafe { ::std::ptr::addr_of!((*ptr).same_name_prev_id) as usize - ptr as usize },
37127        60usize,
37128        concat!(
37129            "Offset of field: ",
37130            stringify!(_header_field_info),
37131            "::",
37132            stringify!(same_name_prev_id)
37133        )
37134    );
37135    assert_eq!(
37136        unsafe { ::std::ptr::addr_of!((*ptr).same_name_next) as usize - ptr as usize },
37137        64usize,
37138        concat!(
37139            "Offset of field: ",
37140            stringify!(_header_field_info),
37141            "::",
37142            stringify!(same_name_next)
37143        )
37144    );
37145}
37146#[repr(C)]
37147#[derive(Debug, Copy, Clone)]
37148pub struct hf_register_info {
37149    pub p_id: *mut ::std::os::raw::c_int,
37150    pub hfinfo: header_field_info,
37151}
37152#[test]
37153fn bindgen_test_layout_hf_register_info() {
37154    const UNINIT: ::std::mem::MaybeUninit<hf_register_info> = ::std::mem::MaybeUninit::uninit();
37155    let ptr = UNINIT.as_ptr();
37156    assert_eq!(
37157        ::std::mem::size_of::<hf_register_info>(),
37158        80usize,
37159        concat!("Size of: ", stringify!(hf_register_info))
37160    );
37161    assert_eq!(
37162        ::std::mem::align_of::<hf_register_info>(),
37163        8usize,
37164        concat!("Alignment of ", stringify!(hf_register_info))
37165    );
37166    assert_eq!(
37167        unsafe { ::std::ptr::addr_of!((*ptr).p_id) as usize - ptr as usize },
37168        0usize,
37169        concat!(
37170            "Offset of field: ",
37171            stringify!(hf_register_info),
37172            "::",
37173            stringify!(p_id)
37174        )
37175    );
37176    assert_eq!(
37177        unsafe { ::std::ptr::addr_of!((*ptr).hfinfo) as usize - ptr as usize },
37178        8usize,
37179        concat!(
37180            "Offset of field: ",
37181            stringify!(hf_register_info),
37182            "::",
37183            stringify!(hfinfo)
37184        )
37185    );
37186}
37187#[repr(C)]
37188#[derive(Debug, Copy, Clone)]
37189pub struct _item_label_t {
37190    pub representation: [::std::os::raw::c_char; 240usize],
37191}
37192#[test]
37193fn bindgen_test_layout__item_label_t() {
37194    const UNINIT: ::std::mem::MaybeUninit<_item_label_t> = ::std::mem::MaybeUninit::uninit();
37195    let ptr = UNINIT.as_ptr();
37196    assert_eq!(
37197        ::std::mem::size_of::<_item_label_t>(),
37198        240usize,
37199        concat!("Size of: ", stringify!(_item_label_t))
37200    );
37201    assert_eq!(
37202        ::std::mem::align_of::<_item_label_t>(),
37203        1usize,
37204        concat!("Alignment of ", stringify!(_item_label_t))
37205    );
37206    assert_eq!(
37207        unsafe { ::std::ptr::addr_of!((*ptr).representation) as usize - ptr as usize },
37208        0usize,
37209        concat!(
37210            "Offset of field: ",
37211            stringify!(_item_label_t),
37212            "::",
37213            stringify!(representation)
37214        )
37215    );
37216}
37217pub type item_label_t = _item_label_t;
37218#[repr(C)]
37219#[derive(Copy, Clone)]
37220pub struct field_info {
37221    pub hfinfo: *mut header_field_info,
37222    pub start: gint,
37223    pub length: gint,
37224    pub appendix_start: gint,
37225    pub appendix_length: gint,
37226    pub tree_type: gint,
37227    pub flags: guint32,
37228    pub rep: *mut item_label_t,
37229    pub ds_tvb: *mut tvbuff_t,
37230    pub value: fvalue_t,
37231    pub total_layer_num: ::std::os::raw::c_int,
37232    pub proto_layer_num: ::std::os::raw::c_int,
37233}
37234#[test]
37235fn bindgen_test_layout_field_info() {
37236    const UNINIT: ::std::mem::MaybeUninit<field_info> = ::std::mem::MaybeUninit::uninit();
37237    let ptr = UNINIT.as_ptr();
37238    assert_eq!(
37239        ::std::mem::size_of::<field_info>(),
37240        96usize,
37241        concat!("Size of: ", stringify!(field_info))
37242    );
37243    assert_eq!(
37244        ::std::mem::align_of::<field_info>(),
37245        8usize,
37246        concat!("Alignment of ", stringify!(field_info))
37247    );
37248    assert_eq!(
37249        unsafe { ::std::ptr::addr_of!((*ptr).hfinfo) as usize - ptr as usize },
37250        0usize,
37251        concat!(
37252            "Offset of field: ",
37253            stringify!(field_info),
37254            "::",
37255            stringify!(hfinfo)
37256        )
37257    );
37258    assert_eq!(
37259        unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
37260        8usize,
37261        concat!(
37262            "Offset of field: ",
37263            stringify!(field_info),
37264            "::",
37265            stringify!(start)
37266        )
37267    );
37268    assert_eq!(
37269        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
37270        12usize,
37271        concat!(
37272            "Offset of field: ",
37273            stringify!(field_info),
37274            "::",
37275            stringify!(length)
37276        )
37277    );
37278    assert_eq!(
37279        unsafe { ::std::ptr::addr_of!((*ptr).appendix_start) as usize - ptr as usize },
37280        16usize,
37281        concat!(
37282            "Offset of field: ",
37283            stringify!(field_info),
37284            "::",
37285            stringify!(appendix_start)
37286        )
37287    );
37288    assert_eq!(
37289        unsafe { ::std::ptr::addr_of!((*ptr).appendix_length) as usize - ptr as usize },
37290        20usize,
37291        concat!(
37292            "Offset of field: ",
37293            stringify!(field_info),
37294            "::",
37295            stringify!(appendix_length)
37296        )
37297    );
37298    assert_eq!(
37299        unsafe { ::std::ptr::addr_of!((*ptr).tree_type) as usize - ptr as usize },
37300        24usize,
37301        concat!(
37302            "Offset of field: ",
37303            stringify!(field_info),
37304            "::",
37305            stringify!(tree_type)
37306        )
37307    );
37308    assert_eq!(
37309        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
37310        28usize,
37311        concat!(
37312            "Offset of field: ",
37313            stringify!(field_info),
37314            "::",
37315            stringify!(flags)
37316        )
37317    );
37318    assert_eq!(
37319        unsafe { ::std::ptr::addr_of!((*ptr).rep) as usize - ptr as usize },
37320        32usize,
37321        concat!(
37322            "Offset of field: ",
37323            stringify!(field_info),
37324            "::",
37325            stringify!(rep)
37326        )
37327    );
37328    assert_eq!(
37329        unsafe { ::std::ptr::addr_of!((*ptr).ds_tvb) as usize - ptr as usize },
37330        40usize,
37331        concat!(
37332            "Offset of field: ",
37333            stringify!(field_info),
37334            "::",
37335            stringify!(ds_tvb)
37336        )
37337    );
37338    assert_eq!(
37339        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
37340        48usize,
37341        concat!(
37342            "Offset of field: ",
37343            stringify!(field_info),
37344            "::",
37345            stringify!(value)
37346        )
37347    );
37348    assert_eq!(
37349        unsafe { ::std::ptr::addr_of!((*ptr).total_layer_num) as usize - ptr as usize },
37350        88usize,
37351        concat!(
37352            "Offset of field: ",
37353            stringify!(field_info),
37354            "::",
37355            stringify!(total_layer_num)
37356        )
37357    );
37358    assert_eq!(
37359        unsafe { ::std::ptr::addr_of!((*ptr).proto_layer_num) as usize - ptr as usize },
37360        92usize,
37361        concat!(
37362            "Offset of field: ",
37363            stringify!(field_info),
37364            "::",
37365            stringify!(proto_layer_num)
37366        )
37367    );
37368}
37369#[repr(C)]
37370#[derive(Debug, Copy, Clone)]
37371pub struct crumb_spec_t {
37372    pub crumb_bit_offset: guint,
37373    pub crumb_bit_length: guint8,
37374}
37375#[test]
37376fn bindgen_test_layout_crumb_spec_t() {
37377    const UNINIT: ::std::mem::MaybeUninit<crumb_spec_t> = ::std::mem::MaybeUninit::uninit();
37378    let ptr = UNINIT.as_ptr();
37379    assert_eq!(
37380        ::std::mem::size_of::<crumb_spec_t>(),
37381        8usize,
37382        concat!("Size of: ", stringify!(crumb_spec_t))
37383    );
37384    assert_eq!(
37385        ::std::mem::align_of::<crumb_spec_t>(),
37386        4usize,
37387        concat!("Alignment of ", stringify!(crumb_spec_t))
37388    );
37389    assert_eq!(
37390        unsafe { ::std::ptr::addr_of!((*ptr).crumb_bit_offset) as usize - ptr as usize },
37391        0usize,
37392        concat!(
37393            "Offset of field: ",
37394            stringify!(crumb_spec_t),
37395            "::",
37396            stringify!(crumb_bit_offset)
37397        )
37398    );
37399    assert_eq!(
37400        unsafe { ::std::ptr::addr_of!((*ptr).crumb_bit_length) as usize - ptr as usize },
37401        4usize,
37402        concat!(
37403            "Offset of field: ",
37404            stringify!(crumb_spec_t),
37405            "::",
37406            stringify!(crumb_bit_length)
37407        )
37408    );
37409}
37410#[repr(C)]
37411#[derive(Debug, Copy, Clone)]
37412pub struct tree_data_t {
37413    pub interesting_hfids: *mut GHashTable,
37414    pub visible: gboolean,
37415    pub fake_protocols: gboolean,
37416    pub count: guint,
37417    pub pinfo: *mut _packet_info,
37418}
37419#[test]
37420fn bindgen_test_layout_tree_data_t() {
37421    const UNINIT: ::std::mem::MaybeUninit<tree_data_t> = ::std::mem::MaybeUninit::uninit();
37422    let ptr = UNINIT.as_ptr();
37423    assert_eq!(
37424        ::std::mem::size_of::<tree_data_t>(),
37425        32usize,
37426        concat!("Size of: ", stringify!(tree_data_t))
37427    );
37428    assert_eq!(
37429        ::std::mem::align_of::<tree_data_t>(),
37430        8usize,
37431        concat!("Alignment of ", stringify!(tree_data_t))
37432    );
37433    assert_eq!(
37434        unsafe { ::std::ptr::addr_of!((*ptr).interesting_hfids) as usize - ptr as usize },
37435        0usize,
37436        concat!(
37437            "Offset of field: ",
37438            stringify!(tree_data_t),
37439            "::",
37440            stringify!(interesting_hfids)
37441        )
37442    );
37443    assert_eq!(
37444        unsafe { ::std::ptr::addr_of!((*ptr).visible) as usize - ptr as usize },
37445        8usize,
37446        concat!(
37447            "Offset of field: ",
37448            stringify!(tree_data_t),
37449            "::",
37450            stringify!(visible)
37451        )
37452    );
37453    assert_eq!(
37454        unsafe { ::std::ptr::addr_of!((*ptr).fake_protocols) as usize - ptr as usize },
37455        12usize,
37456        concat!(
37457            "Offset of field: ",
37458            stringify!(tree_data_t),
37459            "::",
37460            stringify!(fake_protocols)
37461        )
37462    );
37463    assert_eq!(
37464        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
37465        16usize,
37466        concat!(
37467            "Offset of field: ",
37468            stringify!(tree_data_t),
37469            "::",
37470            stringify!(count)
37471        )
37472    );
37473    assert_eq!(
37474        unsafe { ::std::ptr::addr_of!((*ptr).pinfo) as usize - ptr as usize },
37475        24usize,
37476        concat!(
37477            "Offset of field: ",
37478            stringify!(tree_data_t),
37479            "::",
37480            stringify!(pinfo)
37481        )
37482    );
37483}
37484#[repr(C)]
37485#[derive(Debug, Copy, Clone)]
37486pub struct _proto_node {
37487    pub first_child: *mut _proto_node,
37488    pub last_child: *mut _proto_node,
37489    pub next: *mut _proto_node,
37490    pub parent: *mut _proto_node,
37491    pub finfo: *mut field_info,
37492    pub tree_data: *mut tree_data_t,
37493}
37494#[test]
37495fn bindgen_test_layout__proto_node() {
37496    const UNINIT: ::std::mem::MaybeUninit<_proto_node> = ::std::mem::MaybeUninit::uninit();
37497    let ptr = UNINIT.as_ptr();
37498    assert_eq!(
37499        ::std::mem::size_of::<_proto_node>(),
37500        48usize,
37501        concat!("Size of: ", stringify!(_proto_node))
37502    );
37503    assert_eq!(
37504        ::std::mem::align_of::<_proto_node>(),
37505        8usize,
37506        concat!("Alignment of ", stringify!(_proto_node))
37507    );
37508    assert_eq!(
37509        unsafe { ::std::ptr::addr_of!((*ptr).first_child) as usize - ptr as usize },
37510        0usize,
37511        concat!(
37512            "Offset of field: ",
37513            stringify!(_proto_node),
37514            "::",
37515            stringify!(first_child)
37516        )
37517    );
37518    assert_eq!(
37519        unsafe { ::std::ptr::addr_of!((*ptr).last_child) as usize - ptr as usize },
37520        8usize,
37521        concat!(
37522            "Offset of field: ",
37523            stringify!(_proto_node),
37524            "::",
37525            stringify!(last_child)
37526        )
37527    );
37528    assert_eq!(
37529        unsafe { ::std::ptr::addr_of!((*ptr).next) as usize - ptr as usize },
37530        16usize,
37531        concat!(
37532            "Offset of field: ",
37533            stringify!(_proto_node),
37534            "::",
37535            stringify!(next)
37536        )
37537    );
37538    assert_eq!(
37539        unsafe { ::std::ptr::addr_of!((*ptr).parent) as usize - ptr as usize },
37540        24usize,
37541        concat!(
37542            "Offset of field: ",
37543            stringify!(_proto_node),
37544            "::",
37545            stringify!(parent)
37546        )
37547    );
37548    assert_eq!(
37549        unsafe { ::std::ptr::addr_of!((*ptr).finfo) as usize - ptr as usize },
37550        32usize,
37551        concat!(
37552            "Offset of field: ",
37553            stringify!(_proto_node),
37554            "::",
37555            stringify!(finfo)
37556        )
37557    );
37558    assert_eq!(
37559        unsafe { ::std::ptr::addr_of!((*ptr).tree_data) as usize - ptr as usize },
37560        40usize,
37561        concat!(
37562            "Offset of field: ",
37563            stringify!(_proto_node),
37564            "::",
37565            stringify!(tree_data)
37566        )
37567    );
37568}
37569pub type proto_node = _proto_node;
37570pub type proto_tree = proto_node;
37571pub type proto_item = proto_node;
37572pub type proto_tree_foreach_func =
37573    ::std::option::Option<unsafe extern "C" fn(arg1: *mut proto_node, arg2: gpointer)>;
37574pub type proto_tree_traverse_func =
37575    ::std::option::Option<unsafe extern "C" fn(arg1: *mut proto_node, arg2: gpointer) -> gboolean>;
37576extern "C" {
37577    pub fn proto_tree_children_foreach(
37578        tree: *mut proto_tree,
37579        func: proto_tree_foreach_func,
37580        data: gpointer,
37581    );
37582}
37583#[repr(C)]
37584#[derive(Debug, Copy, Clone)]
37585pub struct proto_plugin {
37586    pub register_protoinfo: ::std::option::Option<unsafe extern "C" fn()>,
37587    pub register_handoff: ::std::option::Option<unsafe extern "C" fn()>,
37588}
37589#[test]
37590fn bindgen_test_layout_proto_plugin() {
37591    const UNINIT: ::std::mem::MaybeUninit<proto_plugin> = ::std::mem::MaybeUninit::uninit();
37592    let ptr = UNINIT.as_ptr();
37593    assert_eq!(
37594        ::std::mem::size_of::<proto_plugin>(),
37595        16usize,
37596        concat!("Size of: ", stringify!(proto_plugin))
37597    );
37598    assert_eq!(
37599        ::std::mem::align_of::<proto_plugin>(),
37600        8usize,
37601        concat!("Alignment of ", stringify!(proto_plugin))
37602    );
37603    assert_eq!(
37604        unsafe { ::std::ptr::addr_of!((*ptr).register_protoinfo) as usize - ptr as usize },
37605        0usize,
37606        concat!(
37607            "Offset of field: ",
37608            stringify!(proto_plugin),
37609            "::",
37610            stringify!(register_protoinfo)
37611        )
37612    );
37613    assert_eq!(
37614        unsafe { ::std::ptr::addr_of!((*ptr).register_handoff) as usize - ptr as usize },
37615        8usize,
37616        concat!(
37617            "Offset of field: ",
37618            stringify!(proto_plugin),
37619            "::",
37620            stringify!(register_handoff)
37621        )
37622    );
37623}
37624extern "C" {
37625    pub fn proto_register_plugin(plugin: *const proto_plugin);
37626}
37627extern "C" {
37628    pub fn proto_init(
37629        register_all_plugin_protocols_list: *mut GSList,
37630        register_all_plugin_handoffs_list: *mut GSList,
37631        cb: register_cb,
37632        client_data: *mut ::std::os::raw::c_void,
37633    );
37634}
37635extern "C" {
37636    pub fn proto_cleanup();
37637}
37638extern "C" {
37639    pub fn proto_field_is_referenced(
37640        tree: *mut proto_tree,
37641        proto_id: ::std::os::raw::c_int,
37642    ) -> gboolean;
37643}
37644extern "C" {
37645    pub fn proto_item_add_subtree(pi: *mut proto_item, idx: gint) -> *mut proto_tree;
37646}
37647extern "C" {
37648    pub fn proto_item_get_subtree(pi: *mut proto_item) -> *mut proto_tree;
37649}
37650extern "C" {
37651    pub fn proto_item_get_parent(pi: *const proto_item) -> *mut proto_item;
37652}
37653extern "C" {
37654    pub fn proto_item_get_parent_nth(
37655        pi: *mut proto_item,
37656        gen: ::std::os::raw::c_int,
37657    ) -> *mut proto_item;
37658}
37659extern "C" {
37660    pub fn proto_item_set_text(pi: *mut proto_item, format: *const ::std::os::raw::c_char, ...);
37661}
37662extern "C" {
37663    pub fn proto_item_append_text(pi: *mut proto_item, format: *const ::std::os::raw::c_char, ...);
37664}
37665extern "C" {
37666    pub fn proto_item_prepend_text(pi: *mut proto_item, format: *const ::std::os::raw::c_char, ...);
37667}
37668extern "C" {
37669    pub fn proto_item_set_len(pi: *mut proto_item, length: gint);
37670}
37671extern "C" {
37672    pub fn proto_item_set_end(pi: *mut proto_item, tvb: *mut tvbuff_t, end: gint);
37673}
37674extern "C" {
37675    pub fn proto_item_get_len(pi: *const proto_item) -> ::std::os::raw::c_int;
37676}
37677extern "C" {
37678    pub fn proto_item_set_bits_offset_len(
37679        ti: *mut proto_item,
37680        bits_offset: ::std::os::raw::c_int,
37681        bits_len: ::std::os::raw::c_int,
37682    );
37683}
37684extern "C" {
37685    pub fn proto_item_get_display_repr(
37686        scope: *mut wmem_allocator_t,
37687        pi: *mut proto_item,
37688    ) -> *mut ::std::os::raw::c_char;
37689}
37690extern "C" {
37691    pub fn proto_tree_create_root(pinfo: *mut _packet_info) -> *mut proto_tree;
37692}
37693extern "C" {
37694    pub fn proto_tree_reset(tree: *mut proto_tree);
37695}
37696extern "C" {
37697    pub fn proto_tree_free(tree: *mut proto_tree);
37698}
37699extern "C" {
37700    pub fn proto_tree_set_visible(tree: *mut proto_tree, visible: gboolean) -> gboolean;
37701}
37702extern "C" {
37703    pub fn proto_tree_set_fake_protocols(tree: *mut proto_tree, fake_protocols: gboolean);
37704}
37705extern "C" {
37706    pub fn proto_tree_prime_with_hfid(tree: *mut proto_tree, hfid: ::std::os::raw::c_int);
37707}
37708extern "C" {
37709    pub fn proto_tree_get_parent(tree: *mut proto_tree) -> *mut proto_item;
37710}
37711extern "C" {
37712    pub fn proto_tree_get_parent_tree(tree: *mut proto_tree) -> *mut proto_tree;
37713}
37714extern "C" {
37715    pub fn proto_tree_get_root(tree: *mut proto_tree) -> *mut proto_tree;
37716}
37717extern "C" {
37718    pub fn proto_tree_move_item(
37719        tree: *mut proto_tree,
37720        fixed_item: *mut proto_item,
37721        item_to_move: *mut proto_item,
37722    );
37723}
37724extern "C" {
37725    pub fn proto_tree_set_appendix(
37726        tree: *mut proto_tree,
37727        tvb: *mut tvbuff_t,
37728        start: gint,
37729        length: gint,
37730    );
37731}
37732extern "C" {
37733    pub fn proto_tree_add_item_new(
37734        tree: *mut proto_tree,
37735        hfinfo: *mut header_field_info,
37736        tvb: *mut tvbuff_t,
37737        start: gint,
37738        length: gint,
37739        encoding: guint,
37740    ) -> *mut proto_item;
37741}
37742extern "C" {
37743    pub fn proto_tree_add_item(
37744        tree: *mut proto_tree,
37745        hfindex: ::std::os::raw::c_int,
37746        tvb: *mut tvbuff_t,
37747        start: gint,
37748        length: gint,
37749        encoding: guint,
37750    ) -> *mut proto_item;
37751}
37752extern "C" {
37753    pub fn proto_tree_add_item_new_ret_length(
37754        tree: *mut proto_tree,
37755        hfinfo: *mut header_field_info,
37756        tvb: *mut tvbuff_t,
37757        start: gint,
37758        length: gint,
37759        encoding: guint,
37760        lenretval: *mut gint,
37761    ) -> *mut proto_item;
37762}
37763extern "C" {
37764    pub fn proto_tree_add_item_ret_length(
37765        tree: *mut proto_tree,
37766        hfindex: ::std::os::raw::c_int,
37767        tvb: *mut tvbuff_t,
37768        start: gint,
37769        length: gint,
37770        encoding: guint,
37771        lenretval: *mut gint,
37772    ) -> *mut proto_item;
37773}
37774extern "C" {
37775    pub fn proto_tree_add_item_ret_int(
37776        tree: *mut proto_tree,
37777        hfindex: ::std::os::raw::c_int,
37778        tvb: *mut tvbuff_t,
37779        start: gint,
37780        length: gint,
37781        encoding: guint,
37782        retval: *mut gint32,
37783    ) -> *mut proto_item;
37784}
37785extern "C" {
37786    pub fn proto_tree_add_item_ret_int64(
37787        tree: *mut proto_tree,
37788        hfindex: ::std::os::raw::c_int,
37789        tvb: *mut tvbuff_t,
37790        start: gint,
37791        length: gint,
37792        encoding: guint,
37793        retval: *mut gint64,
37794    ) -> *mut proto_item;
37795}
37796extern "C" {
37797    pub fn proto_tree_add_item_ret_uint(
37798        tree: *mut proto_tree,
37799        hfindex: ::std::os::raw::c_int,
37800        tvb: *mut tvbuff_t,
37801        start: gint,
37802        length: gint,
37803        encoding: guint,
37804        retval: *mut guint32,
37805    ) -> *mut proto_item;
37806}
37807extern "C" {
37808    pub fn proto_tree_add_item_ret_uint64(
37809        tree: *mut proto_tree,
37810        hfindex: ::std::os::raw::c_int,
37811        tvb: *mut tvbuff_t,
37812        start: gint,
37813        length: gint,
37814        encoding: guint,
37815        retval: *mut guint64,
37816    ) -> *mut proto_item;
37817}
37818extern "C" {
37819    pub fn proto_tree_add_item_ret_varint(
37820        tree: *mut proto_tree,
37821        hfindex: ::std::os::raw::c_int,
37822        tvb: *mut tvbuff_t,
37823        start: gint,
37824        length: gint,
37825        encoding: guint,
37826        retval: *mut guint64,
37827        lenretval: *mut gint,
37828    ) -> *mut proto_item;
37829}
37830extern "C" {
37831    pub fn proto_tree_add_item_ret_boolean(
37832        tree: *mut proto_tree,
37833        hfindex: ::std::os::raw::c_int,
37834        tvb: *mut tvbuff_t,
37835        start: gint,
37836        length: gint,
37837        encoding: guint,
37838        retval: *mut gboolean,
37839    ) -> *mut proto_item;
37840}
37841extern "C" {
37842    pub fn proto_tree_add_item_ret_ipv4(
37843        tree: *mut proto_tree,
37844        hfindex: ::std::os::raw::c_int,
37845        tvb: *mut tvbuff_t,
37846        start: gint,
37847        length: gint,
37848        encoding: guint,
37849        retval: *mut ws_in4_addr,
37850    ) -> *mut proto_item;
37851}
37852extern "C" {
37853    pub fn proto_tree_add_item_ret_string_and_length(
37854        tree: *mut proto_tree,
37855        hfindex: ::std::os::raw::c_int,
37856        tvb: *mut tvbuff_t,
37857        start: gint,
37858        length: gint,
37859        encoding: guint,
37860        scope: *mut wmem_allocator_t,
37861        retval: *mut *const guint8,
37862        lenretval: *mut gint,
37863    ) -> *mut proto_item;
37864}
37865extern "C" {
37866    pub fn proto_tree_add_item_ret_string(
37867        tree: *mut proto_tree,
37868        hfindex: ::std::os::raw::c_int,
37869        tvb: *mut tvbuff_t,
37870        start: gint,
37871        length: gint,
37872        encoding: guint,
37873        scope: *mut wmem_allocator_t,
37874        retval: *mut *const guint8,
37875    ) -> *mut proto_item;
37876}
37877extern "C" {
37878    pub fn proto_tree_add_item_ret_display_string_and_length(
37879        tree: *mut proto_tree,
37880        hfindex: ::std::os::raw::c_int,
37881        tvb: *mut tvbuff_t,
37882        start: gint,
37883        length: gint,
37884        encoding: guint,
37885        scope: *mut wmem_allocator_t,
37886        retval: *mut *mut ::std::os::raw::c_char,
37887        lenretval: *mut gint,
37888    ) -> *mut proto_item;
37889}
37890extern "C" {
37891    pub fn proto_tree_add_item_ret_display_string(
37892        tree: *mut proto_tree,
37893        hfindex: ::std::os::raw::c_int,
37894        tvb: *mut tvbuff_t,
37895        start: gint,
37896        length: gint,
37897        encoding: guint,
37898        scope: *mut wmem_allocator_t,
37899        retval: *mut *mut ::std::os::raw::c_char,
37900    ) -> *mut proto_item;
37901}
37902extern "C" {
37903    pub fn proto_tree_add_item_ret_time_string(
37904        tree: *mut proto_tree,
37905        hfindex: ::std::os::raw::c_int,
37906        tvb: *mut tvbuff_t,
37907        start: gint,
37908        length: gint,
37909        encoding: guint,
37910        scope: *mut wmem_allocator_t,
37911        retval: *mut *mut ::std::os::raw::c_char,
37912    ) -> *mut proto_item;
37913}
37914extern "C" {
37915    pub fn proto_tree_add_text_internal(
37916        tree: *mut proto_tree,
37917        tvb: *mut tvbuff_t,
37918        start: gint,
37919        length: gint,
37920        format: *const ::std::os::raw::c_char,
37921        ...
37922    ) -> *mut proto_item;
37923}
37924extern "C" {
37925    pub fn proto_tree_add_text_valist_internal(
37926        tree: *mut proto_tree,
37927        tvb: *mut tvbuff_t,
37928        start: gint,
37929        length: gint,
37930        format: *const ::std::os::raw::c_char,
37931        ap: *mut __va_list_tag,
37932    ) -> *mut proto_item;
37933}
37934extern "C" {
37935    pub fn proto_tree_add_subtree(
37936        tree: *mut proto_tree,
37937        tvb: *mut tvbuff_t,
37938        start: gint,
37939        length: gint,
37940        idx: gint,
37941        tree_item: *mut *mut proto_item,
37942        text: *const ::std::os::raw::c_char,
37943    ) -> *mut proto_tree;
37944}
37945extern "C" {
37946    pub fn proto_tree_add_subtree_format(
37947        tree: *mut proto_tree,
37948        tvb: *mut tvbuff_t,
37949        start: gint,
37950        length: gint,
37951        idx: gint,
37952        tree_item: *mut *mut proto_item,
37953        format: *const ::std::os::raw::c_char,
37954        ...
37955    ) -> *mut proto_tree;
37956}
37957extern "C" {
37958    pub fn proto_tree_add_format_text(
37959        tree: *mut proto_tree,
37960        tvb: *mut tvbuff_t,
37961        start: gint,
37962        length: gint,
37963    ) -> *mut proto_item;
37964}
37965extern "C" {
37966    pub fn proto_tree_add_format_wsp_text(
37967        tree: *mut proto_tree,
37968        tvb: *mut tvbuff_t,
37969        start: gint,
37970        length: gint,
37971    ) -> *mut proto_item;
37972}
37973extern "C" {
37974    pub fn proto_tree_add_none_format(
37975        tree: *mut proto_tree,
37976        hfindex: ::std::os::raw::c_int,
37977        tvb: *mut tvbuff_t,
37978        start: gint,
37979        length: gint,
37980        format: *const ::std::os::raw::c_char,
37981        ...
37982    ) -> *mut proto_item;
37983}
37984extern "C" {
37985    pub fn proto_tree_add_protocol_format(
37986        tree: *mut proto_tree,
37987        hfindex: ::std::os::raw::c_int,
37988        tvb: *mut tvbuff_t,
37989        start: gint,
37990        length: gint,
37991        format: *const ::std::os::raw::c_char,
37992        ...
37993    ) -> *mut proto_item;
37994}
37995extern "C" {
37996    pub fn proto_tree_add_bytes(
37997        tree: *mut proto_tree,
37998        hfindex: ::std::os::raw::c_int,
37999        tvb: *mut tvbuff_t,
38000        start: gint,
38001        length: gint,
38002        start_ptr: *const guint8,
38003    ) -> *mut proto_item;
38004}
38005extern "C" {
38006    pub fn proto_tree_add_bytes_with_length(
38007        tree: *mut proto_tree,
38008        hfindex: ::std::os::raw::c_int,
38009        tvb: *mut tvbuff_t,
38010        start: gint,
38011        length: gint,
38012        start_ptr: *const guint8,
38013        ptr_length: gint,
38014    ) -> *mut proto_item;
38015}
38016extern "C" {
38017    pub fn proto_tree_add_bytes_item(
38018        tree: *mut proto_tree,
38019        hfindex: ::std::os::raw::c_int,
38020        tvb: *mut tvbuff_t,
38021        start: gint,
38022        length: gint,
38023        encoding: guint,
38024        retval: *mut GByteArray,
38025        endoff: *mut gint,
38026        err: *mut gint,
38027    ) -> *mut proto_item;
38028}
38029extern "C" {
38030    pub fn proto_tree_add_bytes_format_value(
38031        tree: *mut proto_tree,
38032        hfindex: ::std::os::raw::c_int,
38033        tvb: *mut tvbuff_t,
38034        start: gint,
38035        length: gint,
38036        start_ptr: *const guint8,
38037        format: *const ::std::os::raw::c_char,
38038        ...
38039    ) -> *mut proto_item;
38040}
38041extern "C" {
38042    pub fn proto_tree_add_bytes_format(
38043        tree: *mut proto_tree,
38044        hfindex: ::std::os::raw::c_int,
38045        tvb: *mut tvbuff_t,
38046        start: gint,
38047        length: gint,
38048        start_ptr: *const guint8,
38049        format: *const ::std::os::raw::c_char,
38050        ...
38051    ) -> *mut proto_item;
38052}
38053extern "C" {
38054    pub fn proto_tree_add_time(
38055        tree: *mut proto_tree,
38056        hfindex: ::std::os::raw::c_int,
38057        tvb: *mut tvbuff_t,
38058        start: gint,
38059        length: gint,
38060        value_ptr: *const nstime_t,
38061    ) -> *mut proto_item;
38062}
38063extern "C" {
38064    pub fn proto_tree_add_time_item(
38065        tree: *mut proto_tree,
38066        hfindex: ::std::os::raw::c_int,
38067        tvb: *mut tvbuff_t,
38068        start: gint,
38069        length: gint,
38070        encoding: guint,
38071        retval: *mut nstime_t,
38072        endoff: *mut gint,
38073        err: *mut gint,
38074    ) -> *mut proto_item;
38075}
38076extern "C" {
38077    pub fn proto_tree_add_time_format_value(
38078        tree: *mut proto_tree,
38079        hfindex: ::std::os::raw::c_int,
38080        tvb: *mut tvbuff_t,
38081        start: gint,
38082        length: gint,
38083        value_ptr: *mut nstime_t,
38084        format: *const ::std::os::raw::c_char,
38085        ...
38086    ) -> *mut proto_item;
38087}
38088extern "C" {
38089    pub fn proto_tree_add_time_format(
38090        tree: *mut proto_tree,
38091        hfindex: ::std::os::raw::c_int,
38092        tvb: *mut tvbuff_t,
38093        start: gint,
38094        length: gint,
38095        value_ptr: *mut nstime_t,
38096        format: *const ::std::os::raw::c_char,
38097        ...
38098    ) -> *mut proto_item;
38099}
38100extern "C" {
38101    pub fn proto_tree_add_ipxnet(
38102        tree: *mut proto_tree,
38103        hfindex: ::std::os::raw::c_int,
38104        tvb: *mut tvbuff_t,
38105        start: gint,
38106        length: gint,
38107        value: guint32,
38108    ) -> *mut proto_item;
38109}
38110extern "C" {
38111    pub fn proto_tree_add_ipxnet_format_value(
38112        tree: *mut proto_tree,
38113        hfindex: ::std::os::raw::c_int,
38114        tvb: *mut tvbuff_t,
38115        start: gint,
38116        length: gint,
38117        value: guint32,
38118        format: *const ::std::os::raw::c_char,
38119        ...
38120    ) -> *mut proto_item;
38121}
38122extern "C" {
38123    pub fn proto_tree_add_ipxnet_format(
38124        tree: *mut proto_tree,
38125        hfindex: ::std::os::raw::c_int,
38126        tvb: *mut tvbuff_t,
38127        start: gint,
38128        length: gint,
38129        value: guint32,
38130        format: *const ::std::os::raw::c_char,
38131        ...
38132    ) -> *mut proto_item;
38133}
38134extern "C" {
38135    pub fn proto_tree_add_ipv4(
38136        tree: *mut proto_tree,
38137        hfindex: ::std::os::raw::c_int,
38138        tvb: *mut tvbuff_t,
38139        start: gint,
38140        length: gint,
38141        value: ws_in4_addr,
38142    ) -> *mut proto_item;
38143}
38144extern "C" {
38145    pub fn proto_tree_add_ipv4_format_value(
38146        tree: *mut proto_tree,
38147        hfindex: ::std::os::raw::c_int,
38148        tvb: *mut tvbuff_t,
38149        start: gint,
38150        length: gint,
38151        value: ws_in4_addr,
38152        format: *const ::std::os::raw::c_char,
38153        ...
38154    ) -> *mut proto_item;
38155}
38156extern "C" {
38157    pub fn proto_tree_add_ipv4_format(
38158        tree: *mut proto_tree,
38159        hfindex: ::std::os::raw::c_int,
38160        tvb: *mut tvbuff_t,
38161        start: gint,
38162        length: gint,
38163        value: ws_in4_addr,
38164        format: *const ::std::os::raw::c_char,
38165        ...
38166    ) -> *mut proto_item;
38167}
38168extern "C" {
38169    pub fn proto_tree_add_ipv6(
38170        tree: *mut proto_tree,
38171        hfindex: ::std::os::raw::c_int,
38172        tvb: *mut tvbuff_t,
38173        start: gint,
38174        length: gint,
38175        value_ptr: *const ws_in6_addr,
38176    ) -> *mut proto_item;
38177}
38178extern "C" {
38179    pub fn proto_tree_add_ipv6_format_value(
38180        tree: *mut proto_tree,
38181        hfindex: ::std::os::raw::c_int,
38182        tvb: *mut tvbuff_t,
38183        start: gint,
38184        length: gint,
38185        value_ptr: *const ws_in6_addr,
38186        format: *const ::std::os::raw::c_char,
38187        ...
38188    ) -> *mut proto_item;
38189}
38190extern "C" {
38191    pub fn proto_tree_add_ipv6_format(
38192        tree: *mut proto_tree,
38193        hfindex: ::std::os::raw::c_int,
38194        tvb: *mut tvbuff_t,
38195        start: gint,
38196        length: gint,
38197        value_ptr: *const ws_in6_addr,
38198        format: *const ::std::os::raw::c_char,
38199        ...
38200    ) -> *mut proto_item;
38201}
38202extern "C" {
38203    pub fn proto_tree_add_ether(
38204        tree: *mut proto_tree,
38205        hfindex: ::std::os::raw::c_int,
38206        tvb: *mut tvbuff_t,
38207        start: gint,
38208        length: gint,
38209        value: *const guint8,
38210    ) -> *mut proto_item;
38211}
38212extern "C" {
38213    pub fn proto_tree_add_ether_format_value(
38214        tree: *mut proto_tree,
38215        hfindex: ::std::os::raw::c_int,
38216        tvb: *mut tvbuff_t,
38217        start: gint,
38218        length: gint,
38219        value: *const guint8,
38220        format: *const ::std::os::raw::c_char,
38221        ...
38222    ) -> *mut proto_item;
38223}
38224extern "C" {
38225    pub fn proto_tree_add_ether_format(
38226        tree: *mut proto_tree,
38227        hfindex: ::std::os::raw::c_int,
38228        tvb: *mut tvbuff_t,
38229        start: gint,
38230        length: gint,
38231        value: *const guint8,
38232        format: *const ::std::os::raw::c_char,
38233        ...
38234    ) -> *mut proto_item;
38235}
38236extern "C" {
38237    pub fn proto_tree_add_guid(
38238        tree: *mut proto_tree,
38239        hfindex: ::std::os::raw::c_int,
38240        tvb: *mut tvbuff_t,
38241        start: gint,
38242        length: gint,
38243        value_ptr: *const e_guid_t,
38244    ) -> *mut proto_item;
38245}
38246extern "C" {
38247    pub fn proto_tree_add_guid_format_value(
38248        tree: *mut proto_tree,
38249        hfindex: ::std::os::raw::c_int,
38250        tvb: *mut tvbuff_t,
38251        start: gint,
38252        length: gint,
38253        value_ptr: *const e_guid_t,
38254        format: *const ::std::os::raw::c_char,
38255        ...
38256    ) -> *mut proto_item;
38257}
38258extern "C" {
38259    pub fn proto_tree_add_guid_format(
38260        tree: *mut proto_tree,
38261        hfindex: ::std::os::raw::c_int,
38262        tvb: *mut tvbuff_t,
38263        start: gint,
38264        length: gint,
38265        value_ptr: *const e_guid_t,
38266        format: *const ::std::os::raw::c_char,
38267        ...
38268    ) -> *mut proto_item;
38269}
38270extern "C" {
38271    pub fn proto_tree_add_oid(
38272        tree: *mut proto_tree,
38273        hfindex: ::std::os::raw::c_int,
38274        tvb: *mut tvbuff_t,
38275        start: gint,
38276        length: gint,
38277        value_ptr: *const guint8,
38278    ) -> *mut proto_item;
38279}
38280extern "C" {
38281    pub fn proto_tree_add_oid_format_value(
38282        tree: *mut proto_tree,
38283        hfindex: ::std::os::raw::c_int,
38284        tvb: *mut tvbuff_t,
38285        start: gint,
38286        length: gint,
38287        value_ptr: *const guint8,
38288        format: *const ::std::os::raw::c_char,
38289        ...
38290    ) -> *mut proto_item;
38291}
38292extern "C" {
38293    pub fn proto_tree_add_oid_format(
38294        tree: *mut proto_tree,
38295        hfindex: ::std::os::raw::c_int,
38296        tvb: *mut tvbuff_t,
38297        start: gint,
38298        length: gint,
38299        value_ptr: *const guint8,
38300        format: *const ::std::os::raw::c_char,
38301        ...
38302    ) -> *mut proto_item;
38303}
38304extern "C" {
38305    pub fn proto_tree_add_string(
38306        tree: *mut proto_tree,
38307        hfindex: ::std::os::raw::c_int,
38308        tvb: *mut tvbuff_t,
38309        start: gint,
38310        length: gint,
38311        value: *const ::std::os::raw::c_char,
38312    ) -> *mut proto_item;
38313}
38314extern "C" {
38315    pub fn proto_tree_add_string_format_value(
38316        tree: *mut proto_tree,
38317        hfindex: ::std::os::raw::c_int,
38318        tvb: *mut tvbuff_t,
38319        start: gint,
38320        length: gint,
38321        value: *const ::std::os::raw::c_char,
38322        format: *const ::std::os::raw::c_char,
38323        ...
38324    ) -> *mut proto_item;
38325}
38326extern "C" {
38327    pub fn proto_tree_add_string_format(
38328        tree: *mut proto_tree,
38329        hfindex: ::std::os::raw::c_int,
38330        tvb: *mut tvbuff_t,
38331        start: gint,
38332        length: gint,
38333        value: *const ::std::os::raw::c_char,
38334        format: *const ::std::os::raw::c_char,
38335        ...
38336    ) -> *mut proto_item;
38337}
38338extern "C" {
38339    pub fn proto_tree_add_boolean(
38340        tree: *mut proto_tree,
38341        hfindex: ::std::os::raw::c_int,
38342        tvb: *mut tvbuff_t,
38343        start: gint,
38344        length: gint,
38345        value: guint32,
38346    ) -> *mut proto_item;
38347}
38348extern "C" {
38349    pub fn proto_tree_add_boolean_format_value(
38350        tree: *mut proto_tree,
38351        hfindex: ::std::os::raw::c_int,
38352        tvb: *mut tvbuff_t,
38353        start: gint,
38354        length: gint,
38355        value: guint32,
38356        format: *const ::std::os::raw::c_char,
38357        ...
38358    ) -> *mut proto_item;
38359}
38360extern "C" {
38361    pub fn proto_tree_add_boolean_format(
38362        tree: *mut proto_tree,
38363        hfindex: ::std::os::raw::c_int,
38364        tvb: *mut tvbuff_t,
38365        start: gint,
38366        length: gint,
38367        value: guint32,
38368        format: *const ::std::os::raw::c_char,
38369        ...
38370    ) -> *mut proto_item;
38371}
38372extern "C" {
38373    pub fn proto_tree_add_float(
38374        tree: *mut proto_tree,
38375        hfindex: ::std::os::raw::c_int,
38376        tvb: *mut tvbuff_t,
38377        start: gint,
38378        length: gint,
38379        value: f32,
38380    ) -> *mut proto_item;
38381}
38382extern "C" {
38383    pub fn proto_tree_add_float_format_value(
38384        tree: *mut proto_tree,
38385        hfindex: ::std::os::raw::c_int,
38386        tvb: *mut tvbuff_t,
38387        start: gint,
38388        length: gint,
38389        value: f32,
38390        format: *const ::std::os::raw::c_char,
38391        ...
38392    ) -> *mut proto_item;
38393}
38394extern "C" {
38395    pub fn proto_tree_add_float_format(
38396        tree: *mut proto_tree,
38397        hfindex: ::std::os::raw::c_int,
38398        tvb: *mut tvbuff_t,
38399        start: gint,
38400        length: gint,
38401        value: f32,
38402        format: *const ::std::os::raw::c_char,
38403        ...
38404    ) -> *mut proto_item;
38405}
38406extern "C" {
38407    pub fn proto_tree_add_double(
38408        tree: *mut proto_tree,
38409        hfindex: ::std::os::raw::c_int,
38410        tvb: *mut tvbuff_t,
38411        start: gint,
38412        length: gint,
38413        value: f64,
38414    ) -> *mut proto_item;
38415}
38416extern "C" {
38417    pub fn proto_tree_add_double_format_value(
38418        tree: *mut proto_tree,
38419        hfindex: ::std::os::raw::c_int,
38420        tvb: *mut tvbuff_t,
38421        start: gint,
38422        length: gint,
38423        value: f64,
38424        format: *const ::std::os::raw::c_char,
38425        ...
38426    ) -> *mut proto_item;
38427}
38428extern "C" {
38429    pub fn proto_tree_add_double_format(
38430        tree: *mut proto_tree,
38431        hfindex: ::std::os::raw::c_int,
38432        tvb: *mut tvbuff_t,
38433        start: gint,
38434        length: gint,
38435        value: f64,
38436        format: *const ::std::os::raw::c_char,
38437        ...
38438    ) -> *mut proto_item;
38439}
38440extern "C" {
38441    pub fn proto_tree_add_uint(
38442        tree: *mut proto_tree,
38443        hfindex: ::std::os::raw::c_int,
38444        tvb: *mut tvbuff_t,
38445        start: gint,
38446        length: gint,
38447        value: guint32,
38448    ) -> *mut proto_item;
38449}
38450extern "C" {
38451    pub fn proto_tree_add_uint_format_value(
38452        tree: *mut proto_tree,
38453        hfindex: ::std::os::raw::c_int,
38454        tvb: *mut tvbuff_t,
38455        start: gint,
38456        length: gint,
38457        value: guint32,
38458        format: *const ::std::os::raw::c_char,
38459        ...
38460    ) -> *mut proto_item;
38461}
38462extern "C" {
38463    pub fn proto_tree_add_uint_format(
38464        tree: *mut proto_tree,
38465        hfindex: ::std::os::raw::c_int,
38466        tvb: *mut tvbuff_t,
38467        start: gint,
38468        length: gint,
38469        value: guint32,
38470        format: *const ::std::os::raw::c_char,
38471        ...
38472    ) -> *mut proto_item;
38473}
38474extern "C" {
38475    pub fn proto_tree_add_uint64(
38476        tree: *mut proto_tree,
38477        hfindex: ::std::os::raw::c_int,
38478        tvb: *mut tvbuff_t,
38479        start: gint,
38480        length: gint,
38481        value: guint64,
38482    ) -> *mut proto_item;
38483}
38484extern "C" {
38485    pub fn proto_tree_add_uint64_format_value(
38486        tree: *mut proto_tree,
38487        hfindex: ::std::os::raw::c_int,
38488        tvb: *mut tvbuff_t,
38489        start: gint,
38490        length: gint,
38491        value: guint64,
38492        format: *const ::std::os::raw::c_char,
38493        ...
38494    ) -> *mut proto_item;
38495}
38496extern "C" {
38497    pub fn proto_tree_add_uint64_format(
38498        tree: *mut proto_tree,
38499        hfindex: ::std::os::raw::c_int,
38500        tvb: *mut tvbuff_t,
38501        start: gint,
38502        length: gint,
38503        value: guint64,
38504        format: *const ::std::os::raw::c_char,
38505        ...
38506    ) -> *mut proto_item;
38507}
38508extern "C" {
38509    pub fn proto_tree_add_int(
38510        tree: *mut proto_tree,
38511        hfindex: ::std::os::raw::c_int,
38512        tvb: *mut tvbuff_t,
38513        start: gint,
38514        length: gint,
38515        value: gint32,
38516    ) -> *mut proto_item;
38517}
38518extern "C" {
38519    pub fn proto_tree_add_int_format_value(
38520        tree: *mut proto_tree,
38521        hfindex: ::std::os::raw::c_int,
38522        tvb: *mut tvbuff_t,
38523        start: gint,
38524        length: gint,
38525        value: gint32,
38526        format: *const ::std::os::raw::c_char,
38527        ...
38528    ) -> *mut proto_item;
38529}
38530extern "C" {
38531    pub fn proto_tree_add_int_format(
38532        tree: *mut proto_tree,
38533        hfindex: ::std::os::raw::c_int,
38534        tvb: *mut tvbuff_t,
38535        start: gint,
38536        length: gint,
38537        value: gint32,
38538        format: *const ::std::os::raw::c_char,
38539        ...
38540    ) -> *mut proto_item;
38541}
38542extern "C" {
38543    pub fn proto_tree_add_int64(
38544        tree: *mut proto_tree,
38545        hfindex: ::std::os::raw::c_int,
38546        tvb: *mut tvbuff_t,
38547        start: gint,
38548        length: gint,
38549        value: gint64,
38550    ) -> *mut proto_item;
38551}
38552extern "C" {
38553    pub fn proto_tree_add_int64_format_value(
38554        tree: *mut proto_tree,
38555        hfindex: ::std::os::raw::c_int,
38556        tvb: *mut tvbuff_t,
38557        start: gint,
38558        length: gint,
38559        value: gint64,
38560        format: *const ::std::os::raw::c_char,
38561        ...
38562    ) -> *mut proto_item;
38563}
38564extern "C" {
38565    pub fn proto_tree_add_int64_format(
38566        tree: *mut proto_tree,
38567        hfindex: ::std::os::raw::c_int,
38568        tvb: *mut tvbuff_t,
38569        start: gint,
38570        length: gint,
38571        value: gint64,
38572        format: *const ::std::os::raw::c_char,
38573        ...
38574    ) -> *mut proto_item;
38575}
38576extern "C" {
38577    pub fn proto_tree_add_eui64(
38578        tree: *mut proto_tree,
38579        hfindex: ::std::os::raw::c_int,
38580        tvb: *mut tvbuff_t,
38581        start: gint,
38582        length: gint,
38583        value: guint64,
38584    ) -> *mut proto_item;
38585}
38586extern "C" {
38587    pub fn proto_tree_add_eui64_format_value(
38588        tree: *mut proto_tree,
38589        hfindex: ::std::os::raw::c_int,
38590        tvb: *mut tvbuff_t,
38591        start: gint,
38592        length: gint,
38593        value: guint64,
38594        format: *const ::std::os::raw::c_char,
38595        ...
38596    ) -> *mut proto_item;
38597}
38598extern "C" {
38599    pub fn proto_tree_add_eui64_format(
38600        tree: *mut proto_tree,
38601        hfindex: ::std::os::raw::c_int,
38602        tvb: *mut tvbuff_t,
38603        start: gint,
38604        length: gint,
38605        value: guint64,
38606        format: *const ::std::os::raw::c_char,
38607        ...
38608    ) -> *mut proto_item;
38609}
38610extern "C" {
38611    pub fn proto_tree_add_debug_text(
38612        tree: *mut proto_tree,
38613        format: *const ::std::os::raw::c_char,
38614        ...
38615    ) -> *mut proto_item;
38616}
38617extern "C" {
38618    pub fn proto_item_fill_label(finfo: *mut field_info, label_str: *mut gchar);
38619}
38620extern "C" {
38621    pub fn proto_item_fill_display_label(
38622        fi: *mut field_info,
38623        display_label_str: *mut gchar,
38624        label_str_size: ::std::os::raw::c_int,
38625    ) -> ::std::os::raw::c_int;
38626}
38627extern "C" {
38628    pub fn proto_register_protocol(
38629        name: *const ::std::os::raw::c_char,
38630        short_name: *const ::std::os::raw::c_char,
38631        filter_name: *const ::std::os::raw::c_char,
38632    ) -> ::std::os::raw::c_int;
38633}
38634extern "C" {
38635    pub fn proto_register_protocol_in_name_only(
38636        name: *const ::std::os::raw::c_char,
38637        short_name: *const ::std::os::raw::c_char,
38638        filter_name: *const ::std::os::raw::c_char,
38639        parent_proto: ::std::os::raw::c_int,
38640        field_type: ftenum,
38641    ) -> ::std::os::raw::c_int;
38642}
38643extern "C" {
38644    pub fn proto_deregister_protocol(short_name: *const ::std::os::raw::c_char) -> gboolean;
38645}
38646extern "C" {
38647    pub fn proto_register_alias(
38648        proto_id: ::std::os::raw::c_int,
38649        alias_name: *const ::std::os::raw::c_char,
38650    );
38651}
38652pub type prefix_initializer_t =
38653    ::std::option::Option<unsafe extern "C" fn(match_: *const ::std::os::raw::c_char)>;
38654extern "C" {
38655    pub fn proto_register_prefix(
38656        prefix: *const ::std::os::raw::c_char,
38657        initializer: prefix_initializer_t,
38658    );
38659}
38660extern "C" {
38661    pub fn proto_initialize_all_prefixes();
38662}
38663extern "C" {
38664    pub fn proto_register_field_array(
38665        parent: ::std::os::raw::c_int,
38666        hf: *mut hf_register_info,
38667        num_records: ::std::os::raw::c_int,
38668    );
38669}
38670extern "C" {
38671    pub fn proto_deregister_field(parent: ::std::os::raw::c_int, hf_id: gint);
38672}
38673extern "C" {
38674    pub fn proto_add_deregistered_data(data: *mut ::std::os::raw::c_void);
38675}
38676extern "C" {
38677    pub fn proto_add_deregistered_slice(block_size: gsize, mem_block: gpointer);
38678}
38679extern "C" {
38680    pub fn proto_free_field_strings(
38681        field_type: ftenum_t,
38682        field_display: ::std::os::raw::c_uint,
38683        field_strings: *const ::std::os::raw::c_void,
38684    );
38685}
38686extern "C" {
38687    pub fn proto_free_deregistered_fields();
38688}
38689extern "C" {
38690    pub fn proto_register_subtree_array(
38691        indices: *const *mut gint,
38692        num_indices: ::std::os::raw::c_int,
38693    );
38694}
38695extern "C" {
38696    pub fn proto_registrar_get_name(n: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
38697}
38698extern "C" {
38699    pub fn proto_registrar_get_abbrev(n: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
38700}
38701extern "C" {
38702    pub fn proto_registrar_get_nth(hfindex: guint) -> *mut header_field_info;
38703}
38704extern "C" {
38705    pub fn proto_registrar_get_byname(
38706        field_name: *const ::std::os::raw::c_char,
38707    ) -> *mut header_field_info;
38708}
38709extern "C" {
38710    pub fn proto_registrar_get_byalias(
38711        alias_name: *const ::std::os::raw::c_char,
38712    ) -> *mut header_field_info;
38713}
38714extern "C" {
38715    pub fn proto_registrar_get_id_byname(
38716        field_name: *const ::std::os::raw::c_char,
38717    ) -> ::std::os::raw::c_int;
38718}
38719extern "C" {
38720    pub fn proto_registrar_get_ftype(n: ::std::os::raw::c_int) -> ftenum;
38721}
38722extern "C" {
38723    pub fn proto_registrar_get_parent(n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
38724}
38725extern "C" {
38726    pub fn proto_registrar_is_protocol(n: ::std::os::raw::c_int) -> gboolean;
38727}
38728extern "C" {
38729    pub fn proto_registrar_get_length(n: ::std::os::raw::c_int) -> gint;
38730}
38731extern "C" {
38732    pub fn proto_get_first_protocol(
38733        cookie: *mut *mut ::std::os::raw::c_void,
38734    ) -> ::std::os::raw::c_int;
38735}
38736extern "C" {
38737    pub fn proto_get_data_protocol(cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
38738}
38739extern "C" {
38740    pub fn proto_get_next_protocol(
38741        cookie: *mut *mut ::std::os::raw::c_void,
38742    ) -> ::std::os::raw::c_int;
38743}
38744extern "C" {
38745    pub fn proto_get_first_protocol_field(
38746        proto_id: ::std::os::raw::c_int,
38747        cookie: *mut *mut ::std::os::raw::c_void,
38748    ) -> *mut header_field_info;
38749}
38750extern "C" {
38751    pub fn proto_get_next_protocol_field(
38752        proto_id: ::std::os::raw::c_int,
38753        cookie: *mut *mut ::std::os::raw::c_void,
38754    ) -> *mut header_field_info;
38755}
38756extern "C" {
38757    pub fn proto_name_already_registered(name: *const gchar) -> ::std::os::raw::c_int;
38758}
38759extern "C" {
38760    pub fn proto_get_id_by_filter_name(filter_name: *const gchar) -> ::std::os::raw::c_int;
38761}
38762extern "C" {
38763    pub fn proto_get_id_by_short_name(short_name: *const gchar) -> ::std::os::raw::c_int;
38764}
38765extern "C" {
38766    pub fn proto_can_toggle_protocol(proto_id: ::std::os::raw::c_int) -> gboolean;
38767}
38768extern "C" {
38769    pub fn find_protocol_by_id(proto_id: ::std::os::raw::c_int) -> *mut protocol_t;
38770}
38771extern "C" {
38772    pub fn proto_get_protocol_name(
38773        proto_id: ::std::os::raw::c_int,
38774    ) -> *const ::std::os::raw::c_char;
38775}
38776extern "C" {
38777    pub fn proto_get_id(protocol: *const protocol_t) -> ::std::os::raw::c_int;
38778}
38779extern "C" {
38780    pub fn proto_get_protocol_short_name(
38781        protocol: *const protocol_t,
38782    ) -> *const ::std::os::raw::c_char;
38783}
38784extern "C" {
38785    pub fn proto_get_protocol_long_name(
38786        protocol: *const protocol_t,
38787    ) -> *const ::std::os::raw::c_char;
38788}
38789extern "C" {
38790    pub fn proto_is_protocol_enabled(protocol: *const protocol_t) -> gboolean;
38791}
38792extern "C" {
38793    pub fn proto_is_protocol_enabled_by_default(protocol: *const protocol_t) -> gboolean;
38794}
38795extern "C" {
38796    pub fn proto_is_pino(protocol: *const protocol_t) -> gboolean;
38797}
38798extern "C" {
38799    pub fn proto_get_protocol_filter_name(
38800        proto_id: ::std::os::raw::c_int,
38801    ) -> *const ::std::os::raw::c_char;
38802}
38803extern "C" {
38804    pub fn proto_add_heuristic_dissector(
38805        protocol: *mut protocol_t,
38806        short_name: *const ::std::os::raw::c_char,
38807    );
38808}
38809extern "C" {
38810    pub fn proto_heuristic_dissector_foreach(
38811        protocol: *const protocol_t,
38812        func: GFunc,
38813        user_data: gpointer,
38814    );
38815}
38816extern "C" {
38817    pub fn proto_get_frame_protocols(
38818        layers: *const wmem_list_t,
38819        is_ip: *mut gboolean,
38820        is_tcp: *mut gboolean,
38821        is_udp: *mut gboolean,
38822        is_sctp: *mut gboolean,
38823        is_tls: *mut gboolean,
38824        is_rtp: *mut gboolean,
38825        is_lte_rlc: *mut gboolean,
38826    );
38827}
38828extern "C" {
38829    pub fn proto_is_frame_protocol(
38830        layers: *const wmem_list_t,
38831        proto_name: *const ::std::os::raw::c_char,
38832    ) -> gboolean;
38833}
38834extern "C" {
38835    pub fn proto_list_layers(pinfo: *const packet_info) -> *mut gchar;
38836}
38837extern "C" {
38838    pub fn proto_disable_by_default(proto_id: ::std::os::raw::c_int);
38839}
38840extern "C" {
38841    pub fn proto_set_decoding(proto_id: ::std::os::raw::c_int, enabled: gboolean);
38842}
38843extern "C" {
38844    pub fn proto_reenable_all();
38845}
38846extern "C" {
38847    pub fn proto_set_cant_toggle(proto_id: ::std::os::raw::c_int);
38848}
38849extern "C" {
38850    pub fn proto_check_for_protocol_or_field(
38851        tree: *const proto_tree,
38852        id: ::std::os::raw::c_int,
38853    ) -> gboolean;
38854}
38855extern "C" {
38856    pub fn proto_get_finfo_ptr_array(
38857        tree: *const proto_tree,
38858        hfindex: ::std::os::raw::c_int,
38859    ) -> *mut GPtrArray;
38860}
38861extern "C" {
38862    pub fn proto_tracking_interesting_fields(tree: *const proto_tree) -> gboolean;
38863}
38864extern "C" {
38865    pub fn proto_find_finfo(
38866        tree: *mut proto_tree,
38867        hfindex: ::std::os::raw::c_int,
38868    ) -> *mut GPtrArray;
38869}
38870extern "C" {
38871    pub fn proto_find_first_finfo(
38872        tree: *mut proto_tree,
38873        hfindex: ::std::os::raw::c_int,
38874    ) -> *mut GPtrArray;
38875}
38876extern "C" {
38877    pub fn proto_all_finfos(tree: *mut proto_tree) -> *mut GPtrArray;
38878}
38879extern "C" {
38880    pub fn proto_registrar_dump_protocols();
38881}
38882extern "C" {
38883    pub fn proto_registrar_dump_values();
38884}
38885extern "C" {
38886    pub fn proto_registrar_dump_elastic(filter: *const gchar);
38887}
38888extern "C" {
38889    pub fn proto_registrar_dump_fieldcount() -> gboolean;
38890}
38891extern "C" {
38892    pub fn proto_registrar_dump_fields();
38893}
38894extern "C" {
38895    pub fn proto_registrar_dump_ftypes();
38896}
38897extern "C" {
38898    pub fn proto_field_display_to_string(
38899        field_display: ::std::os::raw::c_int,
38900    ) -> *const ::std::os::raw::c_char;
38901}
38902extern "C" {
38903    pub static mut num_tree_types: ::std::os::raw::c_int;
38904}
38905extern "C" {
38906    pub fn tree_expanded(tree_type: ::std::os::raw::c_int) -> gboolean;
38907}
38908extern "C" {
38909    pub fn tree_expanded_set(tree_type: ::std::os::raw::c_int, value: gboolean);
38910}
38911extern "C" {
38912    pub fn hfinfo_bitshift(hfinfo: *const header_field_info) -> ::std::os::raw::c_int;
38913}
38914#[repr(C)]
38915#[derive(Debug, Copy, Clone)]
38916pub struct epan_dissect {
38917    _unused: [u8; 0],
38918}
38919extern "C" {
38920    pub fn proto_can_match_selected(finfo: *mut field_info, edt: *mut epan_dissect) -> gboolean;
38921}
38922extern "C" {
38923    pub fn proto_construct_match_selected_string(
38924        finfo: *mut field_info,
38925        edt: *mut epan_dissect,
38926    ) -> *mut ::std::os::raw::c_char;
38927}
38928extern "C" {
38929    pub fn proto_find_field_from_offset(
38930        tree: *mut proto_tree,
38931        offset: guint,
38932        tvb: *mut tvbuff_t,
38933    ) -> *mut field_info;
38934}
38935extern "C" {
38936    pub fn proto_find_undecoded_data(tree: *mut proto_tree, length: guint) -> *mut gchar;
38937}
38938extern "C" {
38939    pub fn proto_tree_add_bitmask(
38940        tree: *mut proto_tree,
38941        tvb: *mut tvbuff_t,
38942        offset: guint,
38943        hf_hdr: ::std::os::raw::c_int,
38944        ett: gint,
38945        fields: *const *mut ::std::os::raw::c_int,
38946        encoding: guint,
38947    ) -> *mut proto_item;
38948}
38949extern "C" {
38950    pub fn proto_tree_add_bitmask_ret_uint64(
38951        tree: *mut proto_tree,
38952        tvb: *mut tvbuff_t,
38953        offset: guint,
38954        hf_hdr: ::std::os::raw::c_int,
38955        ett: gint,
38956        fields: *const *mut ::std::os::raw::c_int,
38957        encoding: guint,
38958        retval: *mut guint64,
38959    ) -> *mut proto_item;
38960}
38961extern "C" {
38962    pub fn proto_tree_add_bitmask_with_flags(
38963        tree: *mut proto_tree,
38964        tvb: *mut tvbuff_t,
38965        offset: guint,
38966        hf_hdr: ::std::os::raw::c_int,
38967        ett: gint,
38968        fields: *const *mut ::std::os::raw::c_int,
38969        encoding: guint,
38970        flags: ::std::os::raw::c_int,
38971    ) -> *mut proto_item;
38972}
38973extern "C" {
38974    pub fn proto_tree_add_bitmask_with_flags_ret_uint64(
38975        tree: *mut proto_tree,
38976        tvb: *mut tvbuff_t,
38977        offset: guint,
38978        hf_hdr: ::std::os::raw::c_int,
38979        ett: gint,
38980        fields: *const *mut ::std::os::raw::c_int,
38981        encoding: guint,
38982        flags: ::std::os::raw::c_int,
38983        retval: *mut guint64,
38984    ) -> *mut proto_item;
38985}
38986extern "C" {
38987    pub fn proto_tree_add_bitmask_value(
38988        tree: *mut proto_tree,
38989        tvb: *mut tvbuff_t,
38990        offset: guint,
38991        hf_hdr: ::std::os::raw::c_int,
38992        ett: gint,
38993        fields: *const *mut ::std::os::raw::c_int,
38994        value: guint64,
38995    ) -> *mut proto_item;
38996}
38997extern "C" {
38998    pub fn proto_tree_add_bitmask_value_with_flags(
38999        tree: *mut proto_tree,
39000        tvb: *mut tvbuff_t,
39001        offset: guint,
39002        hf_hdr: ::std::os::raw::c_int,
39003        ett: gint,
39004        fields: *const *mut ::std::os::raw::c_int,
39005        value: guint64,
39006        flags: ::std::os::raw::c_int,
39007    ) -> *mut proto_item;
39008}
39009extern "C" {
39010    pub fn proto_tree_add_bitmask_list(
39011        tree: *mut proto_tree,
39012        tvb: *mut tvbuff_t,
39013        offset: guint,
39014        len: ::std::os::raw::c_int,
39015        fields: *const *mut ::std::os::raw::c_int,
39016        encoding: guint,
39017    );
39018}
39019extern "C" {
39020    pub fn proto_tree_add_bitmask_list_ret_uint64(
39021        tree: *mut proto_tree,
39022        tvb: *mut tvbuff_t,
39023        offset: guint,
39024        len: ::std::os::raw::c_int,
39025        fields: *const *mut ::std::os::raw::c_int,
39026        encoding: guint,
39027        retval: *mut guint64,
39028    );
39029}
39030extern "C" {
39031    pub fn proto_tree_add_bitmask_list_value(
39032        tree: *mut proto_tree,
39033        tvb: *mut tvbuff_t,
39034        offset: guint,
39035        len: ::std::os::raw::c_int,
39036        fields: *const *mut ::std::os::raw::c_int,
39037        value: guint64,
39038    );
39039}
39040extern "C" {
39041    pub fn proto_tree_add_bitmask_len(
39042        tree: *mut proto_tree,
39043        tvb: *mut tvbuff_t,
39044        offset: guint,
39045        len: guint,
39046        hf_hdr: ::std::os::raw::c_int,
39047        ett: gint,
39048        fields: *const *mut ::std::os::raw::c_int,
39049        exp: *mut expert_field,
39050        encoding: guint,
39051    ) -> *mut proto_item;
39052}
39053extern "C" {
39054    pub fn proto_tree_add_bitmask_text(
39055        tree: *mut proto_tree,
39056        tvb: *mut tvbuff_t,
39057        offset: guint,
39058        len: guint,
39059        name: *const ::std::os::raw::c_char,
39060        fallback: *const ::std::os::raw::c_char,
39061        ett: gint,
39062        fields: *const *mut ::std::os::raw::c_int,
39063        encoding: guint,
39064        flags: ::std::os::raw::c_int,
39065    ) -> *mut proto_item;
39066}
39067extern "C" {
39068    pub fn proto_tree_add_bits_item(
39069        tree: *mut proto_tree,
39070        hf_index: ::std::os::raw::c_int,
39071        tvb: *mut tvbuff_t,
39072        bit_offset: guint,
39073        no_of_bits: gint,
39074        encoding: guint,
39075    ) -> *mut proto_item;
39076}
39077extern "C" {
39078    pub fn proto_tree_add_split_bits_item_ret_val(
39079        tree: *mut proto_tree,
39080        hf_index: ::std::os::raw::c_int,
39081        tvb: *mut tvbuff_t,
39082        bit_offset: guint,
39083        crumb_spec: *const crumb_spec_t,
39084        return_value: *mut guint64,
39085    ) -> *mut proto_item;
39086}
39087extern "C" {
39088    pub fn proto_tree_add_split_bits_crumb(
39089        tree: *mut proto_tree,
39090        hf_index: ::std::os::raw::c_int,
39091        tvb: *mut tvbuff_t,
39092        bit_offset: guint,
39093        crumb_spec: *const crumb_spec_t,
39094        crumb_index: guint16,
39095    );
39096}
39097extern "C" {
39098    pub fn proto_tree_add_bits_ret_val(
39099        tree: *mut proto_tree,
39100        hf_index: ::std::os::raw::c_int,
39101        tvb: *mut tvbuff_t,
39102        bit_offset: guint,
39103        no_of_bits: gint,
39104        return_value: *mut guint64,
39105        encoding: guint,
39106    ) -> *mut proto_item;
39107}
39108extern "C" {
39109    pub fn proto_tree_add_uint_bits_format_value(
39110        tree: *mut proto_tree,
39111        hf_index: ::std::os::raw::c_int,
39112        tvb: *mut tvbuff_t,
39113        bit_offset: guint,
39114        no_of_bits: gint,
39115        value: guint32,
39116        encoding: guint,
39117        format: *const ::std::os::raw::c_char,
39118        ...
39119    ) -> *mut proto_item;
39120}
39121extern "C" {
39122    pub fn proto_tree_add_uint64_bits_format_value(
39123        tree: *mut proto_tree,
39124        hf_index: ::std::os::raw::c_int,
39125        tvb: *mut tvbuff_t,
39126        bit_offset: guint,
39127        no_of_bits: gint,
39128        value: guint64,
39129        encoding: guint,
39130        format: *const ::std::os::raw::c_char,
39131        ...
39132    ) -> *mut proto_item;
39133}
39134extern "C" {
39135    pub fn proto_tree_add_boolean_bits_format_value(
39136        tree: *mut proto_tree,
39137        hf_index: ::std::os::raw::c_int,
39138        tvb: *mut tvbuff_t,
39139        bit_offset: guint,
39140        no_of_bits: gint,
39141        value: guint32,
39142        encoding: guint,
39143        format: *const ::std::os::raw::c_char,
39144        ...
39145    ) -> *mut proto_item;
39146}
39147extern "C" {
39148    pub fn proto_tree_add_boolean_bits_format_value64(
39149        tree: *mut proto_tree,
39150        hf_index: ::std::os::raw::c_int,
39151        tvb: *mut tvbuff_t,
39152        bit_offset: guint,
39153        no_of_bits: gint,
39154        value: guint64,
39155        encoding: guint,
39156        format: *const ::std::os::raw::c_char,
39157        ...
39158    ) -> *mut proto_item;
39159}
39160extern "C" {
39161    pub fn proto_tree_add_int_bits_format_value(
39162        tree: *mut proto_tree,
39163        hf_index: ::std::os::raw::c_int,
39164        tvb: *mut tvbuff_t,
39165        bit_offset: guint,
39166        no_of_bits: gint,
39167        value: gint32,
39168        encoding: guint,
39169        format: *const ::std::os::raw::c_char,
39170        ...
39171    ) -> *mut proto_item;
39172}
39173extern "C" {
39174    pub fn proto_tree_add_int64_bits_format_value(
39175        tree: *mut proto_tree,
39176        hf_index: ::std::os::raw::c_int,
39177        tvb: *mut tvbuff_t,
39178        bit_offset: guint,
39179        no_of_bits: gint,
39180        value: gint64,
39181        encoding: guint,
39182        format: *const ::std::os::raw::c_char,
39183        ...
39184    ) -> *mut proto_item;
39185}
39186extern "C" {
39187    pub fn proto_tree_add_float_bits_format_value(
39188        tree: *mut proto_tree,
39189        hf_index: ::std::os::raw::c_int,
39190        tvb: *mut tvbuff_t,
39191        bit_offset: guint,
39192        no_of_bits: gint,
39193        value: f32,
39194        encoding: guint,
39195        format: *const ::std::os::raw::c_char,
39196        ...
39197    ) -> *mut proto_item;
39198}
39199extern "C" {
39200    pub fn proto_tree_add_ts_23_038_7bits_packed_item(
39201        tree: *mut proto_tree,
39202        hfindex: ::std::os::raw::c_int,
39203        tvb: *mut tvbuff_t,
39204        bit_offset: guint,
39205        no_of_chars: gint,
39206    ) -> *mut proto_item;
39207}
39208extern "C" {
39209    pub fn proto_tree_add_ascii_7bits_item(
39210        tree: *mut proto_tree,
39211        hfindex: ::std::os::raw::c_int,
39212        tvb: *mut tvbuff_t,
39213        bit_offset: guint,
39214        no_of_chars: gint,
39215    ) -> *mut proto_item;
39216}
39217extern "C" {
39218    pub fn proto_tree_add_checksum(
39219        tree: *mut proto_tree,
39220        tvb: *mut tvbuff_t,
39221        offset: guint,
39222        hf_checksum: ::std::os::raw::c_int,
39223        hf_checksum_status: ::std::os::raw::c_int,
39224        bad_checksum_expert: *mut expert_field,
39225        pinfo: *mut packet_info,
39226        computed_checksum: guint32,
39227        encoding: guint,
39228        flags: guint,
39229    ) -> *mut proto_item;
39230}
39231pub const proto_checksum_enum_e_PROTO_CHECKSUM_E_BAD: proto_checksum_enum_e = 0;
39232pub const proto_checksum_enum_e_PROTO_CHECKSUM_E_GOOD: proto_checksum_enum_e = 1;
39233pub const proto_checksum_enum_e_PROTO_CHECKSUM_E_UNVERIFIED: proto_checksum_enum_e = 2;
39234pub const proto_checksum_enum_e_PROTO_CHECKSUM_E_NOT_PRESENT: proto_checksum_enum_e = 3;
39235pub const proto_checksum_enum_e_PROTO_CHECKSUM_E_ILLEGAL: proto_checksum_enum_e = 4;
39236pub type proto_checksum_enum_e = ::std::os::raw::c_uint;
39237extern "C" {
39238    pub static proto_checksum_vals: [value_string; 0usize];
39239}
39240extern "C" {
39241    pub fn proto_check_field_name(field_name: *const gchar) -> guchar;
39242}
39243extern "C" {
39244    pub fn proto_check_field_name_lower(field_name: *const gchar) -> guchar;
39245}
39246extern "C" {
39247    pub fn proto_custom_set(
39248        tree: *mut proto_tree,
39249        field_id: *mut GSList,
39250        occurrence: gint,
39251        result: *mut gchar,
39252        expr: *mut gchar,
39253        size: ::std::os::raw::c_int,
39254    ) -> *const gchar;
39255}
39256pub type feature_list = *mut *mut GList;
39257pub type gather_feature_func = ::std::option::Option<unsafe extern "C" fn(l: feature_list)>;
39258extern "C" {
39259    pub fn with_feature(l: feature_list, fmt: *const ::std::os::raw::c_char, ...);
39260}
39261extern "C" {
39262    pub fn without_feature(l: feature_list, fmt: *const ::std::os::raw::c_char, ...);
39263}
39264extern "C" {
39265    pub fn sort_features(l: feature_list);
39266}
39267extern "C" {
39268    pub fn free_features(l: feature_list);
39269}
39270#[repr(C)]
39271#[derive(Debug, Copy, Clone)]
39272pub struct enum_val_t {
39273    pub name: *const ::std::os::raw::c_char,
39274    pub description: *const ::std::os::raw::c_char,
39275    pub value: gint,
39276}
39277#[test]
39278fn bindgen_test_layout_enum_val_t() {
39279    const UNINIT: ::std::mem::MaybeUninit<enum_val_t> = ::std::mem::MaybeUninit::uninit();
39280    let ptr = UNINIT.as_ptr();
39281    assert_eq!(
39282        ::std::mem::size_of::<enum_val_t>(),
39283        24usize,
39284        concat!("Size of: ", stringify!(enum_val_t))
39285    );
39286    assert_eq!(
39287        ::std::mem::align_of::<enum_val_t>(),
39288        8usize,
39289        concat!("Alignment of ", stringify!(enum_val_t))
39290    );
39291    assert_eq!(
39292        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
39293        0usize,
39294        concat!(
39295            "Offset of field: ",
39296            stringify!(enum_val_t),
39297            "::",
39298            stringify!(name)
39299        )
39300    );
39301    assert_eq!(
39302        unsafe { ::std::ptr::addr_of!((*ptr).description) as usize - ptr as usize },
39303        8usize,
39304        concat!(
39305            "Offset of field: ",
39306            stringify!(enum_val_t),
39307            "::",
39308            stringify!(description)
39309        )
39310    );
39311    assert_eq!(
39312        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
39313        16usize,
39314        concat!(
39315            "Offset of field: ",
39316            stringify!(enum_val_t),
39317            "::",
39318            stringify!(value)
39319        )
39320    );
39321}
39322#[repr(C)]
39323#[derive(Debug, Copy, Clone)]
39324pub struct range_admin_tag {
39325    pub low: guint32,
39326    pub high: guint32,
39327}
39328#[test]
39329fn bindgen_test_layout_range_admin_tag() {
39330    const UNINIT: ::std::mem::MaybeUninit<range_admin_tag> = ::std::mem::MaybeUninit::uninit();
39331    let ptr = UNINIT.as_ptr();
39332    assert_eq!(
39333        ::std::mem::size_of::<range_admin_tag>(),
39334        8usize,
39335        concat!("Size of: ", stringify!(range_admin_tag))
39336    );
39337    assert_eq!(
39338        ::std::mem::align_of::<range_admin_tag>(),
39339        4usize,
39340        concat!("Alignment of ", stringify!(range_admin_tag))
39341    );
39342    assert_eq!(
39343        unsafe { ::std::ptr::addr_of!((*ptr).low) as usize - ptr as usize },
39344        0usize,
39345        concat!(
39346            "Offset of field: ",
39347            stringify!(range_admin_tag),
39348            "::",
39349            stringify!(low)
39350        )
39351    );
39352    assert_eq!(
39353        unsafe { ::std::ptr::addr_of!((*ptr).high) as usize - ptr as usize },
39354        4usize,
39355        concat!(
39356            "Offset of field: ",
39357            stringify!(range_admin_tag),
39358            "::",
39359            stringify!(high)
39360        )
39361    );
39362}
39363pub type range_admin_t = range_admin_tag;
39364#[repr(C)]
39365#[derive(Debug, Copy, Clone)]
39366pub struct epan_range {
39367    pub nranges: guint,
39368    pub ranges: [range_admin_t; 1usize],
39369}
39370#[test]
39371fn bindgen_test_layout_epan_range() {
39372    const UNINIT: ::std::mem::MaybeUninit<epan_range> = ::std::mem::MaybeUninit::uninit();
39373    let ptr = UNINIT.as_ptr();
39374    assert_eq!(
39375        ::std::mem::size_of::<epan_range>(),
39376        12usize,
39377        concat!("Size of: ", stringify!(epan_range))
39378    );
39379    assert_eq!(
39380        ::std::mem::align_of::<epan_range>(),
39381        4usize,
39382        concat!("Alignment of ", stringify!(epan_range))
39383    );
39384    assert_eq!(
39385        unsafe { ::std::ptr::addr_of!((*ptr).nranges) as usize - ptr as usize },
39386        0usize,
39387        concat!(
39388            "Offset of field: ",
39389            stringify!(epan_range),
39390            "::",
39391            stringify!(nranges)
39392        )
39393    );
39394    assert_eq!(
39395        unsafe { ::std::ptr::addr_of!((*ptr).ranges) as usize - ptr as usize },
39396        4usize,
39397        concat!(
39398            "Offset of field: ",
39399            stringify!(epan_range),
39400            "::",
39401            stringify!(ranges)
39402        )
39403    );
39404}
39405pub type range_t = epan_range;
39406pub const convert_ret_t_CVT_NO_ERROR: convert_ret_t = 0;
39407pub const convert_ret_t_CVT_SYNTAX_ERROR: convert_ret_t = 1;
39408pub const convert_ret_t_CVT_NUMBER_TOO_BIG: convert_ret_t = 2;
39409pub type convert_ret_t = ::std::os::raw::c_uint;
39410extern "C" {
39411    pub fn range_empty(scope: *mut wmem_allocator_t) -> *mut range_t;
39412}
39413extern "C" {
39414    pub fn range_convert_str(
39415        scope: *mut wmem_allocator_t,
39416        range: *mut *mut range_t,
39417        es: *const gchar,
39418        max_value: guint32,
39419    ) -> convert_ret_t;
39420}
39421extern "C" {
39422    pub fn range_convert_str_work(
39423        scope: *mut wmem_allocator_t,
39424        range: *mut *mut range_t,
39425        es: *const gchar,
39426        max_value: guint32,
39427        err_on_max: gboolean,
39428    ) -> convert_ret_t;
39429}
39430extern "C" {
39431    pub fn value_is_in_range(range: *const range_t, val: guint32) -> gboolean;
39432}
39433extern "C" {
39434    pub fn range_add_value(
39435        scope: *mut wmem_allocator_t,
39436        range: *mut *mut range_t,
39437        val: guint32,
39438    ) -> gboolean;
39439}
39440extern "C" {
39441    pub fn range_remove_value(
39442        scope: *mut wmem_allocator_t,
39443        range: *mut *mut range_t,
39444        val: guint32,
39445    ) -> gboolean;
39446}
39447extern "C" {
39448    pub fn ranges_are_equal(a: *const range_t, b: *const range_t) -> gboolean;
39449}
39450extern "C" {
39451    pub fn range_foreach(
39452        range: *mut range_t,
39453        callback: ::std::option::Option<unsafe extern "C" fn(val: guint32, ptr: gpointer)>,
39454        ptr: gpointer,
39455    );
39456}
39457extern "C" {
39458    pub fn range_convert_range(
39459        scope: *mut wmem_allocator_t,
39460        range: *const range_t,
39461    ) -> *mut ::std::os::raw::c_char;
39462}
39463extern "C" {
39464    pub fn range_copy(scope: *mut wmem_allocator_t, src: *const range_t) -> *mut range_t;
39465}
39466#[repr(C)]
39467#[derive(Debug, Copy, Clone)]
39468pub struct color_t {
39469    pub red: guint16,
39470    pub green: guint16,
39471    pub blue: guint16,
39472}
39473#[test]
39474fn bindgen_test_layout_color_t() {
39475    const UNINIT: ::std::mem::MaybeUninit<color_t> = ::std::mem::MaybeUninit::uninit();
39476    let ptr = UNINIT.as_ptr();
39477    assert_eq!(
39478        ::std::mem::size_of::<color_t>(),
39479        6usize,
39480        concat!("Size of: ", stringify!(color_t))
39481    );
39482    assert_eq!(
39483        ::std::mem::align_of::<color_t>(),
39484        2usize,
39485        concat!("Alignment of ", stringify!(color_t))
39486    );
39487    assert_eq!(
39488        unsafe { ::std::ptr::addr_of!((*ptr).red) as usize - ptr as usize },
39489        0usize,
39490        concat!(
39491            "Offset of field: ",
39492            stringify!(color_t),
39493            "::",
39494            stringify!(red)
39495        )
39496    );
39497    assert_eq!(
39498        unsafe { ::std::ptr::addr_of!((*ptr).green) as usize - ptr as usize },
39499        2usize,
39500        concat!(
39501            "Offset of field: ",
39502            stringify!(color_t),
39503            "::",
39504            stringify!(green)
39505        )
39506    );
39507    assert_eq!(
39508        unsafe { ::std::ptr::addr_of!((*ptr).blue) as usize - ptr as usize },
39509        4usize,
39510        concat!(
39511            "Offset of field: ",
39512            stringify!(color_t),
39513            "::",
39514            stringify!(blue)
39515        )
39516    );
39517}
39518#[repr(C)]
39519#[derive(Debug, Copy, Clone)]
39520pub struct epan_uat {
39521    _unused: [u8; 0],
39522}
39523#[repr(C)]
39524#[derive(Debug, Copy, Clone)]
39525pub struct _e_addr_resolve {
39526    _unused: [u8; 0],
39527}
39528extern "C" {
39529    pub fn string_to_name_resolve(
39530        string: *const ::std::os::raw::c_char,
39531        name_resolve: *mut _e_addr_resolve,
39532    ) -> ::std::os::raw::c_char;
39533}
39534pub const layout_type_e_layout_unused: layout_type_e = 0;
39535pub const layout_type_e_layout_type_5: layout_type_e = 1;
39536pub const layout_type_e_layout_type_2: layout_type_e = 2;
39537pub const layout_type_e_layout_type_1: layout_type_e = 3;
39538pub const layout_type_e_layout_type_4: layout_type_e = 4;
39539pub const layout_type_e_layout_type_3: layout_type_e = 5;
39540pub const layout_type_e_layout_type_6: layout_type_e = 6;
39541pub const layout_type_e_layout_type_max: layout_type_e = 7;
39542pub type layout_type_e = ::std::os::raw::c_uint;
39543pub const layout_pane_content_e_layout_pane_content_none: layout_pane_content_e = 0;
39544pub const layout_pane_content_e_layout_pane_content_plist: layout_pane_content_e = 1;
39545pub const layout_pane_content_e_layout_pane_content_pdetails: layout_pane_content_e = 2;
39546pub const layout_pane_content_e_layout_pane_content_pbytes: layout_pane_content_e = 3;
39547pub const layout_pane_content_e_layout_pane_content_pdiagram: layout_pane_content_e = 4;
39548pub type layout_pane_content_e = ::std::os::raw::c_uint;
39549pub const console_open_e_console_open_never: console_open_e = 0;
39550pub const console_open_e_console_open_auto: console_open_e = 1;
39551pub const console_open_e_console_open_always: console_open_e = 2;
39552pub type console_open_e = ::std::os::raw::c_uint;
39553pub const version_info_e_version_welcome_only: version_info_e = 0;
39554pub const version_info_e_version_title_only: version_info_e = 1;
39555pub const version_info_e_version_both: version_info_e = 2;
39556pub const version_info_e_version_neither: version_info_e = 3;
39557pub type version_info_e = ::std::os::raw::c_uint;
39558pub const pref_source_t_pref_default: pref_source_t = 0;
39559pub const pref_source_t_pref_stashed: pref_source_t = 1;
39560pub const pref_source_t_pref_current: pref_source_t = 2;
39561pub type pref_source_t = ::std::os::raw::c_uint;
39562pub const elide_mode_e_ELIDE_LEFT: elide_mode_e = 0;
39563pub const elide_mode_e_ELIDE_RIGHT: elide_mode_e = 1;
39564pub const elide_mode_e_ELIDE_MIDDLE: elide_mode_e = 2;
39565pub const elide_mode_e_ELIDE_NONE: elide_mode_e = 3;
39566pub type elide_mode_e = ::std::os::raw::c_uint;
39567pub const software_update_channel_e_UPDATE_CHANNEL_DEVELOPMENT: software_update_channel_e = 0;
39568pub const software_update_channel_e_UPDATE_CHANNEL_STABLE: software_update_channel_e = 1;
39569pub type software_update_channel_e = ::std::os::raw::c_uint;
39570#[repr(C)]
39571#[derive(Debug, Copy, Clone)]
39572pub struct _e_prefs {
39573    pub col_list: *mut GList,
39574    pub num_cols: gint,
39575    pub st_client_fg: color_t,
39576    pub st_client_bg: color_t,
39577    pub st_server_fg: color_t,
39578    pub st_server_bg: color_t,
39579    pub gui_text_valid: color_t,
39580    pub gui_text_invalid: color_t,
39581    pub gui_text_deprecated: color_t,
39582    pub restore_filter_after_following_stream: gboolean,
39583    pub gui_toolbar_main_style: gint,
39584    pub gui_qt_font_name: *mut gchar,
39585    pub gui_active_fg: color_t,
39586    pub gui_active_bg: color_t,
39587    pub gui_active_style: gint,
39588    pub gui_inactive_fg: color_t,
39589    pub gui_inactive_bg: color_t,
39590    pub gui_inactive_style: gint,
39591    pub gui_marked_fg: color_t,
39592    pub gui_marked_bg: color_t,
39593    pub gui_ignored_fg: color_t,
39594    pub gui_ignored_bg: color_t,
39595    pub gui_colorized_fg: *mut gchar,
39596    pub gui_colorized_bg: *mut gchar,
39597    pub gui_geometry_save_position: gboolean,
39598    pub gui_geometry_save_size: gboolean,
39599    pub gui_geometry_save_maximized: gboolean,
39600    pub gui_console_open: console_open_e,
39601    pub gui_recent_df_entries_max: guint,
39602    pub gui_recent_files_count_max: guint,
39603    pub gui_fileopen_style: guint,
39604    pub gui_fileopen_dir: *mut gchar,
39605    pub gui_fileopen_preview: guint,
39606    pub gui_ask_unsaved: gboolean,
39607    pub gui_autocomplete_filter: gboolean,
39608    pub gui_find_wrap: gboolean,
39609    pub gui_window_title: *mut gchar,
39610    pub gui_prepend_window_title: *mut gchar,
39611    pub gui_start_title: *mut gchar,
39612    pub gui_version_placement: version_info_e,
39613    pub gui_max_export_objects: guint,
39614    pub gui_max_tree_items: guint,
39615    pub gui_max_tree_depth: guint,
39616    pub gui_layout_type: layout_type_e,
39617    pub gui_layout_content_1: layout_pane_content_e,
39618    pub gui_layout_content_2: layout_pane_content_e,
39619    pub gui_layout_content_3: layout_pane_content_e,
39620    pub gui_interfaces_hide_types: *mut gchar,
39621    pub gui_interfaces_show_hidden: gboolean,
39622    pub gui_interfaces_remote_display: gboolean,
39623    pub gui_io_graph_automatic_update: gboolean,
39624    pub gui_packet_details_show_byteview: gboolean,
39625    pub capture_device: *mut gchar,
39626    pub capture_devices_linktypes: *mut gchar,
39627    pub capture_devices_descr: *mut gchar,
39628    pub capture_devices_hide: *mut gchar,
39629    pub capture_devices_monitor_mode: *mut gchar,
39630    pub capture_devices_buffersize: *mut gchar,
39631    pub capture_devices_snaplen: *mut gchar,
39632    pub capture_devices_pmode: *mut gchar,
39633    pub capture_devices_filter: *mut gchar,
39634    pub capture_prom_mode: gboolean,
39635    pub capture_pcap_ng: gboolean,
39636    pub capture_real_time: gboolean,
39637    pub capture_auto_scroll: gboolean,
39638    pub capture_no_interface_load: gboolean,
39639    pub capture_no_extcap: gboolean,
39640    pub capture_show_info: gboolean,
39641    pub capture_columns: *mut GList,
39642    pub tap_update_interval: guint,
39643    pub display_hidden_proto_items: gboolean,
39644    pub display_byte_fields_with_spaces: gboolean,
39645    pub enable_incomplete_dissectors_check: gboolean,
39646    pub incomplete_dissectors_check_debug: gboolean,
39647    pub strict_conversation_tracking_heuristics: gboolean,
39648    pub filter_expressions_old: gboolean,
39649    pub gui_update_enabled: gboolean,
39650    pub gui_update_channel: software_update_channel_e,
39651    pub gui_update_interval: gint,
39652    pub saved_at_version: *mut gchar,
39653    pub unknown_prefs: gboolean,
39654    pub unknown_colorfilters: gboolean,
39655    pub gui_qt_packet_list_separator: gboolean,
39656    pub gui_qt_packet_header_column_definition: gboolean,
39657    pub gui_qt_packet_list_hover_style: gboolean,
39658    pub gui_qt_show_selected_packet: gboolean,
39659    pub gui_qt_show_file_load_time: gboolean,
39660    pub gui_packet_list_elide_mode: elide_mode_e,
39661    pub gui_packet_list_show_related: gboolean,
39662    pub gui_packet_list_show_minimap: gboolean,
39663    pub gui_packet_list_sortable: gboolean,
39664    pub gui_decimal_places1: gint,
39665    pub gui_decimal_places2: gint,
39666    pub gui_decimal_places3: gint,
39667    pub gui_rtp_player_use_disk1: gboolean,
39668    pub gui_rtp_player_use_disk2: gboolean,
39669    pub st_enable_burstinfo: gboolean,
39670    pub st_burst_showcount: gboolean,
39671    pub st_burst_resolution: gint,
39672    pub st_burst_windowlen: gint,
39673    pub st_sort_casesensitve: gboolean,
39674    pub st_sort_rng_fixorder: gboolean,
39675    pub st_sort_rng_nameonly: gboolean,
39676    pub st_sort_defcolflag: gint,
39677    pub st_sort_defdescending: gboolean,
39678    pub st_sort_showfullname: gboolean,
39679    pub extcap_save_on_start: gboolean,
39680}
39681#[test]
39682fn bindgen_test_layout__e_prefs() {
39683    const UNINIT: ::std::mem::MaybeUninit<_e_prefs> = ::std::mem::MaybeUninit::uninit();
39684    let ptr = UNINIT.as_ptr();
39685    assert_eq!(
39686        ::std::mem::size_of::<_e_prefs>(),
39687        552usize,
39688        concat!("Size of: ", stringify!(_e_prefs))
39689    );
39690    assert_eq!(
39691        ::std::mem::align_of::<_e_prefs>(),
39692        8usize,
39693        concat!("Alignment of ", stringify!(_e_prefs))
39694    );
39695    assert_eq!(
39696        unsafe { ::std::ptr::addr_of!((*ptr).col_list) as usize - ptr as usize },
39697        0usize,
39698        concat!(
39699            "Offset of field: ",
39700            stringify!(_e_prefs),
39701            "::",
39702            stringify!(col_list)
39703        )
39704    );
39705    assert_eq!(
39706        unsafe { ::std::ptr::addr_of!((*ptr).num_cols) as usize - ptr as usize },
39707        8usize,
39708        concat!(
39709            "Offset of field: ",
39710            stringify!(_e_prefs),
39711            "::",
39712            stringify!(num_cols)
39713        )
39714    );
39715    assert_eq!(
39716        unsafe { ::std::ptr::addr_of!((*ptr).st_client_fg) as usize - ptr as usize },
39717        12usize,
39718        concat!(
39719            "Offset of field: ",
39720            stringify!(_e_prefs),
39721            "::",
39722            stringify!(st_client_fg)
39723        )
39724    );
39725    assert_eq!(
39726        unsafe { ::std::ptr::addr_of!((*ptr).st_client_bg) as usize - ptr as usize },
39727        18usize,
39728        concat!(
39729            "Offset of field: ",
39730            stringify!(_e_prefs),
39731            "::",
39732            stringify!(st_client_bg)
39733        )
39734    );
39735    assert_eq!(
39736        unsafe { ::std::ptr::addr_of!((*ptr).st_server_fg) as usize - ptr as usize },
39737        24usize,
39738        concat!(
39739            "Offset of field: ",
39740            stringify!(_e_prefs),
39741            "::",
39742            stringify!(st_server_fg)
39743        )
39744    );
39745    assert_eq!(
39746        unsafe { ::std::ptr::addr_of!((*ptr).st_server_bg) as usize - ptr as usize },
39747        30usize,
39748        concat!(
39749            "Offset of field: ",
39750            stringify!(_e_prefs),
39751            "::",
39752            stringify!(st_server_bg)
39753        )
39754    );
39755    assert_eq!(
39756        unsafe { ::std::ptr::addr_of!((*ptr).gui_text_valid) as usize - ptr as usize },
39757        36usize,
39758        concat!(
39759            "Offset of field: ",
39760            stringify!(_e_prefs),
39761            "::",
39762            stringify!(gui_text_valid)
39763        )
39764    );
39765    assert_eq!(
39766        unsafe { ::std::ptr::addr_of!((*ptr).gui_text_invalid) as usize - ptr as usize },
39767        42usize,
39768        concat!(
39769            "Offset of field: ",
39770            stringify!(_e_prefs),
39771            "::",
39772            stringify!(gui_text_invalid)
39773        )
39774    );
39775    assert_eq!(
39776        unsafe { ::std::ptr::addr_of!((*ptr).gui_text_deprecated) as usize - ptr as usize },
39777        48usize,
39778        concat!(
39779            "Offset of field: ",
39780            stringify!(_e_prefs),
39781            "::",
39782            stringify!(gui_text_deprecated)
39783        )
39784    );
39785    assert_eq!(
39786        unsafe {
39787            ::std::ptr::addr_of!((*ptr).restore_filter_after_following_stream) as usize
39788                - ptr as usize
39789        },
39790        56usize,
39791        concat!(
39792            "Offset of field: ",
39793            stringify!(_e_prefs),
39794            "::",
39795            stringify!(restore_filter_after_following_stream)
39796        )
39797    );
39798    assert_eq!(
39799        unsafe { ::std::ptr::addr_of!((*ptr).gui_toolbar_main_style) as usize - ptr as usize },
39800        60usize,
39801        concat!(
39802            "Offset of field: ",
39803            stringify!(_e_prefs),
39804            "::",
39805            stringify!(gui_toolbar_main_style)
39806        )
39807    );
39808    assert_eq!(
39809        unsafe { ::std::ptr::addr_of!((*ptr).gui_qt_font_name) as usize - ptr as usize },
39810        64usize,
39811        concat!(
39812            "Offset of field: ",
39813            stringify!(_e_prefs),
39814            "::",
39815            stringify!(gui_qt_font_name)
39816        )
39817    );
39818    assert_eq!(
39819        unsafe { ::std::ptr::addr_of!((*ptr).gui_active_fg) as usize - ptr as usize },
39820        72usize,
39821        concat!(
39822            "Offset of field: ",
39823            stringify!(_e_prefs),
39824            "::",
39825            stringify!(gui_active_fg)
39826        )
39827    );
39828    assert_eq!(
39829        unsafe { ::std::ptr::addr_of!((*ptr).gui_active_bg) as usize - ptr as usize },
39830        78usize,
39831        concat!(
39832            "Offset of field: ",
39833            stringify!(_e_prefs),
39834            "::",
39835            stringify!(gui_active_bg)
39836        )
39837    );
39838    assert_eq!(
39839        unsafe { ::std::ptr::addr_of!((*ptr).gui_active_style) as usize - ptr as usize },
39840        84usize,
39841        concat!(
39842            "Offset of field: ",
39843            stringify!(_e_prefs),
39844            "::",
39845            stringify!(gui_active_style)
39846        )
39847    );
39848    assert_eq!(
39849        unsafe { ::std::ptr::addr_of!((*ptr).gui_inactive_fg) as usize - ptr as usize },
39850        88usize,
39851        concat!(
39852            "Offset of field: ",
39853            stringify!(_e_prefs),
39854            "::",
39855            stringify!(gui_inactive_fg)
39856        )
39857    );
39858    assert_eq!(
39859        unsafe { ::std::ptr::addr_of!((*ptr).gui_inactive_bg) as usize - ptr as usize },
39860        94usize,
39861        concat!(
39862            "Offset of field: ",
39863            stringify!(_e_prefs),
39864            "::",
39865            stringify!(gui_inactive_bg)
39866        )
39867    );
39868    assert_eq!(
39869        unsafe { ::std::ptr::addr_of!((*ptr).gui_inactive_style) as usize - ptr as usize },
39870        100usize,
39871        concat!(
39872            "Offset of field: ",
39873            stringify!(_e_prefs),
39874            "::",
39875            stringify!(gui_inactive_style)
39876        )
39877    );
39878    assert_eq!(
39879        unsafe { ::std::ptr::addr_of!((*ptr).gui_marked_fg) as usize - ptr as usize },
39880        104usize,
39881        concat!(
39882            "Offset of field: ",
39883            stringify!(_e_prefs),
39884            "::",
39885            stringify!(gui_marked_fg)
39886        )
39887    );
39888    assert_eq!(
39889        unsafe { ::std::ptr::addr_of!((*ptr).gui_marked_bg) as usize - ptr as usize },
39890        110usize,
39891        concat!(
39892            "Offset of field: ",
39893            stringify!(_e_prefs),
39894            "::",
39895            stringify!(gui_marked_bg)
39896        )
39897    );
39898    assert_eq!(
39899        unsafe { ::std::ptr::addr_of!((*ptr).gui_ignored_fg) as usize - ptr as usize },
39900        116usize,
39901        concat!(
39902            "Offset of field: ",
39903            stringify!(_e_prefs),
39904            "::",
39905            stringify!(gui_ignored_fg)
39906        )
39907    );
39908    assert_eq!(
39909        unsafe { ::std::ptr::addr_of!((*ptr).gui_ignored_bg) as usize - ptr as usize },
39910        122usize,
39911        concat!(
39912            "Offset of field: ",
39913            stringify!(_e_prefs),
39914            "::",
39915            stringify!(gui_ignored_bg)
39916        )
39917    );
39918    assert_eq!(
39919        unsafe { ::std::ptr::addr_of!((*ptr).gui_colorized_fg) as usize - ptr as usize },
39920        128usize,
39921        concat!(
39922            "Offset of field: ",
39923            stringify!(_e_prefs),
39924            "::",
39925            stringify!(gui_colorized_fg)
39926        )
39927    );
39928    assert_eq!(
39929        unsafe { ::std::ptr::addr_of!((*ptr).gui_colorized_bg) as usize - ptr as usize },
39930        136usize,
39931        concat!(
39932            "Offset of field: ",
39933            stringify!(_e_prefs),
39934            "::",
39935            stringify!(gui_colorized_bg)
39936        )
39937    );
39938    assert_eq!(
39939        unsafe { ::std::ptr::addr_of!((*ptr).gui_geometry_save_position) as usize - ptr as usize },
39940        144usize,
39941        concat!(
39942            "Offset of field: ",
39943            stringify!(_e_prefs),
39944            "::",
39945            stringify!(gui_geometry_save_position)
39946        )
39947    );
39948    assert_eq!(
39949        unsafe { ::std::ptr::addr_of!((*ptr).gui_geometry_save_size) as usize - ptr as usize },
39950        148usize,
39951        concat!(
39952            "Offset of field: ",
39953            stringify!(_e_prefs),
39954            "::",
39955            stringify!(gui_geometry_save_size)
39956        )
39957    );
39958    assert_eq!(
39959        unsafe { ::std::ptr::addr_of!((*ptr).gui_geometry_save_maximized) as usize - ptr as usize },
39960        152usize,
39961        concat!(
39962            "Offset of field: ",
39963            stringify!(_e_prefs),
39964            "::",
39965            stringify!(gui_geometry_save_maximized)
39966        )
39967    );
39968    assert_eq!(
39969        unsafe { ::std::ptr::addr_of!((*ptr).gui_console_open) as usize - ptr as usize },
39970        156usize,
39971        concat!(
39972            "Offset of field: ",
39973            stringify!(_e_prefs),
39974            "::",
39975            stringify!(gui_console_open)
39976        )
39977    );
39978    assert_eq!(
39979        unsafe { ::std::ptr::addr_of!((*ptr).gui_recent_df_entries_max) as usize - ptr as usize },
39980        160usize,
39981        concat!(
39982            "Offset of field: ",
39983            stringify!(_e_prefs),
39984            "::",
39985            stringify!(gui_recent_df_entries_max)
39986        )
39987    );
39988    assert_eq!(
39989        unsafe { ::std::ptr::addr_of!((*ptr).gui_recent_files_count_max) as usize - ptr as usize },
39990        164usize,
39991        concat!(
39992            "Offset of field: ",
39993            stringify!(_e_prefs),
39994            "::",
39995            stringify!(gui_recent_files_count_max)
39996        )
39997    );
39998    assert_eq!(
39999        unsafe { ::std::ptr::addr_of!((*ptr).gui_fileopen_style) as usize - ptr as usize },
40000        168usize,
40001        concat!(
40002            "Offset of field: ",
40003            stringify!(_e_prefs),
40004            "::",
40005            stringify!(gui_fileopen_style)
40006        )
40007    );
40008    assert_eq!(
40009        unsafe { ::std::ptr::addr_of!((*ptr).gui_fileopen_dir) as usize - ptr as usize },
40010        176usize,
40011        concat!(
40012            "Offset of field: ",
40013            stringify!(_e_prefs),
40014            "::",
40015            stringify!(gui_fileopen_dir)
40016        )
40017    );
40018    assert_eq!(
40019        unsafe { ::std::ptr::addr_of!((*ptr).gui_fileopen_preview) as usize - ptr as usize },
40020        184usize,
40021        concat!(
40022            "Offset of field: ",
40023            stringify!(_e_prefs),
40024            "::",
40025            stringify!(gui_fileopen_preview)
40026        )
40027    );
40028    assert_eq!(
40029        unsafe { ::std::ptr::addr_of!((*ptr).gui_ask_unsaved) as usize - ptr as usize },
40030        188usize,
40031        concat!(
40032            "Offset of field: ",
40033            stringify!(_e_prefs),
40034            "::",
40035            stringify!(gui_ask_unsaved)
40036        )
40037    );
40038    assert_eq!(
40039        unsafe { ::std::ptr::addr_of!((*ptr).gui_autocomplete_filter) as usize - ptr as usize },
40040        192usize,
40041        concat!(
40042            "Offset of field: ",
40043            stringify!(_e_prefs),
40044            "::",
40045            stringify!(gui_autocomplete_filter)
40046        )
40047    );
40048    assert_eq!(
40049        unsafe { ::std::ptr::addr_of!((*ptr).gui_find_wrap) as usize - ptr as usize },
40050        196usize,
40051        concat!(
40052            "Offset of field: ",
40053            stringify!(_e_prefs),
40054            "::",
40055            stringify!(gui_find_wrap)
40056        )
40057    );
40058    assert_eq!(
40059        unsafe { ::std::ptr::addr_of!((*ptr).gui_window_title) as usize - ptr as usize },
40060        200usize,
40061        concat!(
40062            "Offset of field: ",
40063            stringify!(_e_prefs),
40064            "::",
40065            stringify!(gui_window_title)
40066        )
40067    );
40068    assert_eq!(
40069        unsafe { ::std::ptr::addr_of!((*ptr).gui_prepend_window_title) as usize - ptr as usize },
40070        208usize,
40071        concat!(
40072            "Offset of field: ",
40073            stringify!(_e_prefs),
40074            "::",
40075            stringify!(gui_prepend_window_title)
40076        )
40077    );
40078    assert_eq!(
40079        unsafe { ::std::ptr::addr_of!((*ptr).gui_start_title) as usize - ptr as usize },
40080        216usize,
40081        concat!(
40082            "Offset of field: ",
40083            stringify!(_e_prefs),
40084            "::",
40085            stringify!(gui_start_title)
40086        )
40087    );
40088    assert_eq!(
40089        unsafe { ::std::ptr::addr_of!((*ptr).gui_version_placement) as usize - ptr as usize },
40090        224usize,
40091        concat!(
40092            "Offset of field: ",
40093            stringify!(_e_prefs),
40094            "::",
40095            stringify!(gui_version_placement)
40096        )
40097    );
40098    assert_eq!(
40099        unsafe { ::std::ptr::addr_of!((*ptr).gui_max_export_objects) as usize - ptr as usize },
40100        228usize,
40101        concat!(
40102            "Offset of field: ",
40103            stringify!(_e_prefs),
40104            "::",
40105            stringify!(gui_max_export_objects)
40106        )
40107    );
40108    assert_eq!(
40109        unsafe { ::std::ptr::addr_of!((*ptr).gui_max_tree_items) as usize - ptr as usize },
40110        232usize,
40111        concat!(
40112            "Offset of field: ",
40113            stringify!(_e_prefs),
40114            "::",
40115            stringify!(gui_max_tree_items)
40116        )
40117    );
40118    assert_eq!(
40119        unsafe { ::std::ptr::addr_of!((*ptr).gui_max_tree_depth) as usize - ptr as usize },
40120        236usize,
40121        concat!(
40122            "Offset of field: ",
40123            stringify!(_e_prefs),
40124            "::",
40125            stringify!(gui_max_tree_depth)
40126        )
40127    );
40128    assert_eq!(
40129        unsafe { ::std::ptr::addr_of!((*ptr).gui_layout_type) as usize - ptr as usize },
40130        240usize,
40131        concat!(
40132            "Offset of field: ",
40133            stringify!(_e_prefs),
40134            "::",
40135            stringify!(gui_layout_type)
40136        )
40137    );
40138    assert_eq!(
40139        unsafe { ::std::ptr::addr_of!((*ptr).gui_layout_content_1) as usize - ptr as usize },
40140        244usize,
40141        concat!(
40142            "Offset of field: ",
40143            stringify!(_e_prefs),
40144            "::",
40145            stringify!(gui_layout_content_1)
40146        )
40147    );
40148    assert_eq!(
40149        unsafe { ::std::ptr::addr_of!((*ptr).gui_layout_content_2) as usize - ptr as usize },
40150        248usize,
40151        concat!(
40152            "Offset of field: ",
40153            stringify!(_e_prefs),
40154            "::",
40155            stringify!(gui_layout_content_2)
40156        )
40157    );
40158    assert_eq!(
40159        unsafe { ::std::ptr::addr_of!((*ptr).gui_layout_content_3) as usize - ptr as usize },
40160        252usize,
40161        concat!(
40162            "Offset of field: ",
40163            stringify!(_e_prefs),
40164            "::",
40165            stringify!(gui_layout_content_3)
40166        )
40167    );
40168    assert_eq!(
40169        unsafe { ::std::ptr::addr_of!((*ptr).gui_interfaces_hide_types) as usize - ptr as usize },
40170        256usize,
40171        concat!(
40172            "Offset of field: ",
40173            stringify!(_e_prefs),
40174            "::",
40175            stringify!(gui_interfaces_hide_types)
40176        )
40177    );
40178    assert_eq!(
40179        unsafe { ::std::ptr::addr_of!((*ptr).gui_interfaces_show_hidden) as usize - ptr as usize },
40180        264usize,
40181        concat!(
40182            "Offset of field: ",
40183            stringify!(_e_prefs),
40184            "::",
40185            stringify!(gui_interfaces_show_hidden)
40186        )
40187    );
40188    assert_eq!(
40189        unsafe {
40190            ::std::ptr::addr_of!((*ptr).gui_interfaces_remote_display) as usize - ptr as usize
40191        },
40192        268usize,
40193        concat!(
40194            "Offset of field: ",
40195            stringify!(_e_prefs),
40196            "::",
40197            stringify!(gui_interfaces_remote_display)
40198        )
40199    );
40200    assert_eq!(
40201        unsafe {
40202            ::std::ptr::addr_of!((*ptr).gui_io_graph_automatic_update) as usize - ptr as usize
40203        },
40204        272usize,
40205        concat!(
40206            "Offset of field: ",
40207            stringify!(_e_prefs),
40208            "::",
40209            stringify!(gui_io_graph_automatic_update)
40210        )
40211    );
40212    assert_eq!(
40213        unsafe {
40214            ::std::ptr::addr_of!((*ptr).gui_packet_details_show_byteview) as usize - ptr as usize
40215        },
40216        276usize,
40217        concat!(
40218            "Offset of field: ",
40219            stringify!(_e_prefs),
40220            "::",
40221            stringify!(gui_packet_details_show_byteview)
40222        )
40223    );
40224    assert_eq!(
40225        unsafe { ::std::ptr::addr_of!((*ptr).capture_device) as usize - ptr as usize },
40226        280usize,
40227        concat!(
40228            "Offset of field: ",
40229            stringify!(_e_prefs),
40230            "::",
40231            stringify!(capture_device)
40232        )
40233    );
40234    assert_eq!(
40235        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_linktypes) as usize - ptr as usize },
40236        288usize,
40237        concat!(
40238            "Offset of field: ",
40239            stringify!(_e_prefs),
40240            "::",
40241            stringify!(capture_devices_linktypes)
40242        )
40243    );
40244    assert_eq!(
40245        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_descr) as usize - ptr as usize },
40246        296usize,
40247        concat!(
40248            "Offset of field: ",
40249            stringify!(_e_prefs),
40250            "::",
40251            stringify!(capture_devices_descr)
40252        )
40253    );
40254    assert_eq!(
40255        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_hide) as usize - ptr as usize },
40256        304usize,
40257        concat!(
40258            "Offset of field: ",
40259            stringify!(_e_prefs),
40260            "::",
40261            stringify!(capture_devices_hide)
40262        )
40263    );
40264    assert_eq!(
40265        unsafe {
40266            ::std::ptr::addr_of!((*ptr).capture_devices_monitor_mode) as usize - ptr as usize
40267        },
40268        312usize,
40269        concat!(
40270            "Offset of field: ",
40271            stringify!(_e_prefs),
40272            "::",
40273            stringify!(capture_devices_monitor_mode)
40274        )
40275    );
40276    assert_eq!(
40277        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_buffersize) as usize - ptr as usize },
40278        320usize,
40279        concat!(
40280            "Offset of field: ",
40281            stringify!(_e_prefs),
40282            "::",
40283            stringify!(capture_devices_buffersize)
40284        )
40285    );
40286    assert_eq!(
40287        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_snaplen) as usize - ptr as usize },
40288        328usize,
40289        concat!(
40290            "Offset of field: ",
40291            stringify!(_e_prefs),
40292            "::",
40293            stringify!(capture_devices_snaplen)
40294        )
40295    );
40296    assert_eq!(
40297        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_pmode) as usize - ptr as usize },
40298        336usize,
40299        concat!(
40300            "Offset of field: ",
40301            stringify!(_e_prefs),
40302            "::",
40303            stringify!(capture_devices_pmode)
40304        )
40305    );
40306    assert_eq!(
40307        unsafe { ::std::ptr::addr_of!((*ptr).capture_devices_filter) as usize - ptr as usize },
40308        344usize,
40309        concat!(
40310            "Offset of field: ",
40311            stringify!(_e_prefs),
40312            "::",
40313            stringify!(capture_devices_filter)
40314        )
40315    );
40316    assert_eq!(
40317        unsafe { ::std::ptr::addr_of!((*ptr).capture_prom_mode) as usize - ptr as usize },
40318        352usize,
40319        concat!(
40320            "Offset of field: ",
40321            stringify!(_e_prefs),
40322            "::",
40323            stringify!(capture_prom_mode)
40324        )
40325    );
40326    assert_eq!(
40327        unsafe { ::std::ptr::addr_of!((*ptr).capture_pcap_ng) as usize - ptr as usize },
40328        356usize,
40329        concat!(
40330            "Offset of field: ",
40331            stringify!(_e_prefs),
40332            "::",
40333            stringify!(capture_pcap_ng)
40334        )
40335    );
40336    assert_eq!(
40337        unsafe { ::std::ptr::addr_of!((*ptr).capture_real_time) as usize - ptr as usize },
40338        360usize,
40339        concat!(
40340            "Offset of field: ",
40341            stringify!(_e_prefs),
40342            "::",
40343            stringify!(capture_real_time)
40344        )
40345    );
40346    assert_eq!(
40347        unsafe { ::std::ptr::addr_of!((*ptr).capture_auto_scroll) as usize - ptr as usize },
40348        364usize,
40349        concat!(
40350            "Offset of field: ",
40351            stringify!(_e_prefs),
40352            "::",
40353            stringify!(capture_auto_scroll)
40354        )
40355    );
40356    assert_eq!(
40357        unsafe { ::std::ptr::addr_of!((*ptr).capture_no_interface_load) as usize - ptr as usize },
40358        368usize,
40359        concat!(
40360            "Offset of field: ",
40361            stringify!(_e_prefs),
40362            "::",
40363            stringify!(capture_no_interface_load)
40364        )
40365    );
40366    assert_eq!(
40367        unsafe { ::std::ptr::addr_of!((*ptr).capture_no_extcap) as usize - ptr as usize },
40368        372usize,
40369        concat!(
40370            "Offset of field: ",
40371            stringify!(_e_prefs),
40372            "::",
40373            stringify!(capture_no_extcap)
40374        )
40375    );
40376    assert_eq!(
40377        unsafe { ::std::ptr::addr_of!((*ptr).capture_show_info) as usize - ptr as usize },
40378        376usize,
40379        concat!(
40380            "Offset of field: ",
40381            stringify!(_e_prefs),
40382            "::",
40383            stringify!(capture_show_info)
40384        )
40385    );
40386    assert_eq!(
40387        unsafe { ::std::ptr::addr_of!((*ptr).capture_columns) as usize - ptr as usize },
40388        384usize,
40389        concat!(
40390            "Offset of field: ",
40391            stringify!(_e_prefs),
40392            "::",
40393            stringify!(capture_columns)
40394        )
40395    );
40396    assert_eq!(
40397        unsafe { ::std::ptr::addr_of!((*ptr).tap_update_interval) as usize - ptr as usize },
40398        392usize,
40399        concat!(
40400            "Offset of field: ",
40401            stringify!(_e_prefs),
40402            "::",
40403            stringify!(tap_update_interval)
40404        )
40405    );
40406    assert_eq!(
40407        unsafe { ::std::ptr::addr_of!((*ptr).display_hidden_proto_items) as usize - ptr as usize },
40408        396usize,
40409        concat!(
40410            "Offset of field: ",
40411            stringify!(_e_prefs),
40412            "::",
40413            stringify!(display_hidden_proto_items)
40414        )
40415    );
40416    assert_eq!(
40417        unsafe {
40418            ::std::ptr::addr_of!((*ptr).display_byte_fields_with_spaces) as usize - ptr as usize
40419        },
40420        400usize,
40421        concat!(
40422            "Offset of field: ",
40423            stringify!(_e_prefs),
40424            "::",
40425            stringify!(display_byte_fields_with_spaces)
40426        )
40427    );
40428    assert_eq!(
40429        unsafe {
40430            ::std::ptr::addr_of!((*ptr).enable_incomplete_dissectors_check) as usize - ptr as usize
40431        },
40432        404usize,
40433        concat!(
40434            "Offset of field: ",
40435            stringify!(_e_prefs),
40436            "::",
40437            stringify!(enable_incomplete_dissectors_check)
40438        )
40439    );
40440    assert_eq!(
40441        unsafe {
40442            ::std::ptr::addr_of!((*ptr).incomplete_dissectors_check_debug) as usize - ptr as usize
40443        },
40444        408usize,
40445        concat!(
40446            "Offset of field: ",
40447            stringify!(_e_prefs),
40448            "::",
40449            stringify!(incomplete_dissectors_check_debug)
40450        )
40451    );
40452    assert_eq!(
40453        unsafe {
40454            ::std::ptr::addr_of!((*ptr).strict_conversation_tracking_heuristics) as usize
40455                - ptr as usize
40456        },
40457        412usize,
40458        concat!(
40459            "Offset of field: ",
40460            stringify!(_e_prefs),
40461            "::",
40462            stringify!(strict_conversation_tracking_heuristics)
40463        )
40464    );
40465    assert_eq!(
40466        unsafe { ::std::ptr::addr_of!((*ptr).filter_expressions_old) as usize - ptr as usize },
40467        416usize,
40468        concat!(
40469            "Offset of field: ",
40470            stringify!(_e_prefs),
40471            "::",
40472            stringify!(filter_expressions_old)
40473        )
40474    );
40475    assert_eq!(
40476        unsafe { ::std::ptr::addr_of!((*ptr).gui_update_enabled) as usize - ptr as usize },
40477        420usize,
40478        concat!(
40479            "Offset of field: ",
40480            stringify!(_e_prefs),
40481            "::",
40482            stringify!(gui_update_enabled)
40483        )
40484    );
40485    assert_eq!(
40486        unsafe { ::std::ptr::addr_of!((*ptr).gui_update_channel) as usize - ptr as usize },
40487        424usize,
40488        concat!(
40489            "Offset of field: ",
40490            stringify!(_e_prefs),
40491            "::",
40492            stringify!(gui_update_channel)
40493        )
40494    );
40495    assert_eq!(
40496        unsafe { ::std::ptr::addr_of!((*ptr).gui_update_interval) as usize - ptr as usize },
40497        428usize,
40498        concat!(
40499            "Offset of field: ",
40500            stringify!(_e_prefs),
40501            "::",
40502            stringify!(gui_update_interval)
40503        )
40504    );
40505    assert_eq!(
40506        unsafe { ::std::ptr::addr_of!((*ptr).saved_at_version) as usize - ptr as usize },
40507        432usize,
40508        concat!(
40509            "Offset of field: ",
40510            stringify!(_e_prefs),
40511            "::",
40512            stringify!(saved_at_version)
40513        )
40514    );
40515    assert_eq!(
40516        unsafe { ::std::ptr::addr_of!((*ptr).unknown_prefs) as usize - ptr as usize },
40517        440usize,
40518        concat!(
40519            "Offset of field: ",
40520            stringify!(_e_prefs),
40521            "::",
40522            stringify!(unknown_prefs)
40523        )
40524    );
40525    assert_eq!(
40526        unsafe { ::std::ptr::addr_of!((*ptr).unknown_colorfilters) as usize - ptr as usize },
40527        444usize,
40528        concat!(
40529            "Offset of field: ",
40530            stringify!(_e_prefs),
40531            "::",
40532            stringify!(unknown_colorfilters)
40533        )
40534    );
40535    assert_eq!(
40536        unsafe {
40537            ::std::ptr::addr_of!((*ptr).gui_qt_packet_list_separator) as usize - ptr as usize
40538        },
40539        448usize,
40540        concat!(
40541            "Offset of field: ",
40542            stringify!(_e_prefs),
40543            "::",
40544            stringify!(gui_qt_packet_list_separator)
40545        )
40546    );
40547    assert_eq!(
40548        unsafe {
40549            ::std::ptr::addr_of!((*ptr).gui_qt_packet_header_column_definition) as usize
40550                - ptr as usize
40551        },
40552        452usize,
40553        concat!(
40554            "Offset of field: ",
40555            stringify!(_e_prefs),
40556            "::",
40557            stringify!(gui_qt_packet_header_column_definition)
40558        )
40559    );
40560    assert_eq!(
40561        unsafe {
40562            ::std::ptr::addr_of!((*ptr).gui_qt_packet_list_hover_style) as usize - ptr as usize
40563        },
40564        456usize,
40565        concat!(
40566            "Offset of field: ",
40567            stringify!(_e_prefs),
40568            "::",
40569            stringify!(gui_qt_packet_list_hover_style)
40570        )
40571    );
40572    assert_eq!(
40573        unsafe { ::std::ptr::addr_of!((*ptr).gui_qt_show_selected_packet) as usize - ptr as usize },
40574        460usize,
40575        concat!(
40576            "Offset of field: ",
40577            stringify!(_e_prefs),
40578            "::",
40579            stringify!(gui_qt_show_selected_packet)
40580        )
40581    );
40582    assert_eq!(
40583        unsafe { ::std::ptr::addr_of!((*ptr).gui_qt_show_file_load_time) as usize - ptr as usize },
40584        464usize,
40585        concat!(
40586            "Offset of field: ",
40587            stringify!(_e_prefs),
40588            "::",
40589            stringify!(gui_qt_show_file_load_time)
40590        )
40591    );
40592    assert_eq!(
40593        unsafe { ::std::ptr::addr_of!((*ptr).gui_packet_list_elide_mode) as usize - ptr as usize },
40594        468usize,
40595        concat!(
40596            "Offset of field: ",
40597            stringify!(_e_prefs),
40598            "::",
40599            stringify!(gui_packet_list_elide_mode)
40600        )
40601    );
40602    assert_eq!(
40603        unsafe {
40604            ::std::ptr::addr_of!((*ptr).gui_packet_list_show_related) as usize - ptr as usize
40605        },
40606        472usize,
40607        concat!(
40608            "Offset of field: ",
40609            stringify!(_e_prefs),
40610            "::",
40611            stringify!(gui_packet_list_show_related)
40612        )
40613    );
40614    assert_eq!(
40615        unsafe {
40616            ::std::ptr::addr_of!((*ptr).gui_packet_list_show_minimap) as usize - ptr as usize
40617        },
40618        476usize,
40619        concat!(
40620            "Offset of field: ",
40621            stringify!(_e_prefs),
40622            "::",
40623            stringify!(gui_packet_list_show_minimap)
40624        )
40625    );
40626    assert_eq!(
40627        unsafe { ::std::ptr::addr_of!((*ptr).gui_packet_list_sortable) as usize - ptr as usize },
40628        480usize,
40629        concat!(
40630            "Offset of field: ",
40631            stringify!(_e_prefs),
40632            "::",
40633            stringify!(gui_packet_list_sortable)
40634        )
40635    );
40636    assert_eq!(
40637        unsafe { ::std::ptr::addr_of!((*ptr).gui_decimal_places1) as usize - ptr as usize },
40638        484usize,
40639        concat!(
40640            "Offset of field: ",
40641            stringify!(_e_prefs),
40642            "::",
40643            stringify!(gui_decimal_places1)
40644        )
40645    );
40646    assert_eq!(
40647        unsafe { ::std::ptr::addr_of!((*ptr).gui_decimal_places2) as usize - ptr as usize },
40648        488usize,
40649        concat!(
40650            "Offset of field: ",
40651            stringify!(_e_prefs),
40652            "::",
40653            stringify!(gui_decimal_places2)
40654        )
40655    );
40656    assert_eq!(
40657        unsafe { ::std::ptr::addr_of!((*ptr).gui_decimal_places3) as usize - ptr as usize },
40658        492usize,
40659        concat!(
40660            "Offset of field: ",
40661            stringify!(_e_prefs),
40662            "::",
40663            stringify!(gui_decimal_places3)
40664        )
40665    );
40666    assert_eq!(
40667        unsafe { ::std::ptr::addr_of!((*ptr).gui_rtp_player_use_disk1) as usize - ptr as usize },
40668        496usize,
40669        concat!(
40670            "Offset of field: ",
40671            stringify!(_e_prefs),
40672            "::",
40673            stringify!(gui_rtp_player_use_disk1)
40674        )
40675    );
40676    assert_eq!(
40677        unsafe { ::std::ptr::addr_of!((*ptr).gui_rtp_player_use_disk2) as usize - ptr as usize },
40678        500usize,
40679        concat!(
40680            "Offset of field: ",
40681            stringify!(_e_prefs),
40682            "::",
40683            stringify!(gui_rtp_player_use_disk2)
40684        )
40685    );
40686    assert_eq!(
40687        unsafe { ::std::ptr::addr_of!((*ptr).st_enable_burstinfo) as usize - ptr as usize },
40688        504usize,
40689        concat!(
40690            "Offset of field: ",
40691            stringify!(_e_prefs),
40692            "::",
40693            stringify!(st_enable_burstinfo)
40694        )
40695    );
40696    assert_eq!(
40697        unsafe { ::std::ptr::addr_of!((*ptr).st_burst_showcount) as usize - ptr as usize },
40698        508usize,
40699        concat!(
40700            "Offset of field: ",
40701            stringify!(_e_prefs),
40702            "::",
40703            stringify!(st_burst_showcount)
40704        )
40705    );
40706    assert_eq!(
40707        unsafe { ::std::ptr::addr_of!((*ptr).st_burst_resolution) as usize - ptr as usize },
40708        512usize,
40709        concat!(
40710            "Offset of field: ",
40711            stringify!(_e_prefs),
40712            "::",
40713            stringify!(st_burst_resolution)
40714        )
40715    );
40716    assert_eq!(
40717        unsafe { ::std::ptr::addr_of!((*ptr).st_burst_windowlen) as usize - ptr as usize },
40718        516usize,
40719        concat!(
40720            "Offset of field: ",
40721            stringify!(_e_prefs),
40722            "::",
40723            stringify!(st_burst_windowlen)
40724        )
40725    );
40726    assert_eq!(
40727        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_casesensitve) as usize - ptr as usize },
40728        520usize,
40729        concat!(
40730            "Offset of field: ",
40731            stringify!(_e_prefs),
40732            "::",
40733            stringify!(st_sort_casesensitve)
40734        )
40735    );
40736    assert_eq!(
40737        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_rng_fixorder) as usize - ptr as usize },
40738        524usize,
40739        concat!(
40740            "Offset of field: ",
40741            stringify!(_e_prefs),
40742            "::",
40743            stringify!(st_sort_rng_fixorder)
40744        )
40745    );
40746    assert_eq!(
40747        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_rng_nameonly) as usize - ptr as usize },
40748        528usize,
40749        concat!(
40750            "Offset of field: ",
40751            stringify!(_e_prefs),
40752            "::",
40753            stringify!(st_sort_rng_nameonly)
40754        )
40755    );
40756    assert_eq!(
40757        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_defcolflag) as usize - ptr as usize },
40758        532usize,
40759        concat!(
40760            "Offset of field: ",
40761            stringify!(_e_prefs),
40762            "::",
40763            stringify!(st_sort_defcolflag)
40764        )
40765    );
40766    assert_eq!(
40767        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_defdescending) as usize - ptr as usize },
40768        536usize,
40769        concat!(
40770            "Offset of field: ",
40771            stringify!(_e_prefs),
40772            "::",
40773            stringify!(st_sort_defdescending)
40774        )
40775    );
40776    assert_eq!(
40777        unsafe { ::std::ptr::addr_of!((*ptr).st_sort_showfullname) as usize - ptr as usize },
40778        540usize,
40779        concat!(
40780            "Offset of field: ",
40781            stringify!(_e_prefs),
40782            "::",
40783            stringify!(st_sort_showfullname)
40784        )
40785    );
40786    assert_eq!(
40787        unsafe { ::std::ptr::addr_of!((*ptr).extcap_save_on_start) as usize - ptr as usize },
40788        544usize,
40789        concat!(
40790            "Offset of field: ",
40791            stringify!(_e_prefs),
40792            "::",
40793            stringify!(extcap_save_on_start)
40794        )
40795    );
40796}
40797pub type e_prefs = _e_prefs;
40798extern "C" {
40799    pub static mut prefs: e_prefs;
40800}
40801#[repr(C)]
40802#[derive(Debug, Copy, Clone)]
40803pub struct pref_module {
40804    _unused: [u8; 0],
40805}
40806#[repr(C)]
40807#[derive(Debug, Copy, Clone)]
40808pub struct pref_custom_cbs {
40809    _unused: [u8; 0],
40810}
40811pub type module_t = pref_module;
40812extern "C" {
40813    pub fn prefs_init();
40814}
40815extern "C" {
40816    pub fn prefs_reset();
40817}
40818extern "C" {
40819    pub fn prefs_cleanup();
40820}
40821extern "C" {
40822    pub fn prefs_set_gui_theme_is_dark(is_dark: gboolean);
40823}
40824extern "C" {
40825    pub fn prefs_register_protocol(
40826        id: ::std::os::raw::c_int,
40827        apply_cb: ::std::option::Option<unsafe extern "C" fn()>,
40828    ) -> *mut module_t;
40829}
40830extern "C" {
40831    pub fn prefs_register_module_alias(name: *const ::std::os::raw::c_char, module: *mut module_t);
40832}
40833extern "C" {
40834    pub fn prefs_deregister_protocol(id: ::std::os::raw::c_int);
40835}
40836extern "C" {
40837    pub fn prefs_register_stat(
40838        name: *const ::std::os::raw::c_char,
40839        title: *const ::std::os::raw::c_char,
40840        description: *const ::std::os::raw::c_char,
40841        apply_cb: ::std::option::Option<unsafe extern "C" fn()>,
40842    ) -> *mut module_t;
40843}
40844extern "C" {
40845    pub fn prefs_register_codec(
40846        name: *const ::std::os::raw::c_char,
40847        title: *const ::std::os::raw::c_char,
40848        description: *const ::std::os::raw::c_char,
40849        apply_cb: ::std::option::Option<unsafe extern "C" fn()>,
40850    ) -> *mut module_t;
40851}
40852extern "C" {
40853    pub fn prefs_register_protocol_subtree(
40854        subtree: *const ::std::os::raw::c_char,
40855        id: ::std::os::raw::c_int,
40856        apply_cb: ::std::option::Option<unsafe extern "C" fn()>,
40857    ) -> *mut module_t;
40858}
40859extern "C" {
40860    pub fn prefs_register_protocol_obsolete(id: ::std::os::raw::c_int) -> *mut module_t;
40861}
40862pub type module_cb = ::std::option::Option<
40863    unsafe extern "C" fn(module: *mut module_t, user_data: gpointer) -> guint,
40864>;
40865extern "C" {
40866    pub fn prefs_module_has_submodules(module: *mut module_t) -> gboolean;
40867}
40868extern "C" {
40869    pub fn prefs_modules_foreach(callback: module_cb, user_data: gpointer) -> guint;
40870}
40871extern "C" {
40872    pub fn prefs_modules_foreach_submodules(
40873        module: *mut module_t,
40874        callback: module_cb,
40875        user_data: gpointer,
40876    ) -> guint;
40877}
40878extern "C" {
40879    pub fn prefs_apply_all();
40880}
40881extern "C" {
40882    pub fn prefs_apply(module: *mut module_t);
40883}
40884#[repr(C)]
40885#[derive(Debug, Copy, Clone)]
40886pub struct preference {
40887    _unused: [u8; 0],
40888}
40889pub type pref_t = preference;
40890extern "C" {
40891    pub fn prefs_is_registered_protocol(name: *const ::std::os::raw::c_char) -> gboolean;
40892}
40893extern "C" {
40894    pub fn prefs_get_title_by_name(
40895        name: *const ::std::os::raw::c_char,
40896    ) -> *const ::std::os::raw::c_char;
40897}
40898extern "C" {
40899    pub fn prefs_find_module(name: *const ::std::os::raw::c_char) -> *mut module_t;
40900}
40901extern "C" {
40902    pub fn prefs_find_preference(
40903        module: *mut module_t,
40904        pref: *const ::std::os::raw::c_char,
40905    ) -> *mut pref_t;
40906}
40907extern "C" {
40908    pub fn prefs_register_uint_preference(
40909        module: *mut module_t,
40910        name: *const ::std::os::raw::c_char,
40911        title: *const ::std::os::raw::c_char,
40912        description: *const ::std::os::raw::c_char,
40913        base: guint,
40914        var: *mut guint,
40915    );
40916}
40917extern "C" {
40918    pub fn prefs_register_bool_preference(
40919        module: *mut module_t,
40920        name: *const ::std::os::raw::c_char,
40921        title: *const ::std::os::raw::c_char,
40922        description: *const ::std::os::raw::c_char,
40923        var: *mut gboolean,
40924    );
40925}
40926extern "C" {
40927    pub fn prefs_register_enum_preference(
40928        module: *mut module_t,
40929        name: *const ::std::os::raw::c_char,
40930        title: *const ::std::os::raw::c_char,
40931        description: *const ::std::os::raw::c_char,
40932        var: *mut gint,
40933        enumvals: *const enum_val_t,
40934        radio_buttons: gboolean,
40935    );
40936}
40937extern "C" {
40938    pub fn prefs_register_string_preference(
40939        module: *mut module_t,
40940        name: *const ::std::os::raw::c_char,
40941        title: *const ::std::os::raw::c_char,
40942        description: *const ::std::os::raw::c_char,
40943        var: *mut *const ::std::os::raw::c_char,
40944    );
40945}
40946extern "C" {
40947    pub fn prefs_register_filename_preference(
40948        module: *mut module_t,
40949        name: *const ::std::os::raw::c_char,
40950        title: *const ::std::os::raw::c_char,
40951        description: *const ::std::os::raw::c_char,
40952        var: *mut *const ::std::os::raw::c_char,
40953        for_writing: gboolean,
40954    );
40955}
40956extern "C" {
40957    pub fn prefs_register_directory_preference(
40958        module: *mut module_t,
40959        name: *const ::std::os::raw::c_char,
40960        title: *const ::std::os::raw::c_char,
40961        description: *const ::std::os::raw::c_char,
40962        var: *mut *const ::std::os::raw::c_char,
40963    );
40964}
40965extern "C" {
40966    pub fn prefs_register_range_preference(
40967        module: *mut module_t,
40968        name: *const ::std::os::raw::c_char,
40969        title: *const ::std::os::raw::c_char,
40970        description: *const ::std::os::raw::c_char,
40971        var: *mut *mut range_t,
40972        max_value: guint32,
40973    );
40974}
40975extern "C" {
40976    pub fn prefs_register_static_text_preference(
40977        module: *mut module_t,
40978        name: *const ::std::os::raw::c_char,
40979        title: *const ::std::os::raw::c_char,
40980        description: *const ::std::os::raw::c_char,
40981    );
40982}
40983extern "C" {
40984    pub fn prefs_register_uat_preference(
40985        module: *mut module_t,
40986        name: *const ::std::os::raw::c_char,
40987        title: *const ::std::os::raw::c_char,
40988        description: *const ::std::os::raw::c_char,
40989        uat: *mut epan_uat,
40990    );
40991}
40992extern "C" {
40993    pub fn prefs_register_uat_preference_qt(
40994        module: *mut module_t,
40995        name: *const ::std::os::raw::c_char,
40996        title: *const ::std::os::raw::c_char,
40997        description: *const ::std::os::raw::c_char,
40998        uat: *mut epan_uat,
40999    );
41000}
41001extern "C" {
41002    pub fn prefs_register_color_preference(
41003        module: *mut module_t,
41004        name: *const ::std::os::raw::c_char,
41005        title: *const ::std::os::raw::c_char,
41006        description: *const ::std::os::raw::c_char,
41007        color: *mut color_t,
41008    );
41009}
41010extern "C" {
41011    pub fn prefs_register_custom_preference(
41012        module: *mut module_t,
41013        name: *const ::std::os::raw::c_char,
41014        title: *const ::std::os::raw::c_char,
41015        description: *const ::std::os::raw::c_char,
41016        custom_cbs: *mut pref_custom_cbs,
41017        custom_data: *mut *mut ::std::os::raw::c_void,
41018    );
41019}
41020extern "C" {
41021    pub fn prefs_register_decode_as_range_preference(
41022        module: *mut module_t,
41023        name: *const ::std::os::raw::c_char,
41024        title: *const ::std::os::raw::c_char,
41025        description: *const ::std::os::raw::c_char,
41026        var: *mut *mut range_t,
41027        max_value: guint32,
41028    );
41029}
41030extern "C" {
41031    pub fn prefs_register_password_preference(
41032        module: *mut module_t,
41033        name: *const ::std::os::raw::c_char,
41034        title: *const ::std::os::raw::c_char,
41035        description: *const ::std::os::raw::c_char,
41036        var: *mut *const ::std::os::raw::c_char,
41037    );
41038}
41039extern "C" {
41040    pub fn prefs_register_obsolete_preference(
41041        module: *mut module_t,
41042        name: *const ::std::os::raw::c_char,
41043    );
41044}
41045extern "C" {
41046    pub fn prefs_set_preference_effect_fields(
41047        module: *mut module_t,
41048        name: *const ::std::os::raw::c_char,
41049    );
41050}
41051pub type pref_cb =
41052    ::std::option::Option<unsafe extern "C" fn(pref: *mut pref_t, user_data: gpointer) -> guint>;
41053extern "C" {
41054    pub fn prefs_pref_foreach(
41055        module: *mut module_t,
41056        callback: pref_cb,
41057        user_data: gpointer,
41058    ) -> guint;
41059}
41060extern "C" {
41061    pub fn prefs_get_string_list(str_: *const gchar) -> *mut GList;
41062}
41063extern "C" {
41064    pub fn prefs_clear_string_list(sl: *mut GList);
41065}
41066extern "C" {
41067    pub fn prefs_pref_type_name(pref: *mut pref_t) -> *const ::std::os::raw::c_char;
41068}
41069extern "C" {
41070    pub fn prefs_pref_type_description(pref: *mut pref_t) -> *mut ::std::os::raw::c_char;
41071}
41072extern "C" {
41073    pub fn prefs_pref_to_str(
41074        pref: *mut pref_t,
41075        source: pref_source_t,
41076    ) -> *mut ::std::os::raw::c_char;
41077}
41078extern "C" {
41079    pub fn read_prefs() -> *mut e_prefs;
41080}
41081extern "C" {
41082    pub fn write_prefs(pf_path_return: *mut *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
41083}
41084pub const prefs_set_pref_e_PREFS_SET_OK: prefs_set_pref_e = 0;
41085pub const prefs_set_pref_e_PREFS_SET_SYNTAX_ERR: prefs_set_pref_e = 1;
41086pub const prefs_set_pref_e_PREFS_SET_NO_SUCH_PREF: prefs_set_pref_e = 2;
41087pub const prefs_set_pref_e_PREFS_SET_OBSOLETE: prefs_set_pref_e = 3;
41088pub type prefs_set_pref_e = ::std::os::raw::c_uint;
41089extern "C" {
41090    pub fn prefs_set_pref(
41091        prefarg: *mut ::std::os::raw::c_char,
41092        errmsg: *mut *mut ::std::os::raw::c_char,
41093    ) -> prefs_set_pref_e;
41094}
41095extern "C" {
41096    pub fn prefs_get_preference_obsolete(pref: *mut pref_t) -> gboolean;
41097}
41098extern "C" {
41099    pub fn prefs_set_preference_obsolete(pref: *mut pref_t) -> prefs_set_pref_e;
41100}
41101extern "C" {
41102    pub fn prefs_get_uint_value(
41103        module_name: *const ::std::os::raw::c_char,
41104        pref_name: *const ::std::os::raw::c_char,
41105    ) -> guint;
41106}
41107extern "C" {
41108    pub fn prefs_get_range_value(
41109        module_name: *const ::std::os::raw::c_char,
41110        pref_name: *const ::std::os::raw::c_char,
41111    ) -> *mut range_t;
41112}
41113extern "C" {
41114    pub fn prefs_is_capture_device_hidden(name: *const ::std::os::raw::c_char) -> gboolean;
41115}
41116extern "C" {
41117    pub fn prefs_capture_device_monitor_mode(name: *const ::std::os::raw::c_char) -> gboolean;
41118}
41119extern "C" {
41120    pub fn prefs_capture_options_dialog_column_is_visible(column: *const gchar) -> gboolean;
41121}
41122extern "C" {
41123    pub fn prefs_has_layout_pane_content(layout_pane_content: layout_pane_content_e) -> gboolean;
41124}
41125extern "C" {
41126    pub static mut wireshark_abort_on_dissector_bug: gboolean;
41127}
41128extern "C" {
41129    pub static mut wireshark_abort_on_too_many_items: gboolean;
41130}
41131pub type epan_dissect_t = epan_dissect;
41132#[repr(C)]
41133#[derive(Debug, Copy, Clone)]
41134pub struct epan_dfilter {
41135    _unused: [u8; 0],
41136}
41137#[repr(C)]
41138#[derive(Debug, Copy, Clone)]
41139pub struct epan_column_info {
41140    _unused: [u8; 0],
41141}
41142#[repr(C)]
41143#[derive(Debug, Copy, Clone)]
41144pub struct packet_provider_data {
41145    _unused: [u8; 0],
41146}
41147#[repr(C)]
41148#[derive(Debug, Copy, Clone)]
41149pub struct packet_provider_funcs {
41150    pub get_frame_ts: ::std::option::Option<
41151        unsafe extern "C" fn(
41152            prov: *mut packet_provider_data,
41153            frame_num: guint32,
41154        ) -> *const nstime_t,
41155    >,
41156    pub get_interface_name: ::std::option::Option<
41157        unsafe extern "C" fn(
41158            prov: *mut packet_provider_data,
41159            interface_id: guint32,
41160        ) -> *const ::std::os::raw::c_char,
41161    >,
41162    pub get_interface_description: ::std::option::Option<
41163        unsafe extern "C" fn(
41164            prov: *mut packet_provider_data,
41165            interface_id: guint32,
41166        ) -> *const ::std::os::raw::c_char,
41167    >,
41168    pub get_modified_block: ::std::option::Option<
41169        unsafe extern "C" fn(
41170            prov: *mut packet_provider_data,
41171            fd: *const frame_data,
41172        ) -> wtap_block_t,
41173    >,
41174}
41175#[test]
41176fn bindgen_test_layout_packet_provider_funcs() {
41177    const UNINIT: ::std::mem::MaybeUninit<packet_provider_funcs> =
41178        ::std::mem::MaybeUninit::uninit();
41179    let ptr = UNINIT.as_ptr();
41180    assert_eq!(
41181        ::std::mem::size_of::<packet_provider_funcs>(),
41182        32usize,
41183        concat!("Size of: ", stringify!(packet_provider_funcs))
41184    );
41185    assert_eq!(
41186        ::std::mem::align_of::<packet_provider_funcs>(),
41187        8usize,
41188        concat!("Alignment of ", stringify!(packet_provider_funcs))
41189    );
41190    assert_eq!(
41191        unsafe { ::std::ptr::addr_of!((*ptr).get_frame_ts) as usize - ptr as usize },
41192        0usize,
41193        concat!(
41194            "Offset of field: ",
41195            stringify!(packet_provider_funcs),
41196            "::",
41197            stringify!(get_frame_ts)
41198        )
41199    );
41200    assert_eq!(
41201        unsafe { ::std::ptr::addr_of!((*ptr).get_interface_name) as usize - ptr as usize },
41202        8usize,
41203        concat!(
41204            "Offset of field: ",
41205            stringify!(packet_provider_funcs),
41206            "::",
41207            stringify!(get_interface_name)
41208        )
41209    );
41210    assert_eq!(
41211        unsafe { ::std::ptr::addr_of!((*ptr).get_interface_description) as usize - ptr as usize },
41212        16usize,
41213        concat!(
41214            "Offset of field: ",
41215            stringify!(packet_provider_funcs),
41216            "::",
41217            stringify!(get_interface_description)
41218        )
41219    );
41220    assert_eq!(
41221        unsafe { ::std::ptr::addr_of!((*ptr).get_modified_block) as usize - ptr as usize },
41222        24usize,
41223        concat!(
41224            "Offset of field: ",
41225            stringify!(packet_provider_funcs),
41226            "::",
41227            stringify!(get_modified_block)
41228        )
41229    );
41230}
41231extern "C" {
41232    pub fn epan_init(
41233        cb: register_cb,
41234        client_data: *mut ::std::os::raw::c_void,
41235        load_plugins: gboolean,
41236    ) -> gboolean;
41237}
41238extern "C" {
41239    pub fn epan_load_settings() -> *mut e_prefs;
41240}
41241extern "C" {
41242    pub fn epan_cleanup();
41243}
41244#[repr(C)]
41245#[derive(Debug, Copy, Clone)]
41246pub struct epan_plugin {
41247    pub init: ::std::option::Option<unsafe extern "C" fn()>,
41248    pub post_init: ::std::option::Option<unsafe extern "C" fn()>,
41249    pub dissect_init: ::std::option::Option<unsafe extern "C" fn(arg1: *mut epan_dissect_t)>,
41250    pub dissect_cleanup: ::std::option::Option<unsafe extern "C" fn(arg1: *mut epan_dissect_t)>,
41251    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
41252    pub register_all_protocols:
41253        ::std::option::Option<unsafe extern "C" fn(arg1: register_cb, arg2: gpointer)>,
41254    pub register_all_handoffs:
41255        ::std::option::Option<unsafe extern "C" fn(arg1: register_cb, arg2: gpointer)>,
41256    pub register_all_tap_listeners: ::std::option::Option<unsafe extern "C" fn()>,
41257}
41258#[test]
41259fn bindgen_test_layout_epan_plugin() {
41260    const UNINIT: ::std::mem::MaybeUninit<epan_plugin> = ::std::mem::MaybeUninit::uninit();
41261    let ptr = UNINIT.as_ptr();
41262    assert_eq!(
41263        ::std::mem::size_of::<epan_plugin>(),
41264        64usize,
41265        concat!("Size of: ", stringify!(epan_plugin))
41266    );
41267    assert_eq!(
41268        ::std::mem::align_of::<epan_plugin>(),
41269        8usize,
41270        concat!("Alignment of ", stringify!(epan_plugin))
41271    );
41272    assert_eq!(
41273        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
41274        0usize,
41275        concat!(
41276            "Offset of field: ",
41277            stringify!(epan_plugin),
41278            "::",
41279            stringify!(init)
41280        )
41281    );
41282    assert_eq!(
41283        unsafe { ::std::ptr::addr_of!((*ptr).post_init) as usize - ptr as usize },
41284        8usize,
41285        concat!(
41286            "Offset of field: ",
41287            stringify!(epan_plugin),
41288            "::",
41289            stringify!(post_init)
41290        )
41291    );
41292    assert_eq!(
41293        unsafe { ::std::ptr::addr_of!((*ptr).dissect_init) as usize - ptr as usize },
41294        16usize,
41295        concat!(
41296            "Offset of field: ",
41297            stringify!(epan_plugin),
41298            "::",
41299            stringify!(dissect_init)
41300        )
41301    );
41302    assert_eq!(
41303        unsafe { ::std::ptr::addr_of!((*ptr).dissect_cleanup) as usize - ptr as usize },
41304        24usize,
41305        concat!(
41306            "Offset of field: ",
41307            stringify!(epan_plugin),
41308            "::",
41309            stringify!(dissect_cleanup)
41310        )
41311    );
41312    assert_eq!(
41313        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
41314        32usize,
41315        concat!(
41316            "Offset of field: ",
41317            stringify!(epan_plugin),
41318            "::",
41319            stringify!(cleanup)
41320        )
41321    );
41322    assert_eq!(
41323        unsafe { ::std::ptr::addr_of!((*ptr).register_all_protocols) as usize - ptr as usize },
41324        40usize,
41325        concat!(
41326            "Offset of field: ",
41327            stringify!(epan_plugin),
41328            "::",
41329            stringify!(register_all_protocols)
41330        )
41331    );
41332    assert_eq!(
41333        unsafe { ::std::ptr::addr_of!((*ptr).register_all_handoffs) as usize - ptr as usize },
41334        48usize,
41335        concat!(
41336            "Offset of field: ",
41337            stringify!(epan_plugin),
41338            "::",
41339            stringify!(register_all_handoffs)
41340        )
41341    );
41342    assert_eq!(
41343        unsafe { ::std::ptr::addr_of!((*ptr).register_all_tap_listeners) as usize - ptr as usize },
41344        56usize,
41345        concat!(
41346            "Offset of field: ",
41347            stringify!(epan_plugin),
41348            "::",
41349            stringify!(register_all_tap_listeners)
41350        )
41351    );
41352}
41353extern "C" {
41354    pub fn epan_register_plugin(plugin: *const epan_plugin);
41355}
41356extern "C" {
41357    pub fn epan_plugins_supported() -> ::std::os::raw::c_int;
41358}
41359extern "C" {
41360    pub fn epan_conversation_init();
41361}
41362pub type epan_t = epan_session;
41363extern "C" {
41364    pub fn epan_new(
41365        prov: *mut packet_provider_data,
41366        funcs: *const packet_provider_funcs,
41367    ) -> *mut epan_t;
41368}
41369extern "C" {
41370    pub fn epan_get_modified_block(session: *const epan_t, fd: *const frame_data) -> wtap_block_t;
41371}
41372extern "C" {
41373    pub fn epan_get_interface_name(
41374        session: *const epan_t,
41375        interface_id: guint32,
41376    ) -> *const ::std::os::raw::c_char;
41377}
41378extern "C" {
41379    pub fn epan_get_interface_description(
41380        session: *const epan_t,
41381        interface_id: guint32,
41382    ) -> *const ::std::os::raw::c_char;
41383}
41384extern "C" {
41385    pub fn epan_get_frame_ts(session: *const epan_t, frame_num: guint32) -> *const nstime_t;
41386}
41387extern "C" {
41388    pub fn epan_free(session: *mut epan_t);
41389}
41390extern "C" {
41391    pub fn epan_get_version() -> *const gchar;
41392}
41393extern "C" {
41394    pub fn epan_get_version_number(
41395        major: *mut ::std::os::raw::c_int,
41396        minor: *mut ::std::os::raw::c_int,
41397        micro: *mut ::std::os::raw::c_int,
41398    );
41399}
41400extern "C" {
41401    pub fn epan_set_always_visible(force: gboolean);
41402}
41403extern "C" {
41404    pub fn epan_dissect_init(
41405        edt: *mut epan_dissect_t,
41406        session: *mut epan_t,
41407        create_proto_tree: gboolean,
41408        proto_tree_visible: gboolean,
41409    );
41410}
41411extern "C" {
41412    pub fn epan_dissect_new(
41413        session: *mut epan_t,
41414        create_proto_tree: gboolean,
41415        proto_tree_visible: gboolean,
41416    ) -> *mut epan_dissect_t;
41417}
41418extern "C" {
41419    pub fn epan_dissect_reset(edt: *mut epan_dissect_t);
41420}
41421extern "C" {
41422    pub fn epan_dissect_fake_protocols(edt: *mut epan_dissect_t, fake_protocols: gboolean);
41423}
41424extern "C" {
41425    pub fn epan_dissect_run(
41426        edt: *mut epan_dissect_t,
41427        file_type_subtype: ::std::os::raw::c_int,
41428        rec: *mut wtap_rec,
41429        tvb: *mut tvbuff_t,
41430        fd: *mut frame_data,
41431        cinfo: *mut epan_column_info,
41432    );
41433}
41434extern "C" {
41435    pub fn epan_dissect_run_with_taps(
41436        edt: *mut epan_dissect_t,
41437        file_type_subtype: ::std::os::raw::c_int,
41438        rec: *mut wtap_rec,
41439        tvb: *mut tvbuff_t,
41440        fd: *mut frame_data,
41441        cinfo: *mut epan_column_info,
41442    );
41443}
41444extern "C" {
41445    pub fn epan_dissect_file_run(
41446        edt: *mut epan_dissect_t,
41447        rec: *mut wtap_rec,
41448        tvb: *mut tvbuff_t,
41449        fd: *mut frame_data,
41450        cinfo: *mut epan_column_info,
41451    );
41452}
41453extern "C" {
41454    pub fn epan_dissect_file_run_with_taps(
41455        edt: *mut epan_dissect_t,
41456        rec: *mut wtap_rec,
41457        tvb: *mut tvbuff_t,
41458        fd: *mut frame_data,
41459        cinfo: *mut epan_column_info,
41460    );
41461}
41462extern "C" {
41463    pub fn epan_dissect_prime_with_dfilter(edt: *mut epan_dissect_t, dfcode: *const epan_dfilter);
41464}
41465extern "C" {
41466    pub fn epan_dissect_prime_with_hfid(edt: *mut epan_dissect_t, hfid: ::std::os::raw::c_int);
41467}
41468extern "C" {
41469    pub fn epan_dissect_prime_with_hfid_array(edt: *mut epan_dissect_t, hfids: *mut GArray);
41470}
41471extern "C" {
41472    pub fn epan_dissect_fill_in_columns(
41473        edt: *mut epan_dissect_t,
41474        fill_col_exprs: gboolean,
41475        fill_fd_colums: gboolean,
41476    );
41477}
41478extern "C" {
41479    pub fn epan_dissect_packet_contains_field(
41480        edt: *mut epan_dissect_t,
41481        field_name: *const ::std::os::raw::c_char,
41482    ) -> gboolean;
41483}
41484extern "C" {
41485    pub fn epan_dissect_cleanup(edt: *mut epan_dissect_t);
41486}
41487extern "C" {
41488    pub fn epan_dissect_free(edt: *mut epan_dissect_t);
41489}
41490extern "C" {
41491    pub fn epan_custom_set(
41492        edt: *mut epan_dissect_t,
41493        ids: *mut GSList,
41494        occurrence: gint,
41495        result: *mut gchar,
41496        expr: *mut gchar,
41497        size: ::std::os::raw::c_int,
41498    ) -> *const gchar;
41499}
41500extern "C" {
41501    pub fn epan_gather_compile_info(l: feature_list);
41502}
41503extern "C" {
41504    pub fn epan_gather_runtime_info(l: feature_list);
41505}
41506pub type column_info = epan_column_info;
41507pub const COL_8021Q_VLAN_ID: _bindgen_ty_21 = 0;
41508pub const COL_ABS_YMD_TIME: _bindgen_ty_21 = 1;
41509pub const COL_ABS_YDOY_TIME: _bindgen_ty_21 = 2;
41510pub const COL_ABS_TIME: _bindgen_ty_21 = 3;
41511pub const COL_VSAN: _bindgen_ty_21 = 4;
41512pub const COL_CUMULATIVE_BYTES: _bindgen_ty_21 = 5;
41513pub const COL_CUSTOM: _bindgen_ty_21 = 6;
41514pub const COL_DCE_CALL: _bindgen_ty_21 = 7;
41515pub const COL_DELTA_TIME: _bindgen_ty_21 = 8;
41516pub const COL_DELTA_TIME_DIS: _bindgen_ty_21 = 9;
41517pub const COL_RES_DST: _bindgen_ty_21 = 10;
41518pub const COL_UNRES_DST: _bindgen_ty_21 = 11;
41519pub const COL_RES_DST_PORT: _bindgen_ty_21 = 12;
41520pub const COL_UNRES_DST_PORT: _bindgen_ty_21 = 13;
41521pub const COL_DEF_DST: _bindgen_ty_21 = 14;
41522pub const COL_DEF_DST_PORT: _bindgen_ty_21 = 15;
41523pub const COL_EXPERT: _bindgen_ty_21 = 16;
41524pub const COL_IF_DIR: _bindgen_ty_21 = 17;
41525pub const COL_FREQ_CHAN: _bindgen_ty_21 = 18;
41526pub const COL_DEF_DL_DST: _bindgen_ty_21 = 19;
41527pub const COL_DEF_DL_SRC: _bindgen_ty_21 = 20;
41528pub const COL_RES_DL_DST: _bindgen_ty_21 = 21;
41529pub const COL_UNRES_DL_DST: _bindgen_ty_21 = 22;
41530pub const COL_RES_DL_SRC: _bindgen_ty_21 = 23;
41531pub const COL_UNRES_DL_SRC: _bindgen_ty_21 = 24;
41532pub const COL_RSSI: _bindgen_ty_21 = 25;
41533pub const COL_TX_RATE: _bindgen_ty_21 = 26;
41534pub const COL_DSCP_VALUE: _bindgen_ty_21 = 27;
41535pub const COL_INFO: _bindgen_ty_21 = 28;
41536pub const COL_RES_NET_DST: _bindgen_ty_21 = 29;
41537pub const COL_UNRES_NET_DST: _bindgen_ty_21 = 30;
41538pub const COL_RES_NET_SRC: _bindgen_ty_21 = 31;
41539pub const COL_UNRES_NET_SRC: _bindgen_ty_21 = 32;
41540pub const COL_DEF_NET_DST: _bindgen_ty_21 = 33;
41541pub const COL_DEF_NET_SRC: _bindgen_ty_21 = 34;
41542pub const COL_NUMBER: _bindgen_ty_21 = 35;
41543pub const COL_PACKET_LENGTH: _bindgen_ty_21 = 36;
41544pub const COL_PROTOCOL: _bindgen_ty_21 = 37;
41545pub const COL_REL_TIME: _bindgen_ty_21 = 38;
41546pub const COL_DEF_SRC: _bindgen_ty_21 = 39;
41547pub const COL_DEF_SRC_PORT: _bindgen_ty_21 = 40;
41548pub const COL_RES_SRC: _bindgen_ty_21 = 41;
41549pub const COL_UNRES_SRC: _bindgen_ty_21 = 42;
41550pub const COL_RES_SRC_PORT: _bindgen_ty_21 = 43;
41551pub const COL_UNRES_SRC_PORT: _bindgen_ty_21 = 44;
41552pub const COL_TEI: _bindgen_ty_21 = 45;
41553pub const COL_UTC_YMD_TIME: _bindgen_ty_21 = 46;
41554pub const COL_UTC_YDOY_TIME: _bindgen_ty_21 = 47;
41555pub const COL_UTC_TIME: _bindgen_ty_21 = 48;
41556pub const COL_CLS_TIME: _bindgen_ty_21 = 49;
41557pub const NUM_COL_FMTS: _bindgen_ty_21 = 50;
41558pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
41559extern "C" {
41560    pub fn col_get_writable(cinfo: *mut column_info, col: gint) -> gboolean;
41561}
41562extern "C" {
41563    pub fn col_set_writable(cinfo: *mut column_info, col: gint, writable: gboolean);
41564}
41565extern "C" {
41566    pub fn col_set_fence(cinfo: *mut column_info, col: gint);
41567}
41568extern "C" {
41569    pub fn col_clear_fence(cinfo: *mut column_info, col: gint);
41570}
41571extern "C" {
41572    pub fn col_get_text(cinfo: *mut column_info, col: gint) -> *const gchar;
41573}
41574extern "C" {
41575    pub fn col_clear(cinfo: *mut column_info, col: gint);
41576}
41577extern "C" {
41578    pub fn col_set_str(cinfo: *mut column_info, col: gint, str_: *const gchar);
41579}
41580extern "C" {
41581    pub fn col_add_str(cinfo: *mut column_info, col: gint, str_: *const gchar);
41582}
41583extern "C" {
41584    pub fn col_add_lstr(cinfo: *mut column_info, el: gint, str_: *const gchar, ...);
41585}
41586extern "C" {
41587    pub fn col_add_fstr(cinfo: *mut column_info, col: gint, format: *const gchar, ...);
41588}
41589extern "C" {
41590    pub fn col_append_str(cinfo: *mut column_info, col: gint, str_: *const gchar);
41591}
41592extern "C" {
41593    pub fn col_append_str_uint(
41594        cinfo: *mut column_info,
41595        col: gint,
41596        abbrev: *const gchar,
41597        val: guint32,
41598        sep: *const gchar,
41599    );
41600}
41601extern "C" {
41602    pub fn col_append_ports(
41603        cinfo: *mut column_info,
41604        col: gint,
41605        typ: port_type,
41606        src: guint16,
41607        dst: guint16,
41608    );
41609}
41610extern "C" {
41611    pub fn col_append_frame_number(
41612        pinfo: *mut packet_info,
41613        col: gint,
41614        fmt_str: *const gchar,
41615        frame_num: guint,
41616    );
41617}
41618extern "C" {
41619    pub fn col_append_lstr(cinfo: *mut column_info, el: gint, str_: *const gchar, ...);
41620}
41621extern "C" {
41622    pub fn col_append_fstr(cinfo: *mut column_info, col: gint, format: *const gchar, ...);
41623}
41624extern "C" {
41625    pub fn col_prepend_fstr(cinfo: *mut column_info, col: gint, format: *const gchar, ...);
41626}
41627extern "C" {
41628    pub fn col_prepend_fence_fstr(cinfo: *mut column_info, col: gint, format: *const gchar, ...);
41629}
41630extern "C" {
41631    pub fn col_append_sep_str(
41632        cinfo: *mut column_info,
41633        col: gint,
41634        sep: *const gchar,
41635        str_: *const gchar,
41636    );
41637}
41638extern "C" {
41639    pub fn col_append_sep_fstr(
41640        cinfo: *mut column_info,
41641        col: gint,
41642        sep: *const gchar,
41643        format: *const gchar,
41644        ...
41645    );
41646}
41647extern "C" {
41648    pub fn col_set_time(
41649        cinfo: *mut column_info,
41650        col: ::std::os::raw::c_int,
41651        ts: *const nstime_t,
41652        fieldname: *const ::std::os::raw::c_char,
41653    );
41654}
41655extern "C" {
41656    pub fn set_fd_time(epan: *const epan_session, fd: *mut frame_data, buf: *mut gchar);
41657}
41658#[repr(C)]
41659#[derive(Debug, Copy, Clone)]
41660pub struct unit_name_string {
41661    pub singular: *mut ::std::os::raw::c_char,
41662    pub plural: *mut ::std::os::raw::c_char,
41663}
41664#[test]
41665fn bindgen_test_layout_unit_name_string() {
41666    const UNINIT: ::std::mem::MaybeUninit<unit_name_string> = ::std::mem::MaybeUninit::uninit();
41667    let ptr = UNINIT.as_ptr();
41668    assert_eq!(
41669        ::std::mem::size_of::<unit_name_string>(),
41670        16usize,
41671        concat!("Size of: ", stringify!(unit_name_string))
41672    );
41673    assert_eq!(
41674        ::std::mem::align_of::<unit_name_string>(),
41675        8usize,
41676        concat!("Alignment of ", stringify!(unit_name_string))
41677    );
41678    assert_eq!(
41679        unsafe { ::std::ptr::addr_of!((*ptr).singular) as usize - ptr as usize },
41680        0usize,
41681        concat!(
41682            "Offset of field: ",
41683            stringify!(unit_name_string),
41684            "::",
41685            stringify!(singular)
41686        )
41687    );
41688    assert_eq!(
41689        unsafe { ::std::ptr::addr_of!((*ptr).plural) as usize - ptr as usize },
41690        8usize,
41691        concat!(
41692            "Offset of field: ",
41693            stringify!(unit_name_string),
41694            "::",
41695            stringify!(plural)
41696        )
41697    );
41698}
41699extern "C" {
41700    pub fn unit_name_string_get_value(
41701        value: guint32,
41702        units: *const unit_name_string,
41703    ) -> *const ::std::os::raw::c_char;
41704}
41705extern "C" {
41706    pub fn unit_name_string_get_value64(
41707        value: guint64,
41708        units: *const unit_name_string,
41709    ) -> *const ::std::os::raw::c_char;
41710}
41711extern "C" {
41712    pub fn unit_name_string_get_double(
41713        value: f64,
41714        units: *const unit_name_string,
41715    ) -> *const ::std::os::raw::c_char;
41716}
41717extern "C" {
41718    pub static units_foot_feet: unit_name_string;
41719}
41720extern "C" {
41721    pub static units_bit_bits: unit_name_string;
41722}
41723extern "C" {
41724    pub static units_byte_bytes: unit_name_string;
41725}
41726extern "C" {
41727    pub static units_byte_bytespsecond: unit_name_string;
41728}
41729extern "C" {
41730    pub static units_octet_octets: unit_name_string;
41731}
41732extern "C" {
41733    pub static units_word_words: unit_name_string;
41734}
41735extern "C" {
41736    pub static units_tick_ticks: unit_name_string;
41737}
41738extern "C" {
41739    pub static units_meters: unit_name_string;
41740}
41741extern "C" {
41742    pub static units_meter_meters: unit_name_string;
41743}
41744extern "C" {
41745    pub static units_week_weeks: unit_name_string;
41746}
41747extern "C" {
41748    pub static units_day_days: unit_name_string;
41749}
41750extern "C" {
41751    pub static units_hour_hours: unit_name_string;
41752}
41753extern "C" {
41754    pub static units_hours: unit_name_string;
41755}
41756extern "C" {
41757    pub static units_minute_minutes: unit_name_string;
41758}
41759extern "C" {
41760    pub static units_minutes: unit_name_string;
41761}
41762extern "C" {
41763    pub static units_second_seconds: unit_name_string;
41764}
41765extern "C" {
41766    pub static units_seconds: unit_name_string;
41767}
41768extern "C" {
41769    pub static units_millisecond_milliseconds: unit_name_string;
41770}
41771extern "C" {
41772    pub static units_milliseconds: unit_name_string;
41773}
41774extern "C" {
41775    pub static units_microsecond_microseconds: unit_name_string;
41776}
41777extern "C" {
41778    pub static units_microseconds: unit_name_string;
41779}
41780extern "C" {
41781    pub static units_nanosecond_nanoseconds: unit_name_string;
41782}
41783extern "C" {
41784    pub static units_nanoseconds: unit_name_string;
41785}
41786extern "C" {
41787    pub static units_nanometers: unit_name_string;
41788}
41789extern "C" {
41790    pub static units_degree_degrees: unit_name_string;
41791}
41792extern "C" {
41793    pub static units_degree_celsius: unit_name_string;
41794}
41795extern "C" {
41796    pub static units_degree_bearing: unit_name_string;
41797}
41798extern "C" {
41799    pub static units_centibels: unit_name_string;
41800}
41801extern "C" {
41802    pub static units_decibels: unit_name_string;
41803}
41804extern "C" {
41805    pub static units_dbm: unit_name_string;
41806}
41807extern "C" {
41808    pub static units_dbi: unit_name_string;
41809}
41810extern "C" {
41811    pub static units_mbm: unit_name_string;
41812}
41813extern "C" {
41814    pub static units_percent: unit_name_string;
41815}
41816extern "C" {
41817    pub static units_khz: unit_name_string;
41818}
41819extern "C" {
41820    pub static units_ghz: unit_name_string;
41821}
41822extern "C" {
41823    pub static units_mhz: unit_name_string;
41824}
41825extern "C" {
41826    pub static units_hz: unit_name_string;
41827}
41828extern "C" {
41829    pub static units_hz_s: unit_name_string;
41830}
41831extern "C" {
41832    pub static units_kbit: unit_name_string;
41833}
41834extern "C" {
41835    pub static units_kbps: unit_name_string;
41836}
41837extern "C" {
41838    pub static units_kibps: unit_name_string;
41839}
41840extern "C" {
41841    pub static units_pkts: unit_name_string;
41842}
41843extern "C" {
41844    pub static units_pkts_per_sec: unit_name_string;
41845}
41846extern "C" {
41847    pub static units_km: unit_name_string;
41848}
41849extern "C" {
41850    pub static units_kmh: unit_name_string;
41851}
41852extern "C" {
41853    pub static units_milliamps: unit_name_string;
41854}
41855extern "C" {
41856    pub static units_microwatts: unit_name_string;
41857}
41858extern "C" {
41859    pub static units_volt: unit_name_string;
41860}
41861extern "C" {
41862    pub static units_grams_per_second: unit_name_string;
41863}
41864extern "C" {
41865    pub static units_meter_sec: unit_name_string;
41866}
41867extern "C" {
41868    pub static units_meter_sec_squared: unit_name_string;
41869}
41870extern "C" {
41871    pub static units_bit_sec: unit_name_string;
41872}
41873extern "C" {
41874    pub static units_segment_remaining: unit_name_string;
41875}
41876extern "C" {
41877    pub static units_frame_frames: unit_name_string;
41878}
41879extern "C" {
41880    pub static units_revolutions_per_minute: unit_name_string;
41881}
41882extern "C" {
41883    pub static units_kilopascal: unit_name_string;
41884}
41885extern "C" {
41886    pub static units_newton_metre: unit_name_string;
41887}
41888extern "C" {
41889    pub static units_liter_per_hour: unit_name_string;
41890}
41891extern "C" {
41892    pub static units_amp: unit_name_string;
41893}
41894extern "C" {
41895    pub static units_watthour: unit_name_string;
41896}
41897extern "C" {
41898    pub static units_watt: unit_name_string;
41899}
41900extern "C" {
41901    pub static units_bpm: unit_name_string;
41902}
41903extern "C" {
41904    pub static units_calorie: unit_name_string;
41905}
41906extern "C" {
41907    pub fn packet_init();
41908}
41909extern "C" {
41910    pub fn packet_cache_proto_handles();
41911}
41912extern "C" {
41913    pub fn packet_cleanup();
41914}
41915#[repr(C)]
41916#[derive(Debug, Copy, Clone)]
41917pub struct dissector_handle {
41918    _unused: [u8; 0],
41919}
41920pub type dissector_handle_t = *mut dissector_handle;
41921#[repr(C)]
41922#[derive(Debug, Copy, Clone)]
41923pub struct dissector_table {
41924    _unused: [u8; 0],
41925}
41926pub type dissector_table_t = *mut dissector_table;
41927pub type dissector_t = ::std::option::Option<
41928    unsafe extern "C" fn(
41929        arg1: *mut tvbuff_t,
41930        arg2: *mut packet_info,
41931        arg3: *mut proto_tree,
41932        arg4: *mut ::std::os::raw::c_void,
41933    ) -> ::std::os::raw::c_int,
41934>;
41935pub type dissector_cb_t = ::std::option::Option<
41936    unsafe extern "C" fn(
41937        arg1: *mut tvbuff_t,
41938        arg2: *mut packet_info,
41939        arg3: *mut proto_tree,
41940        arg4: *mut ::std::os::raw::c_void,
41941        arg5: *mut ::std::os::raw::c_void,
41942    ) -> ::std::os::raw::c_int,
41943>;
41944pub type heur_dissector_t = ::std::option::Option<
41945    unsafe extern "C" fn(
41946        tvb: *mut tvbuff_t,
41947        pinfo: *mut packet_info,
41948        tree: *mut proto_tree,
41949        arg1: *mut ::std::os::raw::c_void,
41950    ) -> gboolean,
41951>;
41952pub const heuristic_enable_e_HEURISTIC_DISABLE: heuristic_enable_e = 0;
41953pub const heuristic_enable_e_HEURISTIC_ENABLE: heuristic_enable_e = 1;
41954pub type heuristic_enable_e = ::std::os::raw::c_uint;
41955pub type DATFunc = ::std::option::Option<
41956    unsafe extern "C" fn(
41957        table_name: *const gchar,
41958        selector_type: ftenum_t,
41959        key: gpointer,
41960        value: gpointer,
41961        user_data: gpointer,
41962    ),
41963>;
41964pub type DATFunc_handle = ::std::option::Option<
41965    unsafe extern "C" fn(table_name: *const gchar, value: gpointer, user_data: gpointer),
41966>;
41967pub type DATFunc_table = ::std::option::Option<
41968    unsafe extern "C" fn(table_name: *const gchar, ui_name: *const gchar, user_data: gpointer),
41969>;
41970#[repr(C)]
41971#[derive(Debug, Copy, Clone)]
41972pub struct dtbl_entry {
41973    _unused: [u8; 0],
41974}
41975pub type dtbl_entry_t = dtbl_entry;
41976extern "C" {
41977    pub fn dtbl_entry_get_handle(dtbl_entry: *mut dtbl_entry_t) -> dissector_handle_t;
41978}
41979extern "C" {
41980    pub fn dtbl_entry_get_initial_handle(entry: *mut dtbl_entry_t) -> dissector_handle_t;
41981}
41982extern "C" {
41983    pub fn dissector_table_foreach_changed(
41984        table_name: *const ::std::os::raw::c_char,
41985        func: DATFunc,
41986        user_data: gpointer,
41987    );
41988}
41989extern "C" {
41990    pub fn dissector_table_foreach(
41991        table_name: *const ::std::os::raw::c_char,
41992        func: DATFunc,
41993        user_data: gpointer,
41994    );
41995}
41996extern "C" {
41997    pub fn dissector_all_tables_foreach_changed(func: DATFunc, user_data: gpointer);
41998}
41999extern "C" {
42000    pub fn dissector_table_foreach_handle(
42001        table_name: *const ::std::os::raw::c_char,
42002        func: DATFunc_handle,
42003        user_data: gpointer,
42004    );
42005}
42006extern "C" {
42007    pub fn dissector_all_tables_foreach_table(
42008        func: DATFunc_table,
42009        user_data: gpointer,
42010        compare_key_func: GCompareFunc,
42011    );
42012}
42013extern "C" {
42014    pub fn register_dissector_table(
42015        name: *const ::std::os::raw::c_char,
42016        ui_name: *const ::std::os::raw::c_char,
42017        proto: ::std::os::raw::c_int,
42018        type_: ftenum_t,
42019        param: ::std::os::raw::c_int,
42020    ) -> dissector_table_t;
42021}
42022extern "C" {
42023    pub fn register_custom_dissector_table(
42024        name: *const ::std::os::raw::c_char,
42025        ui_name: *const ::std::os::raw::c_char,
42026        proto: ::std::os::raw::c_int,
42027        hash_func: GHashFunc,
42028        key_equal_func: GEqualFunc,
42029    ) -> dissector_table_t;
42030}
42031extern "C" {
42032    pub fn register_dissector_table_alias(
42033        dissector_table: dissector_table_t,
42034        alias_name: *const ::std::os::raw::c_char,
42035    );
42036}
42037extern "C" {
42038    pub fn deregister_dissector_table(name: *const ::std::os::raw::c_char);
42039}
42040extern "C" {
42041    pub fn find_dissector_table(name: *const ::std::os::raw::c_char) -> dissector_table_t;
42042}
42043extern "C" {
42044    pub fn get_dissector_table_ui_name(
42045        name: *const ::std::os::raw::c_char,
42046    ) -> *const ::std::os::raw::c_char;
42047}
42048extern "C" {
42049    pub fn get_dissector_table_selector_type(name: *const ::std::os::raw::c_char) -> ftenum_t;
42050}
42051extern "C" {
42052    pub fn get_dissector_table_param(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
42053}
42054extern "C" {
42055    pub fn dissector_dump_dissector_tables();
42056}
42057extern "C" {
42058    pub fn dissector_add_uint(
42059        name: *const ::std::os::raw::c_char,
42060        pattern: guint32,
42061        handle: dissector_handle_t,
42062    );
42063}
42064extern "C" {
42065    pub fn dissector_add_uint_with_preference(
42066        name: *const ::std::os::raw::c_char,
42067        pattern: guint32,
42068        handle: dissector_handle_t,
42069    );
42070}
42071extern "C" {
42072    pub fn dissector_add_uint_range(
42073        abbrev: *const ::std::os::raw::c_char,
42074        range: *mut epan_range,
42075        handle: dissector_handle_t,
42076    );
42077}
42078extern "C" {
42079    pub fn dissector_add_uint_range_with_preference(
42080        abbrev: *const ::std::os::raw::c_char,
42081        range_str: *const ::std::os::raw::c_char,
42082        handle: dissector_handle_t,
42083    );
42084}
42085extern "C" {
42086    pub fn dissector_delete_uint(
42087        name: *const ::std::os::raw::c_char,
42088        pattern: guint32,
42089        handle: dissector_handle_t,
42090    );
42091}
42092extern "C" {
42093    pub fn dissector_delete_uint_range(
42094        abbrev: *const ::std::os::raw::c_char,
42095        range: *mut epan_range,
42096        handle: dissector_handle_t,
42097    );
42098}
42099extern "C" {
42100    pub fn dissector_delete_all(name: *const ::std::os::raw::c_char, handle: dissector_handle_t);
42101}
42102extern "C" {
42103    pub fn dissector_change_uint(
42104        abbrev: *const ::std::os::raw::c_char,
42105        pattern: guint32,
42106        handle: dissector_handle_t,
42107    );
42108}
42109extern "C" {
42110    pub fn dissector_reset_uint(name: *const ::std::os::raw::c_char, pattern: guint32);
42111}
42112extern "C" {
42113    pub fn dissector_is_uint_changed(
42114        sub_dissectors: dissector_table_t,
42115        uint_val: guint32,
42116    ) -> gboolean;
42117}
42118extern "C" {
42119    pub fn dissector_try_uint(
42120        sub_dissectors: dissector_table_t,
42121        uint_val: guint32,
42122        tvb: *mut tvbuff_t,
42123        pinfo: *mut packet_info,
42124        tree: *mut proto_tree,
42125    ) -> ::std::os::raw::c_int;
42126}
42127extern "C" {
42128    pub fn dissector_try_uint_new(
42129        sub_dissectors: dissector_table_t,
42130        uint_val: guint32,
42131        tvb: *mut tvbuff_t,
42132        pinfo: *mut packet_info,
42133        tree: *mut proto_tree,
42134        add_proto_name: gboolean,
42135        data: *mut ::std::os::raw::c_void,
42136    ) -> ::std::os::raw::c_int;
42137}
42138extern "C" {
42139    pub fn dissector_get_uint_handle(
42140        sub_dissectors: dissector_table_t,
42141        uint_val: guint32,
42142    ) -> dissector_handle_t;
42143}
42144extern "C" {
42145    pub fn dissector_get_default_uint_handle(
42146        name: *const ::std::os::raw::c_char,
42147        uint_val: guint32,
42148    ) -> dissector_handle_t;
42149}
42150extern "C" {
42151    pub fn dissector_add_string(
42152        name: *const ::std::os::raw::c_char,
42153        pattern: *const gchar,
42154        handle: dissector_handle_t,
42155    );
42156}
42157extern "C" {
42158    pub fn dissector_delete_string(
42159        name: *const ::std::os::raw::c_char,
42160        pattern: *const gchar,
42161        handle: dissector_handle_t,
42162    );
42163}
42164extern "C" {
42165    pub fn dissector_change_string(
42166        name: *const ::std::os::raw::c_char,
42167        pattern: *const gchar,
42168        handle: dissector_handle_t,
42169    );
42170}
42171extern "C" {
42172    pub fn dissector_reset_string(name: *const ::std::os::raw::c_char, pattern: *const gchar);
42173}
42174extern "C" {
42175    pub fn dissector_is_string_changed(
42176        subdissectors: dissector_table_t,
42177        string: *const gchar,
42178    ) -> gboolean;
42179}
42180extern "C" {
42181    pub fn dissector_try_string(
42182        sub_dissectors: dissector_table_t,
42183        string: *const gchar,
42184        tvb: *mut tvbuff_t,
42185        pinfo: *mut packet_info,
42186        tree: *mut proto_tree,
42187        data: *mut ::std::os::raw::c_void,
42188    ) -> ::std::os::raw::c_int;
42189}
42190extern "C" {
42191    pub fn dissector_try_string_new(
42192        sub_dissectors: dissector_table_t,
42193        string: *const gchar,
42194        tvb: *mut tvbuff_t,
42195        pinfo: *mut packet_info,
42196        tree: *mut proto_tree,
42197        add_proto_name: gboolean,
42198        data: *mut ::std::os::raw::c_void,
42199    ) -> ::std::os::raw::c_int;
42200}
42201extern "C" {
42202    pub fn dissector_get_string_handle(
42203        sub_dissectors: dissector_table_t,
42204        string: *const gchar,
42205    ) -> dissector_handle_t;
42206}
42207extern "C" {
42208    pub fn dissector_get_default_string_handle(
42209        name: *const ::std::os::raw::c_char,
42210        string: *const gchar,
42211    ) -> dissector_handle_t;
42212}
42213extern "C" {
42214    pub fn dissector_add_custom_table_handle(
42215        name: *const ::std::os::raw::c_char,
42216        pattern: *mut ::std::os::raw::c_void,
42217        handle: dissector_handle_t,
42218    );
42219}
42220extern "C" {
42221    pub fn dissector_get_custom_table_handle(
42222        sub_dissectors: dissector_table_t,
42223        key: *mut ::std::os::raw::c_void,
42224    ) -> dissector_handle_t;
42225}
42226#[repr(C)]
42227#[derive(Debug, Copy, Clone)]
42228pub struct _guid_key {
42229    pub guid: e_guid_t,
42230    pub ver: guint16,
42231}
42232#[test]
42233fn bindgen_test_layout__guid_key() {
42234    const UNINIT: ::std::mem::MaybeUninit<_guid_key> = ::std::mem::MaybeUninit::uninit();
42235    let ptr = UNINIT.as_ptr();
42236    assert_eq!(
42237        ::std::mem::size_of::<_guid_key>(),
42238        20usize,
42239        concat!("Size of: ", stringify!(_guid_key))
42240    );
42241    assert_eq!(
42242        ::std::mem::align_of::<_guid_key>(),
42243        4usize,
42244        concat!("Alignment of ", stringify!(_guid_key))
42245    );
42246    assert_eq!(
42247        unsafe { ::std::ptr::addr_of!((*ptr).guid) as usize - ptr as usize },
42248        0usize,
42249        concat!(
42250            "Offset of field: ",
42251            stringify!(_guid_key),
42252            "::",
42253            stringify!(guid)
42254        )
42255    );
42256    assert_eq!(
42257        unsafe { ::std::ptr::addr_of!((*ptr).ver) as usize - ptr as usize },
42258        16usize,
42259        concat!(
42260            "Offset of field: ",
42261            stringify!(_guid_key),
42262            "::",
42263            stringify!(ver)
42264        )
42265    );
42266}
42267pub type guid_key = _guid_key;
42268extern "C" {
42269    pub fn dissector_add_guid(
42270        name: *const ::std::os::raw::c_char,
42271        guid_val: *mut guid_key,
42272        handle: dissector_handle_t,
42273    );
42274}
42275extern "C" {
42276    pub fn dissector_try_guid(
42277        sub_dissectors: dissector_table_t,
42278        guid_val: *mut guid_key,
42279        tvb: *mut tvbuff_t,
42280        pinfo: *mut packet_info,
42281        tree: *mut proto_tree,
42282    ) -> ::std::os::raw::c_int;
42283}
42284extern "C" {
42285    pub fn dissector_try_guid_new(
42286        sub_dissectors: dissector_table_t,
42287        guid_val: *mut guid_key,
42288        tvb: *mut tvbuff_t,
42289        pinfo: *mut packet_info,
42290        tree: *mut proto_tree,
42291        add_proto_name: gboolean,
42292        data: *mut ::std::os::raw::c_void,
42293    ) -> ::std::os::raw::c_int;
42294}
42295extern "C" {
42296    pub fn dissector_get_guid_handle(
42297        sub_dissectors: dissector_table_t,
42298        guid_val: *mut guid_key,
42299    ) -> dissector_handle_t;
42300}
42301extern "C" {
42302    pub fn dissector_try_payload(
42303        sub_dissectors: dissector_table_t,
42304        tvb: *mut tvbuff_t,
42305        pinfo: *mut packet_info,
42306        tree: *mut proto_tree,
42307    ) -> ::std::os::raw::c_int;
42308}
42309extern "C" {
42310    pub fn dissector_try_payload_new(
42311        sub_dissectors: dissector_table_t,
42312        tvb: *mut tvbuff_t,
42313        pinfo: *mut packet_info,
42314        tree: *mut proto_tree,
42315        add_proto_name: gboolean,
42316        data: *mut ::std::os::raw::c_void,
42317    ) -> ::std::os::raw::c_int;
42318}
42319extern "C" {
42320    pub fn dissector_change_payload(
42321        abbrev: *const ::std::os::raw::c_char,
42322        handle: dissector_handle_t,
42323    );
42324}
42325extern "C" {
42326    pub fn dissector_reset_payload(name: *const ::std::os::raw::c_char);
42327}
42328extern "C" {
42329    pub fn dissector_get_payload_handle(dissector_table: dissector_table_t) -> dissector_handle_t;
42330}
42331extern "C" {
42332    pub fn dissector_add_for_decode_as(
42333        name: *const ::std::os::raw::c_char,
42334        handle: dissector_handle_t,
42335    );
42336}
42337extern "C" {
42338    pub fn dissector_add_for_decode_as_with_preference(
42339        name: *const ::std::os::raw::c_char,
42340        handle: dissector_handle_t,
42341    );
42342}
42343extern "C" {
42344    pub fn dissector_table_get_dissector_handles(dissector_table: dissector_table_t)
42345        -> *mut GSList;
42346}
42347extern "C" {
42348    pub fn dissector_table_get_dissector_handle(
42349        dissector_table: dissector_table_t,
42350        description: *const gchar,
42351    ) -> dissector_handle_t;
42352}
42353extern "C" {
42354    pub fn dissector_table_get_type(dissector_table: dissector_table_t) -> ftenum_t;
42355}
42356extern "C" {
42357    pub fn dissector_table_allow_decode_as(dissector_table: dissector_table_t);
42358}
42359extern "C" {
42360    pub fn dissector_table_supports_decode_as(dissector_table: dissector_table_t) -> gboolean;
42361}
42362#[repr(C)]
42363#[derive(Debug, Copy, Clone)]
42364pub struct heur_dissector_list {
42365    _unused: [u8; 0],
42366}
42367pub type heur_dissector_list_t = *mut heur_dissector_list;
42368#[repr(C)]
42369#[derive(Debug, Copy, Clone)]
42370pub struct heur_dtbl_entry {
42371    pub dissector: heur_dissector_t,
42372    pub protocol: *mut protocol_t,
42373    pub list_name: *mut gchar,
42374    pub display_name: *const gchar,
42375    pub short_name: *mut gchar,
42376    pub enabled: gboolean,
42377}
42378#[test]
42379fn bindgen_test_layout_heur_dtbl_entry() {
42380    const UNINIT: ::std::mem::MaybeUninit<heur_dtbl_entry> = ::std::mem::MaybeUninit::uninit();
42381    let ptr = UNINIT.as_ptr();
42382    assert_eq!(
42383        ::std::mem::size_of::<heur_dtbl_entry>(),
42384        48usize,
42385        concat!("Size of: ", stringify!(heur_dtbl_entry))
42386    );
42387    assert_eq!(
42388        ::std::mem::align_of::<heur_dtbl_entry>(),
42389        8usize,
42390        concat!("Alignment of ", stringify!(heur_dtbl_entry))
42391    );
42392    assert_eq!(
42393        unsafe { ::std::ptr::addr_of!((*ptr).dissector) as usize - ptr as usize },
42394        0usize,
42395        concat!(
42396            "Offset of field: ",
42397            stringify!(heur_dtbl_entry),
42398            "::",
42399            stringify!(dissector)
42400        )
42401    );
42402    assert_eq!(
42403        unsafe { ::std::ptr::addr_of!((*ptr).protocol) as usize - ptr as usize },
42404        8usize,
42405        concat!(
42406            "Offset of field: ",
42407            stringify!(heur_dtbl_entry),
42408            "::",
42409            stringify!(protocol)
42410        )
42411    );
42412    assert_eq!(
42413        unsafe { ::std::ptr::addr_of!((*ptr).list_name) as usize - ptr as usize },
42414        16usize,
42415        concat!(
42416            "Offset of field: ",
42417            stringify!(heur_dtbl_entry),
42418            "::",
42419            stringify!(list_name)
42420        )
42421    );
42422    assert_eq!(
42423        unsafe { ::std::ptr::addr_of!((*ptr).display_name) as usize - ptr as usize },
42424        24usize,
42425        concat!(
42426            "Offset of field: ",
42427            stringify!(heur_dtbl_entry),
42428            "::",
42429            stringify!(display_name)
42430        )
42431    );
42432    assert_eq!(
42433        unsafe { ::std::ptr::addr_of!((*ptr).short_name) as usize - ptr as usize },
42434        32usize,
42435        concat!(
42436            "Offset of field: ",
42437            stringify!(heur_dtbl_entry),
42438            "::",
42439            stringify!(short_name)
42440        )
42441    );
42442    assert_eq!(
42443        unsafe { ::std::ptr::addr_of!((*ptr).enabled) as usize - ptr as usize },
42444        40usize,
42445        concat!(
42446            "Offset of field: ",
42447            stringify!(heur_dtbl_entry),
42448            "::",
42449            stringify!(enabled)
42450        )
42451    );
42452}
42453pub type heur_dtbl_entry_t = heur_dtbl_entry;
42454extern "C" {
42455    pub fn register_heur_dissector_list(
42456        name: *const ::std::os::raw::c_char,
42457        proto: ::std::os::raw::c_int,
42458    ) -> heur_dissector_list_t;
42459}
42460pub type DATFunc_heur = ::std::option::Option<
42461    unsafe extern "C" fn(
42462        table_name: *const gchar,
42463        entry: *mut heur_dtbl_entry,
42464        user_data: gpointer,
42465    ),
42466>;
42467pub type DATFunc_heur_table = ::std::option::Option<
42468    unsafe extern "C" fn(
42469        table_name: *const ::std::os::raw::c_char,
42470        table: *mut heur_dissector_list,
42471        user_data: gpointer,
42472    ),
42473>;
42474extern "C" {
42475    pub fn heur_dissector_table_foreach(
42476        table_name: *const ::std::os::raw::c_char,
42477        func: DATFunc_heur,
42478        user_data: gpointer,
42479    );
42480}
42481extern "C" {
42482    pub fn dissector_all_heur_tables_foreach_table(
42483        func: DATFunc_heur_table,
42484        user_data: gpointer,
42485        compare_key_func: GCompareFunc,
42486    );
42487}
42488extern "C" {
42489    pub fn has_heur_dissector_list(name: *const gchar) -> gboolean;
42490}
42491extern "C" {
42492    pub fn dissector_try_heuristic(
42493        sub_dissectors: heur_dissector_list_t,
42494        tvb: *mut tvbuff_t,
42495        pinfo: *mut packet_info,
42496        tree: *mut proto_tree,
42497        hdtbl_entry: *mut *mut heur_dtbl_entry_t,
42498        data: *mut ::std::os::raw::c_void,
42499    ) -> gboolean;
42500}
42501extern "C" {
42502    pub fn find_heur_dissector_list(name: *const ::std::os::raw::c_char) -> heur_dissector_list_t;
42503}
42504extern "C" {
42505    pub fn find_heur_dissector_by_unique_short_name(
42506        short_name: *const ::std::os::raw::c_char,
42507    ) -> *mut heur_dtbl_entry_t;
42508}
42509extern "C" {
42510    pub fn heur_dissector_add(
42511        name: *const ::std::os::raw::c_char,
42512        dissector: heur_dissector_t,
42513        display_name: *const ::std::os::raw::c_char,
42514        internal_name: *const ::std::os::raw::c_char,
42515        proto: ::std::os::raw::c_int,
42516        enable: heuristic_enable_e,
42517    );
42518}
42519extern "C" {
42520    pub fn heur_dissector_delete(
42521        name: *const ::std::os::raw::c_char,
42522        dissector: heur_dissector_t,
42523        proto: ::std::os::raw::c_int,
42524    );
42525}
42526extern "C" {
42527    pub fn register_dissector(
42528        name: *const ::std::os::raw::c_char,
42529        dissector: dissector_t,
42530        proto: ::std::os::raw::c_int,
42531    ) -> dissector_handle_t;
42532}
42533extern "C" {
42534    pub fn register_dissector_with_description(
42535        name: *const ::std::os::raw::c_char,
42536        description: *const ::std::os::raw::c_char,
42537        dissector: dissector_t,
42538        proto: ::std::os::raw::c_int,
42539    ) -> dissector_handle_t;
42540}
42541extern "C" {
42542    pub fn register_dissector_with_data(
42543        name: *const ::std::os::raw::c_char,
42544        dissector: dissector_cb_t,
42545        proto: ::std::os::raw::c_int,
42546        cb_data: *mut ::std::os::raw::c_void,
42547    ) -> dissector_handle_t;
42548}
42549extern "C" {
42550    pub fn deregister_dissector(name: *const ::std::os::raw::c_char);
42551}
42552extern "C" {
42553    pub fn dissector_handle_get_protocol_long_name(
42554        handle: dissector_handle_t,
42555    ) -> *const ::std::os::raw::c_char;
42556}
42557extern "C" {
42558    pub fn dissector_handle_get_protocol_short_name(
42559        handle: dissector_handle_t,
42560    ) -> *const ::std::os::raw::c_char;
42561}
42562extern "C" {
42563    pub fn dissector_handle_get_short_name(
42564        handle: dissector_handle_t,
42565    ) -> *const ::std::os::raw::c_char;
42566}
42567extern "C" {
42568    pub fn dissector_handle_get_description(
42569        handle: dissector_handle_t,
42570    ) -> *const ::std::os::raw::c_char;
42571}
42572extern "C" {
42573    pub fn dissector_handle_get_protocol_index(handle: dissector_handle_t)
42574        -> ::std::os::raw::c_int;
42575}
42576extern "C" {
42577    pub fn get_dissector_names() -> *mut GList;
42578}
42579extern "C" {
42580    pub fn find_dissector(name: *const ::std::os::raw::c_char) -> dissector_handle_t;
42581}
42582extern "C" {
42583    pub fn find_dissector_add_dependency(
42584        name: *const ::std::os::raw::c_char,
42585        parent_proto: ::std::os::raw::c_int,
42586    ) -> dissector_handle_t;
42587}
42588extern "C" {
42589    pub fn dissector_handle_get_dissector_name(
42590        handle: dissector_handle_t,
42591    ) -> *const ::std::os::raw::c_char;
42592}
42593extern "C" {
42594    pub fn create_dissector_handle(
42595        dissector: dissector_t,
42596        proto: ::std::os::raw::c_int,
42597    ) -> dissector_handle_t;
42598}
42599extern "C" {
42600    pub fn create_dissector_handle_with_name(
42601        dissector: dissector_t,
42602        proto: ::std::os::raw::c_int,
42603        name: *const ::std::os::raw::c_char,
42604    ) -> dissector_handle_t;
42605}
42606extern "C" {
42607    pub fn create_dissector_handle_with_name_and_description(
42608        dissector: dissector_t,
42609        proto: ::std::os::raw::c_int,
42610        name: *const ::std::os::raw::c_char,
42611        description: *const ::std::os::raw::c_char,
42612    ) -> dissector_handle_t;
42613}
42614extern "C" {
42615    pub fn call_dissector_with_data(
42616        handle: dissector_handle_t,
42617        tvb: *mut tvbuff_t,
42618        pinfo: *mut packet_info,
42619        tree: *mut proto_tree,
42620        data: *mut ::std::os::raw::c_void,
42621    ) -> ::std::os::raw::c_int;
42622}
42623extern "C" {
42624    pub fn call_dissector(
42625        handle: dissector_handle_t,
42626        tvb: *mut tvbuff_t,
42627        pinfo: *mut packet_info,
42628        tree: *mut proto_tree,
42629    ) -> ::std::os::raw::c_int;
42630}
42631extern "C" {
42632    pub fn call_data_dissector(
42633        tvb: *mut tvbuff_t,
42634        pinfo: *mut packet_info,
42635        tree: *mut proto_tree,
42636    ) -> ::std::os::raw::c_int;
42637}
42638extern "C" {
42639    pub fn call_dissector_only(
42640        handle: dissector_handle_t,
42641        tvb: *mut tvbuff_t,
42642        pinfo: *mut packet_info,
42643        tree: *mut proto_tree,
42644        data: *mut ::std::os::raw::c_void,
42645    ) -> ::std::os::raw::c_int;
42646}
42647extern "C" {
42648    pub fn call_heur_dissector_direct(
42649        heur_dtbl_entry: *mut heur_dtbl_entry_t,
42650        tvb: *mut tvbuff_t,
42651        pinfo: *mut packet_info,
42652        tree: *mut proto_tree,
42653        data: *mut ::std::os::raw::c_void,
42654    );
42655}
42656#[repr(C)]
42657#[derive(Debug, Copy, Clone)]
42658pub struct depend_dissector_list {
42659    _unused: [u8; 0],
42660}
42661pub type depend_dissector_list_t = *mut depend_dissector_list;
42662extern "C" {
42663    pub fn register_depend_dissector(
42664        parent: *const ::std::os::raw::c_char,
42665        dependent: *const ::std::os::raw::c_char,
42666    ) -> gboolean;
42667}
42668extern "C" {
42669    pub fn deregister_depend_dissector(
42670        parent: *const ::std::os::raw::c_char,
42671        dependent: *const ::std::os::raw::c_char,
42672    ) -> gboolean;
42673}
42674extern "C" {
42675    pub fn find_depend_dissector_list(
42676        name: *const ::std::os::raw::c_char,
42677    ) -> depend_dissector_list_t;
42678}
42679extern "C" {
42680    pub fn dissect_init();
42681}
42682extern "C" {
42683    pub fn dissect_cleanup();
42684}
42685extern "C" {
42686    pub fn set_actual_length(tvb: *mut tvbuff_t, specified_len: guint);
42687}
42688extern "C" {
42689    pub fn register_init_routine(func: ::std::option::Option<unsafe extern "C" fn()>);
42690}
42691extern "C" {
42692    pub fn register_cleanup_routine(func: ::std::option::Option<unsafe extern "C" fn()>);
42693}
42694extern "C" {
42695    pub fn register_shutdown_routine(func: ::std::option::Option<unsafe extern "C" fn()>);
42696}
42697extern "C" {
42698    pub fn init_dissection();
42699}
42700extern "C" {
42701    pub fn cleanup_dissection();
42702}
42703extern "C" {
42704    pub fn register_postseq_cleanup_routine(func: ::std::option::Option<unsafe extern "C" fn()>);
42705}
42706extern "C" {
42707    pub fn postseq_cleanup_all_protocols();
42708}
42709extern "C" {
42710    pub fn register_final_registration_routine(func: ::std::option::Option<unsafe extern "C" fn()>);
42711}
42712extern "C" {
42713    pub fn final_registration_all_protocols();
42714}
42715extern "C" {
42716    pub fn add_new_data_source(
42717        pinfo: *mut packet_info,
42718        tvb: *mut tvbuff_t,
42719        name: *const ::std::os::raw::c_char,
42720    );
42721}
42722extern "C" {
42723    pub fn remove_last_data_source(pinfo: *mut packet_info);
42724}
42725#[repr(C)]
42726#[derive(Debug, Copy, Clone)]
42727pub struct data_source {
42728    _unused: [u8; 0],
42729}
42730extern "C" {
42731    pub fn get_data_source_name(src: *const data_source) -> *mut ::std::os::raw::c_char;
42732}
42733extern "C" {
42734    pub fn get_data_source_tvb(src: *const data_source) -> *mut tvbuff_t;
42735}
42736extern "C" {
42737    pub fn get_data_source_tvb_by_name(
42738        pinfo: *mut packet_info,
42739        name: *const ::std::os::raw::c_char,
42740    ) -> *mut tvbuff_t;
42741}
42742extern "C" {
42743    pub fn free_data_sources(pinfo: *mut packet_info);
42744}
42745extern "C" {
42746    pub fn mark_frame_as_depended_upon(pinfo: *mut packet_info, frame_num: guint32);
42747}
42748#[repr(C)]
42749#[derive(Debug, Copy, Clone)]
42750pub struct frame_data_s {
42751    pub file_type_subtype: ::std::os::raw::c_int,
42752    pub pkt_block: wtap_block_t,
42753    pub color_edt: *mut epan_dissect,
42754}
42755#[test]
42756fn bindgen_test_layout_frame_data_s() {
42757    const UNINIT: ::std::mem::MaybeUninit<frame_data_s> = ::std::mem::MaybeUninit::uninit();
42758    let ptr = UNINIT.as_ptr();
42759    assert_eq!(
42760        ::std::mem::size_of::<frame_data_s>(),
42761        24usize,
42762        concat!("Size of: ", stringify!(frame_data_s))
42763    );
42764    assert_eq!(
42765        ::std::mem::align_of::<frame_data_s>(),
42766        8usize,
42767        concat!("Alignment of ", stringify!(frame_data_s))
42768    );
42769    assert_eq!(
42770        unsafe { ::std::ptr::addr_of!((*ptr).file_type_subtype) as usize - ptr as usize },
42771        0usize,
42772        concat!(
42773            "Offset of field: ",
42774            stringify!(frame_data_s),
42775            "::",
42776            stringify!(file_type_subtype)
42777        )
42778    );
42779    assert_eq!(
42780        unsafe { ::std::ptr::addr_of!((*ptr).pkt_block) as usize - ptr as usize },
42781        8usize,
42782        concat!(
42783            "Offset of field: ",
42784            stringify!(frame_data_s),
42785            "::",
42786            stringify!(pkt_block)
42787        )
42788    );
42789    assert_eq!(
42790        unsafe { ::std::ptr::addr_of!((*ptr).color_edt) as usize - ptr as usize },
42791        16usize,
42792        concat!(
42793            "Offset of field: ",
42794            stringify!(frame_data_s),
42795            "::",
42796            stringify!(color_edt)
42797        )
42798    );
42799}
42800pub type frame_data_t = frame_data_s;
42801#[repr(C)]
42802#[derive(Debug, Copy, Clone)]
42803pub struct file_data_s {
42804    pub pkt_block: wtap_block_t,
42805    pub color_edt: *mut epan_dissect,
42806}
42807#[test]
42808fn bindgen_test_layout_file_data_s() {
42809    const UNINIT: ::std::mem::MaybeUninit<file_data_s> = ::std::mem::MaybeUninit::uninit();
42810    let ptr = UNINIT.as_ptr();
42811    assert_eq!(
42812        ::std::mem::size_of::<file_data_s>(),
42813        16usize,
42814        concat!("Size of: ", stringify!(file_data_s))
42815    );
42816    assert_eq!(
42817        ::std::mem::align_of::<file_data_s>(),
42818        8usize,
42819        concat!("Alignment of ", stringify!(file_data_s))
42820    );
42821    assert_eq!(
42822        unsafe { ::std::ptr::addr_of!((*ptr).pkt_block) as usize - ptr as usize },
42823        0usize,
42824        concat!(
42825            "Offset of field: ",
42826            stringify!(file_data_s),
42827            "::",
42828            stringify!(pkt_block)
42829        )
42830    );
42831    assert_eq!(
42832        unsafe { ::std::ptr::addr_of!((*ptr).color_edt) as usize - ptr as usize },
42833        8usize,
42834        concat!(
42835            "Offset of field: ",
42836            stringify!(file_data_s),
42837            "::",
42838            stringify!(color_edt)
42839        )
42840    );
42841}
42842pub type file_data_t = file_data_s;
42843extern "C" {
42844    pub fn dissect_record(
42845        edt: *mut epan_dissect,
42846        file_type_subtype: ::std::os::raw::c_int,
42847        rec: *mut wtap_rec,
42848        tvb: *mut tvbuff_t,
42849        fd: *mut frame_data,
42850        cinfo: *mut column_info,
42851    );
42852}
42853extern "C" {
42854    pub fn dissect_file(
42855        edt: *mut epan_dissect,
42856        rec: *mut wtap_rec,
42857        tvb: *mut tvbuff_t,
42858        fd: *mut frame_data,
42859        cinfo: *mut column_info,
42860    );
42861}
42862#[repr(C)]
42863#[derive(Debug, Copy, Clone)]
42864pub struct ethertype_data_s {
42865    pub etype: guint16,
42866    pub payload_offset: ::std::os::raw::c_int,
42867    pub fh_tree: *mut proto_tree,
42868    pub trailer_id: ::std::os::raw::c_int,
42869    pub fcs_len: ::std::os::raw::c_int,
42870}
42871#[test]
42872fn bindgen_test_layout_ethertype_data_s() {
42873    const UNINIT: ::std::mem::MaybeUninit<ethertype_data_s> = ::std::mem::MaybeUninit::uninit();
42874    let ptr = UNINIT.as_ptr();
42875    assert_eq!(
42876        ::std::mem::size_of::<ethertype_data_s>(),
42877        24usize,
42878        concat!("Size of: ", stringify!(ethertype_data_s))
42879    );
42880    assert_eq!(
42881        ::std::mem::align_of::<ethertype_data_s>(),
42882        8usize,
42883        concat!("Alignment of ", stringify!(ethertype_data_s))
42884    );
42885    assert_eq!(
42886        unsafe { ::std::ptr::addr_of!((*ptr).etype) as usize - ptr as usize },
42887        0usize,
42888        concat!(
42889            "Offset of field: ",
42890            stringify!(ethertype_data_s),
42891            "::",
42892            stringify!(etype)
42893        )
42894    );
42895    assert_eq!(
42896        unsafe { ::std::ptr::addr_of!((*ptr).payload_offset) as usize - ptr as usize },
42897        4usize,
42898        concat!(
42899            "Offset of field: ",
42900            stringify!(ethertype_data_s),
42901            "::",
42902            stringify!(payload_offset)
42903        )
42904    );
42905    assert_eq!(
42906        unsafe { ::std::ptr::addr_of!((*ptr).fh_tree) as usize - ptr as usize },
42907        8usize,
42908        concat!(
42909            "Offset of field: ",
42910            stringify!(ethertype_data_s),
42911            "::",
42912            stringify!(fh_tree)
42913        )
42914    );
42915    assert_eq!(
42916        unsafe { ::std::ptr::addr_of!((*ptr).trailer_id) as usize - ptr as usize },
42917        16usize,
42918        concat!(
42919            "Offset of field: ",
42920            stringify!(ethertype_data_s),
42921            "::",
42922            stringify!(trailer_id)
42923        )
42924    );
42925    assert_eq!(
42926        unsafe { ::std::ptr::addr_of!((*ptr).fcs_len) as usize - ptr as usize },
42927        20usize,
42928        concat!(
42929            "Offset of field: ",
42930            stringify!(ethertype_data_s),
42931            "::",
42932            stringify!(fcs_len)
42933        )
42934    );
42935}
42936pub type ethertype_data_t = ethertype_data_s;
42937extern "C" {
42938    pub fn dissector_dump_decodes();
42939}
42940extern "C" {
42941    pub fn dissector_dump_heur_decodes();
42942}
42943extern "C" {
42944    pub fn register_postdissector(handle: dissector_handle_t);
42945}
42946extern "C" {
42947    pub fn set_postdissector_wanted_hfids(handle: dissector_handle_t, wanted_hfids: *mut GArray);
42948}
42949extern "C" {
42950    pub fn deregister_postdissector(handle: dissector_handle_t);
42951}
42952extern "C" {
42953    pub fn have_postdissector() -> gboolean;
42954}
42955extern "C" {
42956    pub fn call_all_postdissectors(
42957        tvb: *mut tvbuff_t,
42958        pinfo: *mut packet_info,
42959        tree: *mut proto_tree,
42960    );
42961}
42962extern "C" {
42963    pub fn postdissectors_want_hfids() -> gboolean;
42964}
42965extern "C" {
42966    pub fn prime_epan_dissect_with_postdissector_wanted_hfids(edt: *mut epan_dissect_t);
42967}
42968pub type build_label_func =
42969    ::std::option::Option<unsafe extern "C" fn(pinfo: *mut packet_info, result: *mut gchar)>;
42970pub type build_valid_func =
42971    ::std::option::Option<unsafe extern "C" fn(pinfo: *mut packet_info) -> gpointer>;
42972pub type decode_as_add_to_list_func = ::std::option::Option<
42973    unsafe extern "C" fn(
42974        table_name: *const gchar,
42975        proto_name: *const gchar,
42976        value: gpointer,
42977        user_data: gpointer,
42978    ),
42979>;
42980pub type decode_as_populate_list_func = ::std::option::Option<
42981    unsafe extern "C" fn(
42982        table_name: *const gchar,
42983        add_to_list: decode_as_add_to_list_func,
42984        ui_element: gpointer,
42985    ),
42986>;
42987pub type decode_as_free_func = ::std::option::Option<unsafe extern "C" fn(value: gpointer)>;
42988pub type decode_as_reset_func = ::std::option::Option<
42989    unsafe extern "C" fn(name: *const gchar, pattern: gconstpointer) -> gboolean,
42990>;
42991pub type decode_as_change_func = ::std::option::Option<
42992    unsafe extern "C" fn(
42993        name: *const gchar,
42994        pattern: gconstpointer,
42995        handle: gconstpointer,
42996        list_name: *const gchar,
42997    ) -> gboolean,
42998>;
42999#[repr(C)]
43000#[derive(Debug, Copy, Clone)]
43001pub struct decode_as_value_s {
43002    pub label_func: build_label_func,
43003    pub num_values: guint,
43004    pub build_values: *mut build_valid_func,
43005}
43006#[test]
43007fn bindgen_test_layout_decode_as_value_s() {
43008    const UNINIT: ::std::mem::MaybeUninit<decode_as_value_s> = ::std::mem::MaybeUninit::uninit();
43009    let ptr = UNINIT.as_ptr();
43010    assert_eq!(
43011        ::std::mem::size_of::<decode_as_value_s>(),
43012        24usize,
43013        concat!("Size of: ", stringify!(decode_as_value_s))
43014    );
43015    assert_eq!(
43016        ::std::mem::align_of::<decode_as_value_s>(),
43017        8usize,
43018        concat!("Alignment of ", stringify!(decode_as_value_s))
43019    );
43020    assert_eq!(
43021        unsafe { ::std::ptr::addr_of!((*ptr).label_func) as usize - ptr as usize },
43022        0usize,
43023        concat!(
43024            "Offset of field: ",
43025            stringify!(decode_as_value_s),
43026            "::",
43027            stringify!(label_func)
43028        )
43029    );
43030    assert_eq!(
43031        unsafe { ::std::ptr::addr_of!((*ptr).num_values) as usize - ptr as usize },
43032        8usize,
43033        concat!(
43034            "Offset of field: ",
43035            stringify!(decode_as_value_s),
43036            "::",
43037            stringify!(num_values)
43038        )
43039    );
43040    assert_eq!(
43041        unsafe { ::std::ptr::addr_of!((*ptr).build_values) as usize - ptr as usize },
43042        16usize,
43043        concat!(
43044            "Offset of field: ",
43045            stringify!(decode_as_value_s),
43046            "::",
43047            stringify!(build_values)
43048        )
43049    );
43050}
43051pub type decode_as_value_t = decode_as_value_s;
43052#[repr(C)]
43053#[derive(Debug, Copy, Clone)]
43054pub struct decode_as_s {
43055    pub name: *const ::std::os::raw::c_char,
43056    pub table_name: *const gchar,
43057    pub num_items: guint,
43058    pub default_index_value: guint,
43059    pub values: *mut decode_as_value_t,
43060    pub pre_value_str: *const ::std::os::raw::c_char,
43061    pub post_value_str: *const ::std::os::raw::c_char,
43062    pub populate_list: decode_as_populate_list_func,
43063    pub reset_value: decode_as_reset_func,
43064    pub change_value: decode_as_change_func,
43065    pub free_func: decode_as_free_func,
43066}
43067#[test]
43068fn bindgen_test_layout_decode_as_s() {
43069    const UNINIT: ::std::mem::MaybeUninit<decode_as_s> = ::std::mem::MaybeUninit::uninit();
43070    let ptr = UNINIT.as_ptr();
43071    assert_eq!(
43072        ::std::mem::size_of::<decode_as_s>(),
43073        80usize,
43074        concat!("Size of: ", stringify!(decode_as_s))
43075    );
43076    assert_eq!(
43077        ::std::mem::align_of::<decode_as_s>(),
43078        8usize,
43079        concat!("Alignment of ", stringify!(decode_as_s))
43080    );
43081    assert_eq!(
43082        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
43083        0usize,
43084        concat!(
43085            "Offset of field: ",
43086            stringify!(decode_as_s),
43087            "::",
43088            stringify!(name)
43089        )
43090    );
43091    assert_eq!(
43092        unsafe { ::std::ptr::addr_of!((*ptr).table_name) as usize - ptr as usize },
43093        8usize,
43094        concat!(
43095            "Offset of field: ",
43096            stringify!(decode_as_s),
43097            "::",
43098            stringify!(table_name)
43099        )
43100    );
43101    assert_eq!(
43102        unsafe { ::std::ptr::addr_of!((*ptr).num_items) as usize - ptr as usize },
43103        16usize,
43104        concat!(
43105            "Offset of field: ",
43106            stringify!(decode_as_s),
43107            "::",
43108            stringify!(num_items)
43109        )
43110    );
43111    assert_eq!(
43112        unsafe { ::std::ptr::addr_of!((*ptr).default_index_value) as usize - ptr as usize },
43113        20usize,
43114        concat!(
43115            "Offset of field: ",
43116            stringify!(decode_as_s),
43117            "::",
43118            stringify!(default_index_value)
43119        )
43120    );
43121    assert_eq!(
43122        unsafe { ::std::ptr::addr_of!((*ptr).values) as usize - ptr as usize },
43123        24usize,
43124        concat!(
43125            "Offset of field: ",
43126            stringify!(decode_as_s),
43127            "::",
43128            stringify!(values)
43129        )
43130    );
43131    assert_eq!(
43132        unsafe { ::std::ptr::addr_of!((*ptr).pre_value_str) as usize - ptr as usize },
43133        32usize,
43134        concat!(
43135            "Offset of field: ",
43136            stringify!(decode_as_s),
43137            "::",
43138            stringify!(pre_value_str)
43139        )
43140    );
43141    assert_eq!(
43142        unsafe { ::std::ptr::addr_of!((*ptr).post_value_str) as usize - ptr as usize },
43143        40usize,
43144        concat!(
43145            "Offset of field: ",
43146            stringify!(decode_as_s),
43147            "::",
43148            stringify!(post_value_str)
43149        )
43150    );
43151    assert_eq!(
43152        unsafe { ::std::ptr::addr_of!((*ptr).populate_list) as usize - ptr as usize },
43153        48usize,
43154        concat!(
43155            "Offset of field: ",
43156            stringify!(decode_as_s),
43157            "::",
43158            stringify!(populate_list)
43159        )
43160    );
43161    assert_eq!(
43162        unsafe { ::std::ptr::addr_of!((*ptr).reset_value) as usize - ptr as usize },
43163        56usize,
43164        concat!(
43165            "Offset of field: ",
43166            stringify!(decode_as_s),
43167            "::",
43168            stringify!(reset_value)
43169        )
43170    );
43171    assert_eq!(
43172        unsafe { ::std::ptr::addr_of!((*ptr).change_value) as usize - ptr as usize },
43173        64usize,
43174        concat!(
43175            "Offset of field: ",
43176            stringify!(decode_as_s),
43177            "::",
43178            stringify!(change_value)
43179        )
43180    );
43181    assert_eq!(
43182        unsafe { ::std::ptr::addr_of!((*ptr).free_func) as usize - ptr as usize },
43183        72usize,
43184        concat!(
43185            "Offset of field: ",
43186            stringify!(decode_as_s),
43187            "::",
43188            stringify!(free_func)
43189        )
43190    );
43191}
43192pub type decode_as_t = decode_as_s;
43193extern "C" {
43194    pub fn register_decode_as(reg: *mut decode_as_t);
43195}
43196extern "C" {
43197    pub fn register_decode_as_next_proto(
43198        proto: ::std::os::raw::c_int,
43199        table_name: *const gchar,
43200        ui_name: *const gchar,
43201        label_func: build_label_func,
43202    ) -> *mut dissector_table;
43203}
43204extern "C" {
43205    pub fn decode_as_default_populate_list(
43206        table_name: *const gchar,
43207        add_to_list: decode_as_add_to_list_func,
43208        ui_element: gpointer,
43209    );
43210}
43211extern "C" {
43212    pub fn decode_as_default_reset(name: *const gchar, pattern: gconstpointer) -> gboolean;
43213}
43214extern "C" {
43215    pub fn decode_as_default_change(
43216        name: *const gchar,
43217        pattern: gconstpointer,
43218        handle: gconstpointer,
43219        list_name: *const gchar,
43220    ) -> gboolean;
43221}
43222extern "C" {
43223    pub static mut decode_as_list: *mut GList;
43224}
43225extern "C" {
43226    pub fn load_decode_as_entries();
43227}
43228extern "C" {
43229    pub fn save_decode_as_entries(err: *mut *mut gchar) -> ::std::os::raw::c_int;
43230}
43231extern "C" {
43232    pub fn decode_clear_all();
43233}
43234extern "C" {
43235    pub fn decode_cleanup();
43236}
43237extern "C" {
43238    pub fn decode_build_reset_list(
43239        table_name: *const gchar,
43240        selector_type: ftenum_t,
43241        key: gpointer,
43242        value: gpointer,
43243        user_data: gpointer,
43244    );
43245}
43246#[repr(C)]
43247#[derive(Debug, Copy, Clone)]
43248pub struct __locale_data {
43249    pub _address: u8,
43250}
43251pub type __builtin_va_list = [__va_list_tag; 1usize];
43252#[repr(C)]
43253#[derive(Debug, Copy, Clone)]
43254pub struct __va_list_tag {
43255    pub gp_offset: ::std::os::raw::c_uint,
43256    pub fp_offset: ::std::os::raw::c_uint,
43257    pub overflow_arg_area: *mut ::std::os::raw::c_void,
43258    pub reg_save_area: *mut ::std::os::raw::c_void,
43259}
43260#[test]
43261fn bindgen_test_layout___va_list_tag() {
43262    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
43263    let ptr = UNINIT.as_ptr();
43264    assert_eq!(
43265        ::std::mem::size_of::<__va_list_tag>(),
43266        24usize,
43267        concat!("Size of: ", stringify!(__va_list_tag))
43268    );
43269    assert_eq!(
43270        ::std::mem::align_of::<__va_list_tag>(),
43271        8usize,
43272        concat!("Alignment of ", stringify!(__va_list_tag))
43273    );
43274    assert_eq!(
43275        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
43276        0usize,
43277        concat!(
43278            "Offset of field: ",
43279            stringify!(__va_list_tag),
43280            "::",
43281            stringify!(gp_offset)
43282        )
43283    );
43284    assert_eq!(
43285        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
43286        4usize,
43287        concat!(
43288            "Offset of field: ",
43289            stringify!(__va_list_tag),
43290            "::",
43291            stringify!(fp_offset)
43292        )
43293    );
43294    assert_eq!(
43295        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
43296        8usize,
43297        concat!(
43298            "Offset of field: ",
43299            stringify!(__va_list_tag),
43300            "::",
43301            stringify!(overflow_arg_area)
43302        )
43303    );
43304    assert_eq!(
43305        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
43306        16usize,
43307        concat!(
43308            "Offset of field: ",
43309            stringify!(__va_list_tag),
43310            "::",
43311            stringify!(reg_save_area)
43312        )
43313    );
43314}
43315#[repr(C)]
43316#[derive(Debug, Copy, Clone)]
43317pub struct conversation_addr_port_endpoints {
43318    pub _address: u8,
43319}